
fork di http://code.google.com/p/dnsmap/source/checkout
INTRODUZIONE
dnsmap è stato originariamente rilasciato nel 2006 ed è stato ispirato dalla storia di finzione "The Thief No One Saw" di Paul Craig, che si trova nel libro "Stealing the Network - How to 0wn the Box"
dnsmap è pensato principalmente per essere usato da pentester durante la fase di raccolta informazioni/enumerazione delle valutazioni di sicurezza dell'infrastruttura. Durante la fase di enumerazione, il consulente di sicurezza in genere scopre i netblock IP dell'azienda target, i nomi di dominio, i numeri di telefono, ecc...
Il brute-forcing di sottodomini è un'altra tecnica che dovrebbe essere utilizzata nella fase di enumerazione, poiché è particolarmente utile quando altre tecniche di enumerazione dei domini come i trasferimenti di zona non funzionano (tra l'altro, vedo raramente trasferimenti di zona essere pubblicamente consentiti al giorno d'oggi).
Se sei interessato a ricercare tecniche di intrusione informatica furtiva, ti suggerisco di leggere questo eccellente (e divertente) capitolo che puoi trovare gratuitamente sul web:
http://www.ethicalhacker.net/content/view/45/2/
Sono felice di dire che dnsmap è stato incluso in Backtrack 2, 3 e 4 ed è stato recensito dalla comunità:
http://backtrack.offensive-security.com/index.php?title=Tools http://www.networkworld.com/community/node/57543 http://forums.remote-exploit.org/tutorials-guides/12746-dnsmap-tutorial.html http://www.linuxhaxor.net/2007/07/14/backtrack-2-information-gathering-all-dnsmap/ http://www.darknet.org.uk/2009/03/dnsmap-022-released-subdomain-bruteforcing-tool/
COMPILAZIONE
La compilazione dovrebbe essere semplice:
$ make
O:
$ gcc -Wall dnsmap.c -o dnsmap
INSTALLAZIONE
O:
Se desideri eseguire il brute-force di diversi domini target in modalità batch, puoi utilizzare lo script incluso dnsmap-bulk.sh. Basta copiare lo script in /usr/local/bin/ per poterlo chiamare da qualsiasi posizione. Es.:
E impostare i permessi di esecuzione. Es.:
LIMITAZIONI
Mancanza di multi-threading. Questo problema di velocità sarà probabilmente risolto nelle versioni future.
COSA DIVERTENTE CHE PUÒ SUCCEDERE
Trovare server di accesso remoto interessanti (es.: https://extranet.targetdomain.com)
Trovare server mal configurati e/o non aggiornati (es.: test.targetdomain.com)
Trovare nuovi nomi di dominio che ti permetteranno di mappare netblock non ovvi/difficili da trovare dell'organizzazione target (ricerche nei registry - aka whois è tuo amico)
A volte si scopre che alcuni sottodomini forzati risolvono a indirizzi IP interni (RFC 1918). Questo è fantastico perché a volte sono veri record "A" aggiornati, il che significa che è possibile enumerare server interni di un'organizzazione target da Internet utilizzando solo la risoluzione DNS standard (a differenza, ad esempio, dei trasferimenti di zona).
Scoprire dispositivi embedded configurati utilizzando servizi DNS dinamici (es.: linksys-cam.com). Questo metodo è un'alternativa per trovare dispositivi tramite tecniche di hacking su Google.
USO
Il brute-forcing può essere eseguito sia con la wordlist integrata di dnsmap che con una wordlist fornita dall'utente. I risultati possono essere salvati in formato CSV e in formato leggibile per un'ulteriore elaborazione. dnsmap NON richiede privilegi di root per essere eseguito e NON dovrebbe essere eseguito con tali privilegi per motivi di sicurezza.
La sintassi di utilizzo può essere ottenuta semplicemente eseguendo dnsmap senza parametri:
$ ./dnsmap
dnsmap 0.30 - DNS Network Mapper di pagvac (gnucitizen.org)
uso: dnsmap [opzioni] opzioni: -w -r -c -d -i (utile se si ottengono falsi positivi)
Nota: il valore di ritardo è un valore massimo casuale. Es.: se inserisci 1000, ogni richiesta DNS sarà ritardata di un massimo di 1 secondo. Di default, dnsmap utilizza un valore di 10 millisecondi di ritardo massimo tra le ricerche DNS.
ESEMPI Brute-forcing di sottodomini utilizzando la wordlist integrata di dnsmap:
$ ./dnsmap targetdomain.foo
Brute-forcing di sottodomini utilizzando una wordlist fornita dall'utente:
$ ./dnsmap targetdomain.foo -w wordlist.txt
Brute-forcing di sottodomini utilizzando la wordlist integrata e salvando i risultati in /tmp/ :
$ ./dnsmap targetdomain.foo -r /tmp/
Poiché nell'esempio precedente non è stato fornito alcun nome file, ma solo un percorso, dnsmap creerà un nome file univoco che include il timestamp corrente. Es.: /tmp/dnsmap_targetdomain_foo_2009_12_15_234953.txt
Esempio di brute-forcing di sottodomini utilizzando la wordlist integrata, salvando i risultati in /tmp/, e aspettando un massimo casuale di 3 millisecondi tra ogni richiesta:
$ ./dnsmap targetdomain.foo -r /tmp/ -d 300
Si consiglia di utilizzare l'opzione -d (ritardo in millisecondi) nei casi in cui dnsmap stia interferendo con la tua esperienza online, ad esempio consumando la larghezza di banda.
Brute-forcing di sottodomini con un ritardo di 0,8 secondi, salvataggio dei risultati in formato regolare e CSV, filtraggio di 2 IP forniti dall'utente e utilizzo di una wordlist fornita dall'utente:
$ ./dnsmap targetdomain.foo -d 800 -r /tmp/ -c /tmp/ -i 10.55.206.154,10.55.24.100 -w ./wordlist_TLAs.txt
Per eseguire il brute-force di un elenco di domini target in modalità batch, utilizza lo script bash fornito. Es.:
$ ./dnsmap-bulk.sh domains.txt /tmp/results/
WORDLIST
http://packetstormsecurity.org/Crackers/wordlists/dictionaries/ http://www.cotse.com/tools/wordlists1.htm http://wordlist.sourceforge.net/
ALTRI STRUMENTI SIMILI - la scelta è libertà!
WS-DNS-BFX http://ws.hackaholic.org/tools/WS-DNS-BFX.tgz
DNSDigger http://www.ernw.de/download/dnsdigger.zip
Fierce Domain Scan http://ha.ckers.org/fierce/
Desperate http://www.sensepost.com/research_misc.html
DNSenum http://dnsenum.googlecode.com/files/dnsenum1.2.tar.gz
ReverseRaider http://complemento.sourceforge.net/
Knock http://knock.gianniamato.it/
-- pagvac | GNUCITIZEN.org Febbraio 2010