
Werkzeug zur Subdomain- und Ziel-Enumeration, entwickelt für offensive Sicherheitstests
Übersicht
:small_blue_diamond:
Verwendung
:small_blue_diamond:
Beitragen
SubScraper ist ein Tool zur Subdomain-Enumeration, das verschiedene Techniken einsetzt, um Subdomains eines gegebenen Ziels zu finden. Die Subdomain-Enumeration ist besonders hilfreich bei Penetrationstests und Bug Bounty Jagden, um die Angriffsfläche einer Organisation aufzudecken.
Abhängig von den verwendeten CMD-Argumenten kann SubScraper DNS-Namen auflösen, HTTP(S)-Informationen abfragen und CNAME-Lookups zur Erkennung von Takeover-Möglichkeiten während der Enumeration durchführen. Dies hilft dabei, nächste Schritte zu identifizieren und Muster für die Ausnutzung zu entdecken.
.txt oder STDIN..txt- oder .csv-Format erstellen.
Folgendes kann verwendet werden, um SubScraper unter Windows, Linux & MacOS zu installieren:
git clone https://github.com/m8sec/subscraper
cd subscraper
pip3 install -r requirements.txt
Installieren und Ausführen von SubScraper mit Poetry:
git clone https://github.com/m8sec/subscraper
cd subscraper
poetry install
poetry run subscraper -h
Sie können ein Docker-Image erstellen und subscraper mit Docker ausführen:
git clone https://github.com/m8sec/subscraper
cd subscraper
docker build -t m8sec/subscraper .
# Hilfe anzeigen
docker run --rm m8sec/subscraper
# Beispiel: Eine Website scannen
docker run --rm m8sec/subscraper -d example.com
Verwenden Sie die Konfigurationsdatei unter ~/.config/subscraper/config.json, um API-Schlüssel für die einfache Wiederverwendung zu speichern.
Wenn Sie nach v4.0.0 auf eine neuere Version aktualisieren, verwenden Sie das Argument -update, um eine neue Kopie der Konfigurationsdatei zu ziehen und die Kompatibilität sicherzustellen - Hinweis: Dies entfernt alle vorhandenen Schlüsseleinträge.
Eine vollständige Liste der Module finden Sie mit dem Befehlszeilenargument -ls:
bevigil - BeVigil OSINT API zum Scrapen mobiler Anwendungen auf Subdomains (API-Schlüssel erforderlich)
crt.sh - Subdomain-Enumeration mit cert.sh.
virustotal - Subdomain bei VirusTotal nachschlagen (API-Schlüssel erforderlich)
dnsrepo - Parse dnsrepo.noc.org ohne API-Schlüssel - 150 Ergebnisse Limit
chaos - Project Discovery's Chaos (API-Schlüssel erforderlich)
certspotter - Certspotter-API zum Sammeln von Subdomains verwenden
bufferover - Bufferover.run-API abfragen (API-Schlüssel erforderlich)
alienvault - Subdomains mit AlienVault OTX finden
redhuntlabs - RedHunt Labs Recon API (API-Schlüssel erforderlich)
archive - archive.org zum Finden von Subdomains nutzen.
dnsdumpster - DNS-Dumpster zur Subdomain-Enumeration verwenden.
censys.io - Subdomains über censys.io SSL-Zertifikatsabfragen sammeln. (API-Schlüssel erforderlich)
shodan - Subdomains mit Shodan abrufen (API-Schlüssel erforderlich)
SubScraper Optionen:
-debug Debug-Logging aktivieren
-update Konfigurationsdatei aktualisieren (Entfernt vorhandene Einträge)
-config CONFIG Standard-Konfigurationsspeicherort überschreiben
-silent Nur Subdomains in der Ausgabe anzeigen
-threads THREADS, -T THREADS Maximale Threads für die Enumeration (65*).
-t TIMEOUT Verbindungszeitüberschreitungen setzen (3*)
-d DOMAIN, --domain DOMAIN Zieldomäne (Domäne, .txt, STDIN, usw.)
Modul-Optionen:
-ls SubScraper-Enumerationsmodule auflisten.
-m MODULES Modul(e) nach Name oder Gruppe ausführen (all*).
-module-only Nur Module ausführen, kein Brute-Force
Brute-Force-Optionen:
-w WORDLIST Benutzerdefinierte Wortliste für DNS-Brute-Force.
-ns NS Komma-getrennte Nameserver zur Verwendung
Enumerations-Optionen:
-r, -resolve IP-Adresse für jede identifizierte Subdomain auflösen.
-c, -cname CNAME-Lookup für Subdomain-Takeover-Prüfungen durchführen
-http Auf aktive HTTP-Dienste prüfen.
-http-port HTTP_PORT HTTP-Ports, die überprüft werden sollen, komma-getrennt (80,443*)
Ausgabe-Optionen:
-nc, -no-color Farbausgabe deaktivieren
-active Nur aktive Subdomains mit aufgelöster IP melden
-csv CSV-Ausgabebericht erstellen
-o REPORT Ausgabedatei
python3 subscraper.py -d example.com -resolve -http -module-only
python3 subscraper.py -d example.com -cname -m none -o sub_report.csv -csv
cat domains.txt | python3 subscraper.py -active -silent
Tragen Sie zum Projekt bei, indem Sie: