
Outil d'énumération de sous-domaines et de cibles conçu pour les tests de sécurité offensive.
Aperçu
:small_blue_diamond:
Utilisation
:small_blue_diamond:
Contribuer
SubScraper est un outil d'énumération de sous-domaines qui utilise diverses techniques pour trouver les sous-domaines d'une cible donnée. L'énumération des sous-domaines est particulièrement utile lors des tests d'intrusion et de la chasse aux bugs pour découvrir la surface d'attaque d'une organisation.
Selon les arguments de ligne de commande appliqués, SubScraper peut résoudre des noms DNS, demander des informations HTTP(S) et effectuer des recherches CNAME pour détecter des opportunités de prise de contrôle pendant le processus d'énumération. Cela peut aider à identifier les prochaines étapes et à découvrir des modèles d'exploitation.
.txt ou STDIN..txt ou .csv.
La commande suivante peut être utilisée pour installer SubScraper sur Windows, Linux et MacOS :
git clone https://github.com/m8sec/subscraper
cd subscraper
pip3 install -r requirements.txt
Installez et exécutez SubScraper à l'aide de Poetry :
git clone https://github.com/m8sec/subscraper
cd subscraper
poetry install
poetry run subscraper -h
Vous pouvez construire une image Docker et exécuter subscraper depuis Docker :
git clone https://github.com/m8sec/subscraper
cd subscraper
docker build -t m8sec/subscraper .
# Display help
docker run --rm m8sec/subscraper
# Example scanning a site
docker run --rm m8sec/subscraper -d example.com
Utilisez le fichier de configuration situé à ~/.config/subscraper/config.json pour stocker les clés API et les réutiliser facilement.
Si vous mettez à jour vers une version plus récente après v4.0.0, utilisez l'argument -update pour récupérer une nouvelle copie du fichier de configuration et assurer la compatibilité - Remarque : cela supprimera toutes les entrées de clés existantes.
Une liste complète des modules peut être obtenue en utilisant l'argument de ligne de commande -ls :
bevigil - BeVigil OSINT API for scraping mobile application for subdomains (API Key Req)
crt.sh - Subdomains enumeration using cert.sh.
virustotal - Lookup subdomain on VirusTotal (API Key Req)
dnsrepo - Parse dnsrepo.noc.org without an API key - 150 result limit
chaos - Project Discovery's Chaos (API Key Req)
certspotter - Use Certspotter API to collect subdomains
bufferover - Query Bufferover.run API (API Key Req)
alienvault - Find subdomains using AlienVault OTX
redhuntlabs - RedHunt Labs recon API (API Key Req)
archive - Use archive.org to find subdomains.
dnsdumpster - Use DNS dumpster to enumerate subdomains.
censys.io - Gather subdomains through censys.io SSL cert Lookups. (API Key Req)
shodan - Get subdomains with Shodan (API Key Req)
SubScraper Options:
-debug Enable debug logging
-update Update config file (Will remove existing entries)
-config CONFIG Override default config location
-silent Show subdomains only in output
-threads THREADS, -T THREADS Max threads for enumeration (65*).
-t TIMEOUT set connection timeouts (3*)
-d DOMAIN, --domain DOMAIN Target domain input (domain, .txt, STDIN, etc.
Module Options:
-ls List SubScraper enumeration modules.
-m MODULES Execute module(s) by name or group (all*).
-module-only Execute modules only not brute force
Bruteforce Options:
-w WORDLIST Custom wordlist for DNS brute force.
-ns NS Comma separated nameservers to use
Enumeration Options:
-r, -resolve Resolve IP address for each subdomain identified.
-c, -cname Perform CNAME lookup for subdomain takeover checks
-http Probe for active HTTP services.
-http-port HTTP_PORT HTTP ports to check, comma separated (80,443*)
Output Options:
-nc, -no-color Disable color output
-active Only report active subdomains with resolved IP
-csv Create CSV output report
-o REPORT Output file
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
Contribuez au projet en :