Skip to main content

Big Friggin Gun (BFG)

BFG is a simple modular framework to perform brute-force attacks. It uses the BruteLoops library for the brute force and database management logic.

command-example

Features

  • SQLite Datastore
    • Authentication data/requests are maintained in an SQLite database.
    • Query capabilities enable granular timing configurations.
    • Facilitates safe, resumable attacks.
    • Database management tools are embedded in BFG via BruteLoops
      • Run bfg cli manage-db --help.
  • BruteLoops Capabilities
    • Resumable attacks that do not repeat previous guesses.
    • Simultaneous support for password spraying and credential stuffing.
    • Parallel guessing.
    • Lockout avoidance via two layers of jitter configurations.
    • User/password prioritization.
    • Universal protocol/application capabilities.
    • Granular logging:
      • Lockouts happen. It's part of life.
      • BruteLoops provides a log record for each guess, along with timestamp.
      • Allows operators to reconstruct a timeline of events if things go bad.
  • Modular Framework
    • Simple class-based modules provide reusable arguments/components.
  • YAML Attack/Database Profiles
    • YAML files can be used to supply configuration values to BFG.
    • Avoids complex command line flags.

Docker Support

A compose file is available for this project. See this document for more information.

Supported Platforms

Only Linux is supported at the moment, however a Docker implementation will soon follow.

Quick Install

pip3 install bl-bfg

Then confirm installation:

bfg --help

Documentation

See the docs directory for additional documentation:

Current Attack Modules

Below are the attack modules currently in BFG.

Most people will be interested in http.o365_graph as it can be used to attack login.microsoftonline.com.

http.accellion_ftp  Accellion FTP HTTP interface login module
http.adfs           Active Directory Federated Services
http.basic_digest   Generic HTTP basic digest auth
http.basic_ntlm     Generic HTTP basic NTLM authentication
http.global_protect Global Protect web interface
http.lync           Brute force Microsoft Lync.
http.mattermost     Mattermost login web interface
http.netwrix        Netwrix web login
http.o365_graph     Office365 Graph API
http.okta           Okta JSON API
http.owa2010        OWA 2010 web interface
http.owa2016        OWA 2016 web interface
http.sap_webdynpro  SAP Netweaver Webdynpro, ver. 7.3007.20120613105137.0000
smb.smb             Target a single SMB server
testing.fake        Fake authentication module for training/testing

Metadata

Release files for bl-bfg 1.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bl-bfg 1.0.4
File Size Uploaded Provenance Actions
bl-bfg-1.0.4.tar.gz 97.2 kB Without provenance Details for bl-bfg-1.0.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for bl-bfg 1.0.4
File Interpreter ABI Platform Actions
bl_bfg-1.0.4-py3-none-any.whl Python 3 none any Details for bl_bfg-1.0.4-py3-none-any.whl

Total release size: 210.5 kB

Release files / bl-bfg-1.0.4.tar.gz

Download URL bl-bfg-1.0.4.tar.gz
Size 97.2 kB
Tags Source
SHA-256 checksum
How to use checksums
8d038b1f42ad7a3b861161719abbe3e0cb087fcb39565d06fa66eb7e3ff8fe99
BLAKE2b-256 checksum
How to use checksums
2e306f4b654a848bc5f1d805abf1cfe20389e3230d35f4814220561a96183a18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Release files / bl_bfg-1.0.4-py3-none-any.whl

Download URL bl_bfg-1.0.4-py3-none-any.whl
Size 113.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
91f93ff970bd07bd22b0d20a146b72c5ab4ffa48cce69979802116827cf5fd61
BLAKE2b-256 checksum
How to use checksums
566a6e669e32bddeab466a17a8d49ca5cf44e486bccfcb460a886f1bba581c90
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.18

Security for bl-bfg 1.0.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page