DNS Reaper è uno strumento per acquisizione di sottodomini, accurato e veloce.
Possiamo scansionare circa 50 sottodomini al secondo, testando ciascuno di essi con oltre 50 firme di acquisizione. Ciò significa che la maggior parte delle organizzazioni può eseguire la scansione dell’intera proprietà DNS in meno di 10 secondi.
Puoi usare DNS Reaper come un aggressore o cacciatore di bug!
Puoi eseguirlo fornendo un elenco di domini in un file o un singolo dominio sulla riga di comando. DNS Reaper eseguirà quindi la scansione dei domini con tutte le sue firme, producendo un file CSV.
Puoi usare DNS Reaper per difenderti!
Puoi eseguirlo lasciando che prenda i tuoi record DNS per te! Sì, esatto, puoi eseguirlo con le credenziali e testare tutta la configurazione del tuo dominio in modo rapido e semplice. DNS Reaper si collegherà al provider DNS e recupererà tutti i tuoi record, quindi li testerà.
Attualmente supportiamo AWS Route53, Cloudflare e Azure. La documentazione sull’aggiunta del proprio provider è disponibile qui.
Puoi usare DNS Reaper come DevSecOps Pro!
Punk Security è una società DevSecOps e DNS Reaper ha le sue radici nelle moderne best practice di sicurezza.
Puoi eseguire DNS Reaper in una pipeline, alimentandolo con un elenco di domini di cui intendi eseguire il provisioning e uscirà da Non-Zero se rileva che è possibile un’acquisizione. Puoi prevenire le acquisizioni prima ancora che siano possibili!
Utilizzo
Per eseguire DNS Reaper, puoi utilizzare l’immagine della finestra mobile o eseguirla con Python 3.10.
I risultati vengono restituiti nell’output e maggiori dettagli vengono forniti in un file “results.csv” locale. Supportiamo anche l’output json come opzione.
Eseguilo con docker
docker run punksecurity/dnsreaper –help
Eseguilo con Python
pip install -r requirements.txt
python main.py --help
Comandi comuni
-
Scansiona l’account AWS:
docker run punksecurity/dnsreaper aws --aws-access-key-id <key> --aws-access-key-secret <secret>
Per ulteriori informazioni, consulta la documentazione per il provider aws
-
Scansiona tutti i domini dal file:
docker run -v $(pwd):/etc/dnsreaper punksecurity/dnsreaper file --filename /etc/dnsreaper/<filename>
-
Scansiona un singolo dominio
docker run punksecurity/dnsreaper single --domain <domain>
-
Scansiona un singolo dominio e invia l’output a stdout:
Dovresti reindirizzare l’output stderr o salvare l’output stdout con >
docker run punksecurity/dnsreaper single --domain <domain> --out stdout --out-format=json > output
Pieno utilizzo
/ __ \__ ______ / /__/ ___/___ _______ _______(_) /___ __
/ /_/ / / / / __ \/ //_/\__ \/ _ \/ ___/ / / / ___/ / __/ / / /
/ ____/ /_/ / / / / ,< ___/ / __/ /__/ /_/ / / / / /_/ /_/ /
/_/ \__,_/_/ /_/_/|_|/____/\___/\___/\__,_/_/ /_/\__/\__, /
PRESENTS /____/
DNS Reaper ☠️
Scan all your DNS records for subdomain takeovers!
usage:
main.py provider [options]
output:
findings output to screen and (by default) results.csv
help:
main.py --help
providers:
> aws - Scan multiple domains by fetching them from AWS Route53
> azure - Scan multiple domains by fetching them from Azure DNS services
> bind - Read domains from a dns BIND zone file, or path to multiple
> cloudflare - Scan multiple domains by fetching them from Cloudflare
> digitalocean - Scan multiple domains by fetching them from Digital Ocean
> file - Read domains from a file (or folder of files), one per line
> single - Scan a single domain by providing a domain on the commandline
> zonetransfer - Scan multiple domains by fetching records via DNS zone transfer
positional arguments:
{aws,azure,bind,cloudflare,digitalocean,file,single,zonetransfer}
options:
-h, --help Show this help message and exit
--out OUT Output file (default: results) - use 'stdout' to stream out
--out-format {csv,json}
--resolver RESOLVER Provide a custom DNS resolver (or multiple seperated by commas)
--parallelism PARALLELISM
Number of domains to test in parallel - too high and you may see odd DNS results (default: 30)
--disable-probable Do not check for probable conditions
--enable-unlikely Check for more conditions, but with a high false positive rate
--signature SIGNATURE
Only scan with this signature (multiple accepted)
--exclude-signature EXCLUDE_SIGNATURE
Do not scan with this signature (multiple accepted)
--pipeline Exit Non-Zero on detection (used to fail a pipeline)
-v, --verbose -v for verbose, -vv for extra verbose
--nocolour Turns off coloured text
aws:
Scan multiple domains by fetching them from AWS Route53
--aws-access-key-id AWS_ACCESS_KEY_ID
Optional
--aws-access-key-secret AWS_ACCESS_KEY_SECRET
Optional
azure:
Scan multiple domains by fetching them from Azure DNS services
--az-subscription-id AZ_SUBSCRIPTION_ID
Required
--az-tenant-id AZ_TENANT_ID
Required
--az-client-id AZ_CLIENT_ID
Required
--az-client-secret AZ_CLIENT_SECRET
Required
bind:
Read domains from a dns BIND zone file, or path to multiple
--bind-zone-file BIND_ZONE_FILE
Required
cloudflare:
Scan multiple domains by fetching them from Cloudflare
--cloudflare-token CLOUDFLARE_TOKEN
Required
digitalocean:
Scan multiple domains by fetching them from Digital Ocean
--do-api-key DO_API_KEY
Required
--do-domains DO_DOMAINS
Optional
file:
Read domains from a file (or folder of files), one per line
--filename FILENAME Required
single:
Scan a single domain by providing a domain on the commandline
--domain DOMAIN Required
zonetransfer:
Scan multiple domains by fetching records via DNS zone transfer
--zonetransfer-nameserver ZONETRANSFER_NAMESERVER
Required
--zonetransfer-domain ZONETRANSFER_DOMAIN
Required
https://github.com/punk-security/dnsReaper