
Der rekursive Internet-Scanner für Hacker. 🧡
https://github.com/blacklanternsecurity/bbot/assets/20261699/e539e89b-92ea-46fa-b893-9cde94eebf81
Ein BBOT-Scan in Echtzeit – Visualisierung mit VivaGraphJS
# stabile Version
pipx install bbot
# aktuelle Entwicklung (dev-Branch)
pipx install --pip-args '\--pre' bbot
Für weitere Installationsmethoden, einschließlich Docker, siehe Erste Schritte
Upgrade von 2.x? BBOT 3.0 enthält grundlegende Änderungen an der CLI, Presets, Modulen, Events und der Python-API. Siehe den 2.x → 3.0 Migrationsleitfaden (Quelle) vor dem Upgrade.
Geschwindigkeitstipp: Der DNS-Resolver von BBOT (blastdns) startet mehrere Threads pro Resolver in
/etc/resolv.conf. Das Hinzufügen weiterer ungefilterter Resolver beschleunigt Scans erheblich. Siehe die Beispiel-resolv.conf und Tipps und Tricks für Details.
Passive API-Quellen plus eine rekursive DNS-Brute-Force mit zielspezifischen Subdomain-Mutationen.
# Subdomains von evilcorp.com finden
bbot -t evilcorp.com -p subdomain-enum
# nur passive Quellen
bbot -t evilcorp.com -p subdomain-enum -rf passive
subdomain-enum.ymldescription: Subdomains über APIs und Brute-Force ermitteln
flags:
# jedes Modul mit dem Flag subdomain-enum aktivieren
- subdomain-enum
output_modules:
# eindeutige Subdomains in TXT-Datei ausgeben
- subdomains
config:
dns:
threads: 25
brute_threads: 1000
# hier API-Schlüssel eintragen
# modules:
# github:
# api_key: ""
# chaos:
# api_key: ""
# securitytrails:
# api_key: ""
BBOT findet durchweg 20–50 % mehr Subdomains als andere Tools. Je größer die Domain, desto größer der Unterschied. Um zu erfahren, wie das möglich ist, siehe Funktionsweise.

# evilcorp.com crawlen, E-Mails und andere gute Dinge extrahieren
bbot -t evilcorp.com -p spider
spider.ymldescription: Rekursive Web-Spider
modules:
- http
blacklist:
# Verhindert, dass der Spider Sitzungen durch Abmelden ungültig macht
- "RE:/.*(sign|log)[_-]?out"
config:
web:
# wie viele Links nacheinander verfolgt werden
spider_distance: 2
# keine Links folgen, deren Verzeichnistiefe größer als 4 ist
spider_depth: 4
# maximale Anzahl von Links pro Seite, die verfolgt werden
spider_links_per_page: 25
# schnelle E-Mail-Ermittlung mit kostenlosen APIs + Scraping
bbot -t evilcorp.com -p email-enum
# Kombination mit Subdomain-Ermittlung und Web-Spider für maximale Ausbeute
bbot -t evilcorp.com -p email-enum subdomain-enum spider
email-enum.ymldescription: E-Mail-Adressen über APIs, Webcrawling usw. ermitteln
flags:
- email-enum
output_modules:
- emails
# einen leichten Web-Scan gegen www.evilcorp.com durchführen
bbot -t www.evilcorp.com -p web
# einen schweren Web-Scan gegen www.evilcorp.com durchführen
bbot -t www.evilcorp.com -p web-heavy
web.ymldescription: Schneller Web-Scan
include:
- iis-shortnames
flags:
- web
web-heavy.ymldescription: Aggressiver Web-Scan
include:
# das web-Preset einbinden
- web
flags:
- web-heavy
# alles auf einmal
bbot -t evilcorp.com -p kitchen-sink
# ungefähr gleichbedeutend mit:
bbot -t evilcorp.com -p subdomain-enum cloud-enum code-enum email-enum spider web paramminer webbrute web-screenshots
kitchen-sink.ymldescription: Alles auf einmal
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
Klicken Sie auf das folgende Diagramm, um die inneren Abläufe von BBOT zu erkunden.
...und weitere!
from bbot.scanner import Scanner
if __name__ == "__main__":
scan = Scanner("evilcorp.com", presets=["subdomain-enum"])
for event in scan.start():
print(event)
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())
Ein BBOT Discord-Bot, der auf den /scan-Befehl reagiert. Durchsuchen Sie das Internet bequem von Ihrem Discord-Server aus!

BBOT akzeptiert eine unbegrenzte Anzahl von Zielen über -t. Sie können Ziele entweder direkt in der Befehlszeile oder in Dateien (oder beides!) angeben:
bbot -t evilcorp.com evilcorp.org 1.2.3.0/24 -p subdomain-enum
Ziele können einer der folgenden Typen sein:
evilcorp.com)1.2.3.4)1.2.3.0/24)192.168.0.1:80)https://www.evilcorp.com)[email protected])ORG:evilcorp)USER:bobsmith)FILESYSTEM:/tmp/asdf)MOBILE_APP:https://play.google.com/store/apps/details?id=com.evilcorp.app)Weitere Informationen finden Sie unter Targets. Um zu erfahren, wie BBOT den Scope handhabt, siehe Scope.
Ähnlich wie Amass oder Subfinder unterstützt BBOT API-Schlüssel für verschiedene Drittanbieterdienste wie SecurityTrails usw.
Der Standardweg besteht darin, Ihre API-Schlüssel in ~/.config/bbot/secrets.yml einzutragen. Beachten Sie, dass mehrere API-Schlüssel erlaubt sind:
modules:
shodan_dns:
api_key: 4f41243847da693a4f356c0486114bc6
c99:
# mehrere API-Schlüssel
api_key:
- 21a270d5f59c9b05813a72bb41707266
- ea8f243d9885cf8ce9876a580224fd3c
- 5bc6ed268ab6488270e496d3183a1a27
virustotal:
api_key: dd5f0eee2e4a99b71a939bded450b246
securitytrails:
api_key: d9a05c3fd9a514497713c54b4455d0b0
Wenn Sie möchten, können Sie sie auch in der Befehlszeile angeben:
bbot -c modules.virustotal.api_key=dd5f0eee2e4a99b71a939bded450b246
Details finden Sie unter Configuration.
Einige der besten BBOT-Module wurden von der Community geschrieben. BBOT wird ständig verbessert; jeden Tag wird es leistungsfähiger!
Wir freuen uns über Beiträge. Nicht nur Code, sondern auch Ideen! Wenn Sie eine Idee für eine neue Funktion haben, teilen Sie uns dies bitte in Discussions mit. Wenn Sie selbst Hand anlegen möchten, siehe Contribution. Dort finden Sie Setup-Anweisungen und ein einfaches Tutorial zum Schreiben eines BBOT-Moduls. Wir haben auch umfangreiche Entwicklerdokumentation.
Danke an diese großartigen Menschen für ihre Beiträge zu BBOT! ❤️
Besonderer Dank gilt: