A Modular Penetration Testing Framework

Overview

fsociety Python Version PyPi GitHub repo size PyPI - Downloads Docker Cloud build

A Modular Penetration Testing Framework

Packages Changelog

fsociety

cli

Install

pip install fsociety

Update

pip install --upgrade fsociety

Usage

usage: fsociety [-h] [-i] [-s]

A Penetration Testing Framework

optional arguments:
  -h, --help     show this help message and exit
  -i, --info     gets fsociety info
  -s, --suggest  suggest a tool

Develop

git clone https://github.com/fsociety-team/fsociety.git
pip install -e ".[dev]"

Docker

docker pull fsocietyteam/fsociety
docker run -it fsocietyteam/fsociety fsociety

License

License

Twitter Follow Twitter Follow

Comments
  • 'Text' object has no attribute 'stylize_all'

    'Text' object has no attribute 'stylize_all'

    Which Tool? A clear and concise description of what the bug is. information_gathering category

    What is the error? Stacktrace:

    'Text' object has no attribute 'stylize_all'
    ╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
    │ /home/marcin/.local/lib/python3.8/site-packages/fsociety/cli.py:133 in mainloop                  │
    │                                                                                                  │
    │   130 │   │   return func()                                                                      │
    │   131 │   try:                                                                                   │
    │   132 │   │   func = items[selected_command].cli                                                 │
    │ ❱ 133 │   │   return func()                                                                      │
    │   134 │   except Exception as error:                                                             │
    │   135 │   │   console.print(str(error))                                                          │
    │   136 │   │   console.print_exception()                                                          │
    │                                                                                                  │
    │ /home/marcin/.local/lib/python3.8/site-packages/fsociety/information_gathering/cli.py:17 in cli  │
    │                                                                                                  │
    │   14                                                                                             │
    │   15                                                                                             │
    │   16 def cli():                                                                                  │
    │ ❱ 17 │   tools_cli(__name__, __tools__)                                                          │
    │                                                                                                  │
    │ /home/marcin/.local/lib/python3.8/site-packages/fsociety/core/menu.py:95 in tools_cli            │
    │                                                                                                  │
    │    92 │   │   args = [str(tool), tool.description]                                               │
    │    93 │   │   if links:                                                                          │
    │    94 │   │   │   text_link = Text(f"{tool.path}")                                               │
    │ ❱  95 │   │   │   text_link.stylize_all(                                                         │
    │    96 │   │   │   │   Style(link=f"https://github.com/{tool.path}"))                             │
    │    97 │   │   │   args.append(text_link)                                                         │
    │    98 │   │   table.add_row(*args)                                                               │
    ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
    AttributeError: 'Text' object has no attribute 'stylize_all'
    
    

    fsociety info Run fsociety --info in your terminal and copy the results here.

    # Config File
    
    version = 3.2.3
    agreement = true
    ssh_clone = false
    os = linux
    host_file = hosts.txt
    usernames_file = usernames.txt
    
    # Python Version
    3.8.4
    
    # Platform
    Linux-5.7.0-kali1-amd64-x86_64-with-glibc2.29
    
    bug 
    opened by MarcinK50 5
  • TaWP

    TaWP

    Link to Tool https://github.com/tomrichard3011/TaWP

    Why? I was inspired to create this tool from a scene in Mr. Robot. You may remember when Elliot uses a social engineering attack to get some personal information on someone and create a word list for that specific person. My tool does the same kind of thing. I understand my tool isn't very useful, but I thought I should submit it since both my tool and your framework have the same source of inspiration. Thank you for your time.

    P.S. If you have any suggestions or comments for my tool, feel free to let me know.

    tool stale 
    opened by tomrichard3011 4
  • bash: /usr/local/bin/fsociety: No such file or directory

    bash: /usr/local/bin/fsociety: No such file or directory

    pip install fsociety Defaulting to user installation because normal site-packages is not writeable Collecting fsociety Using cached fsociety-3.2.8-py2.py3-none-any.whl (26 kB) Requirement already satisfied: rich>=9.2.0 in /home/utkarsh/.local/lib/python3.10/site-packages (from fsociety) (12.6.0) Requirement already satisfied: distro>=1.7.0 in /usr/lib/python3/dist-packages (from fsociety) (1.7.0) Requirement already satisfied: requests>=2.23.0 in /usr/lib/python3/dist-packages (from fsociety) (2.25.1) Requirement already satisfied: GitPython>=3.1.3 in /home/utkarsh/.local/lib/python3.10/site-packages (from fsociety) (3.1.29) Requirement already satisfied: gitdb<5,>=4.0.1 in /home/utkarsh/.local/lib/python3.10/site-packages (from GitPython>=3.1.3->fsociety) (4.0.9) Requirement already satisfied: commonmark<0.10.0,>=0.9.0 in /home/utkarsh/.local/lib/python3.10/site-packages (from rich>=9.2.0->fsociety) (0.9.1) Requirement already satisfied: pygments<3.0.0,>=2.6.0 in /home/utkarsh/.local/lib/python3.10/site-packages (from rich>=9.2.0->fsociety) (2.13.0) Requirement already satisfied: smmap<6,>=3.0.1 in /home/utkarsh/.local/lib/python3.10/site-packages (from gitdb<5,>=4.0.1->GitPython>=3.1.3->fsociety) (5.0.0) Installing collected packages: fsociety Successfully installed fsociety-3.2.8

    opened by TrixCoder 2
  • Sherlock is not working (for me at least)

    Sherlock is not working (for me at least)

    Tool: Sherlock

    Description: It doesn't execute the command because of an error.

    Error: sherlock: error: unrecognized arguments: -r

    Log:

    fsociety ~/information_gathering/# sherlock
    
    Enter one or more usernames: Demo
    usage: sherlock [-h] [--version] [--verbose] [--folderoutput FOLDEROUTPUT]
                    [--output OUTPUT] [--tor] [--unique-tor] [--csv]
                    [--site SITE_NAME] [--proxy PROXY_URL] [--json JSON_FILE]
                    [--timeout TIMEOUT] [--print-all] [--print-found]
                    [--no-color] [--browse] [--local]
                    USERNAMES [USERNAMES ...]
    sherlock: error: unrecognized arguments: -r
    sherlock returned a non-zero exit code
    

    Fsociety information

    # Config File
    
    version = 3.2.5
    agreement = true
    ssh_clone = false
    os = linux
    host_file = hosts.txt
    usernames_file = usernames.txt
    
    # Python Version
    3.9.2
    
    # Platform
    Linux-5.10.0-kali7-amd64-x86_64-with-glibc2.31
    
    bug 
    opened by RobinRMC 2
  • chore(deps-dev): bump flake8 from 4.0.1 to 5.0.3

    chore(deps-dev): bump flake8 from 4.0.1 to 5.0.3

    Bumps flake8 from 4.0.1 to 5.0.3.

    Commits
    • ff6569b Release 5.0.3
    • e76b59a Merge pull request #1648 from PyCQA/invalid-syntax-partial-parse
    • 25e8ff1 ignore config files that partially parse as flake8 configs
    • 70c0b3d Release 5.0.2
    • 5e69ba9 Merge pull request #1642 from PyCQA/no-home
    • 8b51ee4 skip skipping home if home does not exist
    • 446b18d Merge pull request #1641 from PyCQA/entry-points-not-pickleable
    • b70d7a2 work around un-pickleabiliy of EntryPoint in 3.8.0
    • 91a7fa9 fix order of release notes
    • 405cfe0 Release 5.0.1
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • chore(deps-dev): bump flake8 from 4.0.1 to 5.0.1

    chore(deps-dev): bump flake8 from 4.0.1 to 5.0.1

    Bumps flake8 from 4.0.1 to 5.0.1.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • sherlock bug? I've updated as well

    sherlock bug? I've updated as well

    sherlock gives this error: 'python3' is not recognized as an internal or external command, operable program or batch file. sherlock returned a non-zero exit code Do you want to reinstall? (y/n):

    fsoc info: version = 3.2.6 agreement = true ssh_clone = false os = windows host_file = hosts.txt usernames_file = usernames.txt

    Python Version

    3.9.5

    Windows

    10

    bug 
    opened by PrometheusPy 1
  • chore(deps-dev): bump flake8-simplify from 0.14.2 to 0.14.5

    chore(deps-dev): bump flake8-simplify from 0.14.2 to 0.14.5

    Bumps flake8-simplify from 0.14.2 to 0.14.5.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • Stand alone

    Stand alone

    Attempting to install fsociety onto a stand alone network that has no internet connectivity. Have downloaded all files on the GitHub, and attempted to modify the install.sh to install fsociety and it fails out. Any help welcome!!

    enhancement 
    opened by philsoma41 1
  • chore(deps-dev): bump pre-commit from 2.20.0 to 2.21.0

    chore(deps-dev): bump pre-commit from 2.20.0 to 2.21.0

    Bumps pre-commit from 2.20.0 to 2.21.0.

    Release notes

    Sourced from pre-commit's releases.

    pre-commit v2.21.0

    Features

    Fixes

    Changelog

    Sourced from pre-commit's changelog.

    2.21.0 - 2022-12-25

    Features

    Fixes

    Commits
    • 40c5bda v2.21.0
    • bb27ea3 Merge pull request #2642 from rkm/fix/dotnet-nuget-config
    • c38e0c7 dotnet: ignore nuget source during tool install
    • bce513f Merge pull request #2641 from rkm/fix/dotnet-tool-prefix
    • e904628 fix dotnet hooks with prefixes
    • d7b8b12 Merge pull request #2646 from pre-commit/pre-commit-ci-update-config
    • 94b6178 [pre-commit.ci] pre-commit autoupdate
    • b474a83 Merge pull request #2643 from pre-commit/pre-commit-ci-update-config
    • a179808 [pre-commit.ci] pre-commit autoupdate
    • 3aa6206 Merge pull request #2605 from lorenzwalthert/r/fix-exe
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • chore(deps-dev): bump isort from 5.11.3 to 5.11.4

    chore(deps-dev): bump isort from 5.11.3 to 5.11.4

    Bumps isort from 5.11.3 to 5.11.4.

    Release notes

    Sourced from isort's releases.

    5.11.4

    Changes

    :package: Dependencies

    Changelog

    Sourced from isort's changelog.

    5.11.4 December 21 2022

    Commits
    • 98390f5 Merge pull request #2059 from PyCQA/version/5.11.4
    • df69a05 Bump version 5.11.4
    • f9add58 Merge pull request #2058 from PyCQA/deps/poetry-1.3.1
    • 36caa91 Bump Poetry 1.3.1
    • 3c2e2d0 Merge pull request #1978 from mgorny/toml-test
    • 45d6abd Remove obsolete toml import from the test suite
    • 3020e0b Merge pull request #2057 from mgorny/poetry-install
    • a6fdbfd Stop installing documentation files to top-level site-packages
    • ff306f8 Fix tag template to match old standard
    • 227c4ae Merge pull request #2052 from hugovk/main
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • [Snyk] Security upgrade python from 3.11.0b5-alpine to 3.11-alpine

    [Snyk] Security upgrade python from 3.11.0b5-alpine to 3.11-alpine

    This PR was automatically created by Snyk using the credentials of a real user.


    Keeping your Docker base image up-to-date means you’ll benefit from security fixes in the latest version of your chosen image.

    Changes included in this PR

    • Dockerfile

    We recommend upgrading to python:3.11-alpine, as this image has only 0 known vulnerabilities. To do this, merge this pull request, then verify your application still works as expected.

    Some of the most important vulnerabilities in your base image include:

    | Severity | Priority Score / 1000 | Issue | Exploit Maturity | | :------: | :-------------------- | :---- | :--------------- | | critical severity | 500 | Use After Free
    SNYK-ALPINE316-EXPAT-3028183 | No Known Exploit |


    Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

    For more information: 🧐 View latest project report

    🛠 Adjust project settings


    Learn how to fix vulnerabilities with free interactive lessons:

    🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

    stale 
    opened by thehappydinoa 1
Releases(v3.2.8)
  • v3.2.8(Sep 6, 2022)

    What's Changed

    • Update Dockerfile and Docs in https://github.com/fsociety-team/fsociety/pull/100

    Full Changelog: https://github.com/fsociety-team/fsociety/compare/v3.2.7...v3.2.8

    Source code(tar.gz)
    Source code(zip)
  • v3.2.7(May 1, 2022)

    What's Changed

    • [Snyk] Security upgrade python from 3-alpine to 3.11.0a5-alpine by @snyk-bot in https://github.com/fsociety-team/fsociety/pull/61
    • [Snyk] Security upgrade python from 3.11.0a5-alpine to 3.11.0a6-alpine by @snyk-bot in https://github.com/fsociety-team/fsociety/pull/72
    • [Snyk] Security upgrade python from 3.11.0a6-alpine to 3.11.0a7-alpine by @thehappydinoa in https://github.com/fsociety-team/fsociety/pull/73
    • feat: add traitor by @TobiTenno in https://github.com/fsociety-team/fsociety/pull/75

    Full Changelog: https://github.com/fsociety-team/fsociety/compare/v3.2.6...v3.2.7

    Source code(tar.gz)
    Source code(zip)
  • v3.2.6(Sep 29, 2021)

  • v3.2.4(Nov 13, 2020)

A pytest plugin that enables you to test your code that relies on a running Elasticsearch search engine

pytest-elasticsearch What is this? This is a pytest plugin that enables you to test your code that relies on a running Elasticsearch search engine. It

Clearcode 65 Nov 10, 2022
Ward is a modern test framework for Python with a focus on productivity and readability.

Ward is a modern test framework for Python with a focus on productivity and readability.

Darren Burns 1k Dec 31, 2022
WEB PENETRATION TESTING TOOL 💥

N-WEB ADVANCE WEB PENETRATION TESTING TOOL Features 🎭 Admin Panel Finder Admin Scanner Dork Generator Advance Dork Finder Extract Links No Redirect H

56 Dec 23, 2022
Network automation lab using nornir, scrapli, and containerlab with Arista EOS

nornir-scrapli-eos-lab Network automation lab using nornir, scrapli, and containerlab with Arista EOS. Objectives Deploy base configs to 4xArista devi

Vireak Ouk 13 Jul 07, 2022
WomboAI Art Generator

WomboAI Art Generator Automate AI art generation using wombot.art. Also integrated into SnailBot for you to try out. Setup Install Python Go to the py

nbee 7 Dec 03, 2022
pytest plugin for a better developer experience when working with the PyTorch test suite

pytest-pytorch What is it? pytest-pytorch is a lightweight pytest-plugin that enhances the developer experience when working with the PyTorch test sui

Quansight 39 Nov 18, 2022
It's a simple script to generate a mush on code forces, the script will accept the public problem urls only or polygon problems.

Codeforces-Sheet-Generator It's a simple script to generate a mushup on code forces, the script will accept the public problem urls only or polygon pr

Ahmed Hossam 10 Aug 02, 2022
a socket mock framework - for all kinds of socket animals, web-clients included

mocket /mɔˈkɛt/ A socket mock framework for all kinds of socket animals, web-clients included - with gevent/asyncio/SSL support ...and then MicroPytho

Giorgio Salluzzo 249 Dec 14, 2022
A set of pytest fixtures to test Flask applications

pytest-flask An extension of pytest test runner which provides a set of useful tools to simplify testing and development of the Flask extensions and a

pytest-dev 433 Dec 23, 2022
Free cleverbot without headless browser

Cleverbot Scraper Simple free cleverbot library that doesn't require running a heavy ram wasting headless web browser to actually chat with the bot, a

Matheus Fillipe 3 Sep 25, 2022
Selenium Page Object Model with Python

Page-object-model (POM) is a pattern that you can apply it to develop efficient automation framework.

Mohammad Ifran Uddin 1 Nov 29, 2021
Public repo for automation scripts

Script_Quickies Public repo for automation scripts Dependencies Chrome webdriver .exe (make sure it matches the version of chrome you are using) Selen

CHR-onicles 1 Nov 04, 2021
Doing dirty (but extremely useful) things with equals.

Doing dirty (but extremely useful) things with equals. Documentation: dirty-equals.helpmanual.io Source Code: github.com/samuelcolvin/dirty-equals dir

Samuel Colvin 602 Jan 05, 2023
Selenium Manager

SeleniumManager I'm fed up with always having to struggle unnecessarily when I have to use Selenium on a new machine, so I made this little python mod

Victor Vague 1 Dec 24, 2021
Tutorial for integrating Oxylabs' Residential Proxies with Selenium

Oxylabs’ Residential Proxies integration with Selenium Requirements For the integration to work, you'll need to install Selenium on your system. You c

Oxylabs.io 8 Dec 08, 2022
The successor to nose, based on unittest2

Welcome to nose2 nose2 is the successor to nose. It's unittest with plugins. nose2 is a new project and does not support all of the features of nose.

736 Dec 16, 2022
PacketPy is an open-source solution for stress testing network devices using different testing methods

PacketPy About PacketPy is an open-source solution for stress testing network devices using different testing methods. Currently, there are only two c

4 Sep 22, 2022
Scalable user load testing tool written in Python

Locust Locust is an easy to use, scriptable and scalable performance testing tool. You define the behaviour of your users in regular Python code, inst

Locust.io 20.4k Jan 04, 2023
Implement unittest, removing all global variable and returning values

Implement unittest, removing all global variable and returning values

Placide 1 Nov 01, 2021