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)

This is a bot that can type without any assistance and have incredible speed.

BulldozerType This is a bot that can type without any assistance and have incredible speed. This bot currently only works on the site https://onlinety

1 Jan 03, 2022
Ab testing - The using AB test to test of difference of conversion rate

Facebook recently introduced a new type of offer that is an alternative to the current type of bidding called maximum bidding he introduced average bidding.

5 Nov 21, 2022
Doggo Browser

Doggo Browser Quick Start $ python3 -m venv ./venv/ $ source ./venv/bin/activate $ pip3 install -r requirements.txt $ ./sobaki.py References Heavily I

Alexey Kutepov 9 Dec 12, 2022
Mockoon is the easiest and quickest way to run mock APIs locally. No remote deployment, no account required, open source.

Mockoon Mockoon is the easiest and quickest way to run mock APIs locally. No remote deployment, no account required, open source. It has been built wi

mockoon 4.4k Dec 30, 2022
Obsei is a low code AI powered automation tool.

Obsei is a low code AI powered automation tool. It can be used in various business flows like social listening, AI based alerting, brand image analysis, comparative study and more .

Obsei 782 Dec 31, 2022
A simple Python script I wrote that scrapes NASA's James Webb Space Telescope tracker website using Selenium and returns its current status and location.

A simple Python script I wrote that scrapes NASA's James Webb Space Telescope tracker website using Selenium and returns its current status and location.

9 Feb 10, 2022
Scraping Bot for the Covid19 vaccination website of the Canton of Zurich, Switzerland.

Hi 👋 , I'm David A passionate developer from France. 🌱 I’m currently learning Kotlin, ReactJS and Kubernetes 👨‍💻 All of my projects are available

1 Nov 14, 2021
Python tools for penetration testing

pyTools_PT python tools for penetration testing Please don't use these tool for illegal purposes. These tools is meant for penetration testing for leg

Gourab 1 Dec 01, 2021
UX Analytics & A/B Testing

UX Analytics & A/B Testing

Marvin EDORH 1 Sep 07, 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
A library to make concurrent selenium tests that automatically download and setup webdrivers

AutoParaSelenium A library to make parallel selenium tests that automatically download and setup webdrivers Usage Installation pip install autoparasel

Ronak Badhe 8 Mar 13, 2022
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
hCaptcha solver and bypasser for Python Selenium. Simple website to try to solve hCaptcha.

hCaptcha solver for Python Selenium. Many thanks to engageub for his hCaptcha solver userscript. This script is solely intended for the use of educati

Maxime Dréan 59 Dec 25, 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
A simple tool to test internet stability.

pingtest Description A personal project for testing internet stability, intended for use in Linux and Windows.

chris 0 Oct 17, 2021
Coverage plugin for pytest.

Overview docs tests package This plugin produces coverage reports. Compared to just using coverage run this plugin does some extras: Subprocess suppor

pytest-dev 1.4k Dec 29, 2022
Implement unittest, removing all global variable and returning values

Implement unittest, removing all global variable and returning values

Placide 1 Nov 01, 2021
Test scripts etc. for experimental rollup testing

rollup node experiments Test scripts etc. for experimental rollup testing. untested, work in progress python -m venv venv source venv/bin/activate #

Diederik Loerakker 14 Jan 25, 2022
GitHub action for AppSweep Mobile Application Security Testing

GitHub action for AppSweep can be used to continuously integrate app scanning using AppSweep into your Android app build process

Guardsquare 14 Oct 06, 2022
Kent - Fake Sentry server for local development, debugging, and integration testing

Kent is a service for debugging and integration testing Sentry.

Will Kahn-Greene 100 Dec 15, 2022