
bbot v3.0.1
Lo scanner internet ricorsivo per hacker. 🧡
BEE·bot è uno scanner multiuso ispirato a Spiderfoot, progettato per automatizzare la tua Recon, i tuoi Bug Bounty e il tuo ASM!
https://github.com/blacklanternsecurity/bbot/assets/20261699/e539e89b-92ea-46fa-b893-9cde94eebf81
Una scansione BBOT in tempo reale - visualizzazione con VivaGraphJS
Installazione
# versione stabile
pipx install bbot
# bleeding edge (branch dev)
pipx install --pip-args '\--pre' bbot
Per ulteriori metodi di installazione, incluso Docker, consulta Per Iniziare
Aggiornamento dalla 2.x? BBOT 3.0 contiene modifiche che rompono la compatibilità con CLI, preset, moduli, eventi e API Python. Consulta la Guida alla migrazione 2.x → 3.0 (sorgente) prima di aggiornare.
Consiglio sulla velocità: Il resolver DNS di BBOT (blastdns) avvia più thread per ogni resolver in
/etc/resolv.conf. Aggiungere più resolver non filtrati accelera notevolmente le scansioni. Vedi il resolv.conf di esempio e Suggerimenti e trucchi per i dettagli.
Comandi di Esempio
1) Ricerca di Sottodomini
Fonti API passive più un brute-force DNS ricorsivo con mutazioni di sottodomini specifiche per il target.
# trova i sottodomini di evilcorp.com
bbot -t evilcorp.com -p subdomain-enum
# solo fonti passive
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 scoprire come è possibile, consulta Come funziona.

2) Spider Web
# scansiona evilcorp.com estraendo email e altre chicche
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) Raccolta Email
# ricerca rapida di email con API gratuite + scraping
bbot -t evilcorp.com -p email-enum
# abbinala alla ricerca di sottodomini + spider web per massimo rendimento
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
# esegue una scansione web leggera su www.evilcorp.com
bbot -t www.evilcorp.com -p web
# esegue una scansione web pesante su 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 Tutto in Una Volta
# tutto ovunque tutto in una volta
bbot -t evilcorp.com -p kitchen-sink
# approssimativamente equivalente a:
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
Clicca sul grafico qui sotto per esplorare il funzionamento interno di BBOT.
Moduli di Output
...e altri!
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 Nefasto Bot Discord
Un Bot Discord per BBOT che risponde al comando /scan. Scansiona internet dalla comodità del tuo server Discord!

Panoramica delle Funzionalità
- Supporto per Target Multipli
- Screenshot Web
- Suite di Moduli Web Offensivi
- Mutazioni di Sottodomini basate su NLP
- Output Nativo verso Neo4j (e altro)
- Installazione automatica delle dipendenze con Ansible
- Ricerca dell'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 in file (o entrambi!):
bbot -t evilcorp.com evilcorp.org 1.2.3.0/24 -p subdomain-enum
I target possono essere uno qualsiasi 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 sapere come BBOT gestisce l'ambito (scope), vedi Ambito.
Chiavi API
Analogamente ad Amass o Subfinder, BBOT supporta chiavi API per vari servizi di terze parti come SecurityTrails, ecc.
Il metodo standard è inserire le tue chiavi API in ~/.config/bbot/secrets.yml. Nota che sono consentite 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 anche specificarle dalla riga di comando:
bbot -c modules.virustotal.api_key=dd5f0eee2e4a99b71a939bded450b246
Per i dettagli, consulta Configurazione.
Elenchi Completi di Moduli, Flag, ecc.
- Elenco completo dei Moduli.
- Elenco completo dei Flag.
- Elenco completo dei Preset.
- Elenco completo delle Opzioni di Configurazione Globali.
- Elenco completo delle Opzioni di Configurazione dei Moduli.
Documentazione
- Manuale Utente
- Basi
- Scansione
- Moduli
- Migrazione
- Varie
- Manuale per Sviluppatori
Contribuzione
Alcuni dei migliori moduli di BBOT sono stati scritti dalla community. BBOT viene costantemente migliorato; ogni giorno diventa più potente!
Accogliamo con favore i contributi. Non solo codice, ma anche idee! Se hai un'idea per una nuova funzionalità, faccelo sapere in Discussioni. Se vuoi mettere le mani in pasta, consulta Contribuzione. Lì troverai istruzioni per l'installazione 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 su Neo4j e Ansible
- @domwhewell-sage per la sua famiglia di moduli di saccheggio del codice
- @aconite33 e @amiremami per i loro test spietati
- Aleksei Kornev (@alekseiko) per averci concesso la proprietà del repository Pypi di bbot <3

