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)

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
Compiles python selenium script to be a Window's executable

Problem Statement Setting up a Python project can be frustrating for non-developers. From downloading the right version of python, setting up virtual

Jerry Ng 8 Jan 09, 2023
Test for generating stylized circuit traces from images

I test of an image processing idea to take an image and make neat circuit board art automatically. Inspired by this twitter post by @JackRhysider

Miller Hooks 3 Dec 12, 2022
Simple frontend TypeScript testing utility

TSFTest Simple frontend TypeScript testing utility. Installation Install webpack in your project directory: npm install --save-dev webpack webpack-cli

2 Nov 09, 2021
Cornell record & replay mock server

Cornell: record & replay mock server Cornell makes it dead simple, via its record and replay features to perform end-to-end testing in a fast and isol

HiredScoreLabs 134 Sep 15, 2022
A simple serverless create api test repository. Please Ignore.

serverless-create-api-test A simple serverless create api test repository. Please Ignore. Things to remember: Setup workflow Change Name in workflow e

Sarvesh Bhatnagar 1 Jan 18, 2022
Automação de Processos (obtenção de informações com o Selenium), atualização de Planilha e Envio de E-mail.

Automação de Processo: Código para acompanhar o valor de algumas ações na B3. O código entra no Google Drive, puxa os valores das ações (pré estabelec

Hemili Beatriz 1 Jan 08, 2022
Instagram unfollowing bot. If this script is executed that specific accounts following will be reduced

Instagram-Unfollower-Bot Instagram unfollowing bot. If this script is executed that specific accounts following will be reduced.

Biswarup Bhattacharjee 1 Dec 24, 2021
A collection of testing examples using pytest and many other libreris

Effective testing with Python This project was created for PyConEs 2021 Check out the test samples at tests Check out the slides at slides (markdown o

Héctor Canto 10 Oct 23, 2022
Fills out the container extension form automatically. (Specific to IIT Ropar)

automated_container_extension Fills out the container extension form automatically. (Specific to IIT Ropar) Download the chrome driver from the websit

Abhishek Singh Sambyal 1 Dec 24, 2021
pytest plugin to test mypy static type analysis

pytest-mypy-testing — Plugin to test mypy output with pytest pytest-mypy-testing provides a pytest plugin to test that mypy produces a given output. A

David Fritzsche 21 Dec 21, 2022
create custom test databases that are populated with fake data

About Generate fake but valid data filled databases for test purposes using most popular patterns(AFAIK). Current support is sqlite, mysql, postgresql

Emir Ozer 2.2k Jan 04, 2023
HTTP traffic mocking and testing made easy in Python

pook Versatile, expressive and hackable utility library for HTTP traffic mocking and expectations made easy in Python. Heavily inspired by gock. To ge

Tom 305 Dec 23, 2022
API mocking with Python.

apyr apyr (all lowercase) is a simple & easy to use mock API server. It's great for front-end development when your API is not ready, or when you are

Umut Seven 55 Nov 25, 2022
Fully functioning price detector built with selenium and python

Fully functioning price detector built with selenium and python

mark sikaundi 4 Mar 30, 2022
Aioresponses is a helper for mock/fake web requests in python aiohttp package.

aioresponses Aioresponses is a helper to mock/fake web requests in python aiohttp package. For requests module there are a lot of packages that help u

402 Jan 06, 2023
0hh1 solver for the web (selenium) and also for mobile (adb)

0hh1 - Solver Aims to solve the '0hh1 puzzle' for all the sizes (4x4, 6x6, 8x8, 10x10 12x12). for both the web version (using selenium) and on android

Adwaith Rajesh 1 Nov 05, 2021
Android automation project with pytest+appium

Android automation project with pytest+appium

1 Oct 28, 2021
WIP SAT benchmarking tooling, written with only my personal use in mind.

SAT Benchmarking Some early work in progress tooling for running benchmarks and keeping track of the results when working on SAT solvers and related t

Jannis Harder 1 Dec 26, 2021
MongoDB panel for the Flask Debug Toolbar

Flask Debug Toolbar MongoDB Panel Info: An extension panel for Rob Hudson's Django Debug Toolbar that adds MongoDB debugging information Author: Harry

Cenk Altı 4 Dec 11, 2019