Torna agli aggiornamenti
New releaseAug 24, 2026

bbot v3.0.2

Lo scanner internet ricorsivo per hacker. 🧡

Condividi

bbot_banner

Python Version License PyPi Downloads Ruff Tests Codecov Discord

BEE·bot è uno scanner multiuso ispirato a Spiderfoot, progettato per automatizzare le tue Recon, Bug Bounty e ASM!

https://github.com/blacklanternsecurity/bbot/assets/20261699/e539e89b-92ea-46fa-b893-9cde94eebf81

Una scansione BBOT in tempo reale - visualizzazione con VivaGraphJS

Installazione

# stable version
pipx install bbot

# bleeding edge (dev branch)
pipx install --pip-args '\--pre' bbot

Per altri metodi di installazione, incluso Docker, consulta Per Iniziare

Stai aggiornando dalla 2.x? BBOT 3.0 contiene modifiche incompatibili alla CLI, ai preset, ai moduli, agli eventi e all'API Python. Consulta la Guida alla migrazione 2.x → 3.0 (fonte) prima di aggiornare.

Consiglio sulla velocità: Il risolutore DNS di BBOT (blastdns) fa partire più thread per ogni resolver in /etc/resolv.conf. Aggiungere più resolver non filtrati accelera notevolmente le scansioni. Consulta il resolv.conf di esempio e Suggerimenti e Trucchi per i dettagli.

Comandi di Esempio

1) Trova Sottodomini

Sorgenti API passive più un brute-force DNS ricorsivo con mutazioni dei sottodomini specifiche per il target.

# find subdomains of evilcorp.com
bbot -t evilcorp.com -p subdomain-enum

# passive sources only
bbot -t evilcorp.com -p subdomain-enum -rf passive
subdomain-enum.yml
description: Enumerate subdomains via APIs, brute-force

flags:
  # enable every module with the subdomain-enum flag
  - subdomain-enum

output_modules:
  # output unique subdomains to TXT file
  - subdomains

config:
  dns:
    threads: 25
    brute_threads: 1000
  # put your API keys here
  # modules:
  #   github:
  #     api_key: ""
  #   chaos:
  #     api_key: ""
  #   securitytrails:
  #     api_key: ""

BBOT trova costantemente il 20-50% di sottodomini in più rispetto ad altri strumenti. Più grande è il dominio, maggiore è la differenza. Per capire come è possibile, consulta Come Funziona.

subdomain-stats-ebay

2) Web Spider

# crawl evilcorp.com, extracting emails and other goodies
bbot -t evilcorp.com -p spider
spider.yml
description: Recursive web spider

modules:
  - http

blacklist:
  # Prevent spider from invalidating sessions by logging out
  - "RE:/.*(sign|log)[_-]?out"

config:
  web:
    # how many links to follow in a row
    spider_distance: 2
    # don't follow links whose directory depth is higher than 4
    spider_depth: 4
    # maximum number of links to follow per page
    spider_links_per_page: 25

3) Raccoglitore di Email

# quick email enum with free APIs + scraping
bbot -t evilcorp.com -p email-enum

# pair with subdomain enum + web spider for maximum yield
bbot -t evilcorp.com -p email-enum subdomain-enum spider
email-enum.yml
description: Enumerate email addresses from APIs, web crawling, etc.

flags:
  - email-enum

output_modules:
  - emails

4) Scanner Web

# run a light web scan against www.evilcorp.com
bbot -t www.evilcorp.com -p web

# run a heavy web scan against www.evilcorp.com
bbot -t www.evilcorp.com -p web-heavy
web.yml
description: Quick web scan

include:
  - iis-shortnames

flags:
  - web

web-heavy.yml
description: Aggressive web scan

include:
  # include the web preset
  - web

flags:
  - web-heavy

5) Tutto Ovunque e Subito

# everything everywhere all at once
bbot -t evilcorp.com -p kitchen-sink

# roughly equivalent to:
bbot -t evilcorp.com -p subdomain-enum cloud-enum code-enum email-enum spider web paramminer webbrute web-screenshots
kitchen-sink.yml
description: Everything everywhere all at once

include:
  - subdomain-enum
  - cloud-enum
  - code-enum
  - email-enum
  - spider
  - web
  - paramminer
  - webbrute
  - web-screenshots
  - baddns-heavy

config:
  modules:
    dnsbrute:
      recursive_mutations: true
    dnscommonsrv:
      recursive_mutations: true
    webbrute:
      avoid_wafs: False
    wayback:
      urls: True
      parameters: True
      archive: True

Come Funziona

Fai clic sul grafico qui sotto per esplorare il funzionamento interno di BBOT.

immagine

Moduli di Output

...e altro!

BBOT come Libreria Python

Sincrono

from bbot.scanner import Scanner

if __name__ == "__main__":
    scan = Scanner("evilcorp.com", presets=["subdomain-enum"])
    for event in scan.start():
        print(event)

Asincrono

from bbot.scanner import Scanner


async def main():
    scan = Scanner("evilcorp.com", presets=["subdomain-enum"])
    async for event in scan.async_start():
        print(event.json())


if __name__ == "__main__":
    import asyncio

    asyncio.run(main())
VEDI: Questo Malefico Bot Discord

Un Bot Discord BBOT che risponde al comando /scan. Scansiona internet dalla comodità del tuo server Discord!

bbot-discord

Panoramica delle Funzionalità

  • Supporto per più target
  • Screenshot Web
  • Suite di moduli web offensivi
  • Mutazioni dei sottodomini basate su NLP
  • Output nativo verso Neo4j (e altro)
  • Installazione automatica delle dipendenze con Ansible
  • Cerca nell'intera superficie d'attacco con regole YARA personalizzate
  • API Python + Documentazione per sviluppatori

Target

BBOT accetta un numero illimitato di target tramite -t. Puoi specificare i target direttamente dalla riga di comando o tramite file (o entrambi!):

bbot -t evilcorp.com evilcorp.org 1.2.3.0/24 -p subdomain-enum

I target possono essere uno dei seguenti:

  • Nome DNS (evilcorp.com)
  • Indirizzo IP (1.2.3.4)
  • Intervallo IP (1.2.3.0/24)
  • Porta TCP aperta (192.168.0.1:80)
  • URL (https://www.evilcorp.com)
  • Indirizzo email ([email protected])
  • Organizzazione (ORG:evilcorp)
  • Nome utente (USER:bobsmith)
  • Filesystem (FILESYSTEM:/tmp/asdf)
  • App mobile (MOBILE_APP:https://play.google.com/store/apps/details?id=com.evilcorp.app)

Per maggiori informazioni, consulta Target. Per scoprire come BBOT gestisce lo scope, consulta Scope.

Chiavi API

Simile ad Amass o Subfinder, BBOT supporta chiavi API per vari servizi di terze parti come SecurityTrails, ecc.

Il metodo standard per farlo è inserire le tue chiavi API in ~/.config/bbot/secrets.yml. Nota che sono ammesse più chiavi API:

modules:
  shodan_dns:
    api_key: 4f41243847da693a4f356c0486114bc6
  c99:
    # multiple API keys
    api_key:
      - 21a270d5f59c9b05813a72bb41707266
      - ea8f243d9885cf8ce9876a580224fd3c
      - 5bc6ed268ab6488270e496d3183a1a27
  virustotal:
    api_key: dd5f0eee2e4a99b71a939bded450b246
  securitytrails:
    api_key: d9a05c3fd9a514497713c54b4455d0b0

Se preferisci, puoi specificarle anche dalla riga di comando:

bbot -c modules.virustotal.api_key=dd5f0eee2e4a99b71a939bded450b246

Per i dettagli, consulta Configurazione.

Elenchi completi di Moduli, Flag, ecc.

Documentazione

Contributi

Alcuni dei migliori moduli BBOT sono stati scritti dalla community. BBOT è in costante miglioramento; ogni giorno diventa più potente!

Siamo aperti ai contributi. Non solo codice, ma anche idee! Se hai un'idea per una nuova funzionalità, faccelo sapere in Discussioni. Se vuoi metterti all'opera, consulta Contributi. Lì troverai istruzioni di configurazione e un semplice tutorial su come scrivere un modulo BBOT. Abbiamo anche un'ampia Documentazione per Sviluppatori.

Grazie a queste fantastiche persone per aver contribuito a BBOT! ❤️

Un ringraziamento speciale a:

  • @TheTechromancer per aver creato BBOT
  • @liquidsec per il suo ampio lavoro sulle funzionalità di hacking web di BBOT, inclusi badsecrets e baddns
  • Steve Micallef (@smicallef) per aver creato Spiderfoot
  • @kerrymilan per la sua esperienza con Neo4j e Ansible
  • @domwhewell-sage per la sua famiglia di moduli tosti per il saccheggio del codice
  • @aconite33 e @amiremami per i loro test spietati
  • Aleksei Kornev (@alekseiko) per averci concesso la proprietà del repository bbot su Pypi <3

Categorie