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)

Minimal example of how to use pytest with automated 'devops' style automated test runs

Pytest python example with automated testing This is a minimal viable example of pytest with an automated run of tests for every push/merge into the m

Karma Computing 2 Jan 02, 2022
A Simple Unit Test Matcher Library for Python 3

pychoir - Python Test Matchers for humans Super duper low cognitive overhead matching for Python developers reading or writing tests. Implemented in p

Antti Kajander 15 Sep 14, 2022
FakeDataGen is a Full Valid Fake Data Generator.

FakeDataGen is a Full Valid Fake Data Generator. This tool helps you to create fake accounts (in Spanish format) with fully valid data. Within this in

Joel GM 64 Dec 12, 2022
Automatically mock your HTTP interactions to simplify and speed up testing

VCR.py 📼 This is a Python version of Ruby's VCR library. Source code https://github.com/kevin1024/vcrpy Documentation https://vcrpy.readthedocs.io/ R

Kevin McCarthy 2.3k Jan 01, 2023
A pure Python script to easily get a reverse shell

easy-shell A pure Python script to easily get a reverse shell. How it works? After sending a request, it generates a payload with different commands a

Cristian Souza 48 Dec 12, 2022
Voip Open Linear Testing Suite

VOLTS Voip Open Linear Tester Suite Functional tests for VoIP systems based on voip_patrol and docker 10'000 ft. view System is designed to run simple

Igor Olhovskiy 17 Dec 30, 2022
HTTP client mocking tool for Python - inspired by Fakeweb for Ruby

HTTPretty 1.0.5 HTTP Client mocking tool for Python created by Gabriel Falcão . It provides a full fake TCP socket module. Inspired by FakeWeb Github

Gabriel Falcão 2k Jan 06, 2023
Sixpack is a language-agnostic a/b-testing framework

Sixpack Sixpack is a framework to enable A/B testing across multiple programming languages. It does this by exposing a simple API for client libraries

1.7k Dec 24, 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
Pytest plugin for testing the idempotency of a function.

pytest-idempotent Pytest plugin for testing the idempotency of a function. Usage pip install pytest-idempotent Documentation Suppose we had the follo

Tyler Yep 3 Dec 14, 2022
buX Course Enrollment Automation

buX automation BRACU - buX course enrollment automation Features: Automatically enroll into multiple courses at a time. Find courses just entering cou

Mohammad Shakib 1 Oct 06, 2022
Pynguin, The PYthoN General UnIt Test geNerator is a test-generation tool for Python

Pynguin, the PYthoN General UnIt test geNerator, is a tool that allows developers to generate unit tests automatically.

Chair of Software Engineering II, Uni Passau 997 Jan 06, 2023
UX Analytics & A/B Testing

UX Analytics & A/B Testing

Marvin EDORH 1 Sep 07, 2021
Front End Test Automation with Pytest Framework

Front End Test Automation Framework with Pytest Installation and running instructions: 1. To install the framework on your local machine: clone the re

Sergey Kolokolov 2 Jun 17, 2022
A friendly wrapper for modern SQLAlchemy and Alembic

A friendly wrapper for modern SQLAlchemy (v1.4 or later) and Alembic. Documentation: https://jpsca.github.io/sqla-wrapper/ Includes: A SQLAlchemy wrap

Juan-Pablo Scaletti 129 Nov 28, 2022
Testing Calculations in Python, using OOP (Object-Oriented Programming)

Testing Calculations in Python, using OOP (Object-Oriented Programming) Create environment with venv python3 -m venv venv Activate environment . venv

William Koller 1 Nov 11, 2021
pytest plugin for testing mypy types, stubs, and plugins

pytest plugin for testing mypy types, stubs, and plugins Installation This package is available on PyPI pip install pytest-mypy-plugins and conda-forg

TypedDjango 74 Dec 31, 2022
The Good Old Days. | Testing Out A New Module-

The-Good-Old-Days. The Good Old Days. | Testing Out A New Module- Installation Asciimatics supports Python versions 2 & 3. For the precise list of tes

Syntax. 2 Jun 08, 2022
A automated browsing experience.

browser-automation This app is an automated browsing technique where one has to enter the required information, it's just like searching for Animals o

Ojas Barawal 3 Aug 04, 2021
MultiPy lets you conveniently keep track of your python scripts for personal use or showcase by loading and grouping them into categories. It allows you to either run each script individually or together with just one click.

MultiPy About MultiPy is a graphical user interface built using Dear PyGui Python GUI Framework that lets you conveniently keep track of your python s

56 Oct 29, 2022