
Un risolutore DNS fulmineo scritto in Rust 🦀
Assicurati di avere Rust installato, quindi esegui il seguente comando per installare dnsresolver.
git clone https://github.com/ethicalhackingplayground/dnsresolver ; cd dnsresolver ; cargo install --path .
cat subs.txt | dnsresolver
Se devi risolvere host con porte specifiche, puoi utilizzare il flag --ports.
cat subs.txt | dnsresolver -p 443,80,8080,8081
Il primo passo è ottenere tutti gli host non risolti da una data lista di domini usando:
cat subs.txt | dnsresolver --show-unresolved | anew unresolved.txt
Poi, per scoprire tutti gli host virtuali da una data lista di domini,
puoi utilizzare il flag --vhost seguito dal flag --vhost-file.
dnsresolver mira a bypassare le restrizioni di accesso su determinate pagine. Lo fa sostituendo l'header Host con domini non risolti e utilizzando l'algoritmo sift. Questo garantisce che la risposta dell'host virtuale differisca dalla risposta effettiva. Ricorda di aumentare il limite soft utilizzando il comando ulimit -n 10000 per gestire più file contemporaneamente.
cat subs.txt | dnsresolver --vhost --vhost-file unresolved.txt
Per validare un risultato, esegui questo comando curl:
curl -v -k thehost.com -H "Host: unresolved-domain.com"
Puoi anche utilizzare il flag --vhost insieme al flag --check-localhost per sostituire l'header Host con localhost; spesso questo consente di accedere a pagine riservate e può portare a divulgazioni di informazioni e a interessanti pannelli di amministrazione.
cat subs.txt | dnsresolver --vhost --check-localhost
Per validare un risultato, esegui questo comando curl:
curl -v -k thehost.com -H "Host: localhost"
Se hai feedback, contattaci a [email protected] o via Twitter https://twitter.com/z0idsec