Pentesting al DNS, dnsenum

Hola!

Muy buenas a todos/as!

“La información es poder”, y que razón tenía Francis BACON al decir esta frase. Cuando realizas una auditoría, siempre tenemos el primero apartado, el apartado de Fingerprinting, en el cual se comprueba entre otras cosas que información pública contiene el target objetivo.

Una de las cosas que se pueden mirar es la versión del DNS, y es por eso que existen herramientas como dnsenum que te facilitan esta tarea.

dnsenum evalúa:

1) Get the host’s addresse (A record).

2) Get the namservers (threaded).

3) Get the MX record (threaded).

4) Perform axfr queries on nameservers and get BIND versions(threaded).

5) Get extra names and subdomains via google scraping (google query = “allinurl: -www site:domain”).

6) Brute force subdomains from file, can also perform recursion on subdomain that have NS records (all threaded).

7) Calculate C class domain network ranges and perform whois queries on them (threaded).

8) Perform reverse lookups on netranges ( C class or/and whois netranges) (threaded).

9) Write to domain_ips.txt file ip-blocks.

Nos sirve perfectamente para hacer las pruebas que necesitamos.

La herramienta la podemos descargar por SVN de aquí: dnsenum

Para hacerla funcionar hará falta que se instalen los siguiente módulos cpan:

Necesarios:Net::IPNet::DNSNet::NetmaskOpcionales:Net::Whois::IPHTML::ParserWWW::MechanizeXML::Writer

Una vez tengamos los requisitos necesarios podemos empezar a usar la aplicación, pondré tres ejemplos.

Host que NO permite trasferencia de zona:

Para lanzar dnsenum

perl dnsenum.pl xubuntu.com

dnsenum.pl VERSION:1.2.2

—– xubuntu.com —–Host’s addresses:__________________xubuntu.com 600 IN A 91.189.90.40xubuntu.com 600 IN A 91.189.90.41xubuntu.com 600 IN A 91.189.89.88Name Servers:______________ns1.canonical.com 147710 IN A 91.189.94.173ns2.canonical.com 147528 IN A 91.189.94.219ns3.canonical.com 126351 IN A 209.6.3.210Mail (MX) Servers:___________________ Trying Zone Transfers and getting Bind Versions:_________________________________________________Trying Zone Transfer for xubuntu.com on ns1.canonical.com …AXFR record query failed: NOERRORns1.canonical.com Bind Version: 9.7.3Trying Zone Transfer for xubuntu.com on ns3.canonical.com …AXFR record query failed: NOERRORns3.canonical.com Bind Version: 9.7.3Trying Zone Transfer for xubuntu.com on ns2.canonical.com …AXFR record query failed: NOERRORns2.canonical.com Bind Version: 9.7.3Wildcards detected, all subdomains will point to the same IP address, bye.

Podemos ver que ha conseguido extraer la información del BIND pero no permite trasferencia de Zona.

Hagamos otra comprobación:

perl dnsenum.pl gnu.org

dnsenum.pl VERSION:1.2.2

—– gnu.org —–Host’s addresses:__________________gnu.org 300 IN A 140.186.70.148Name Servers:______________ns2.gnu.org 300 IN A 87.98.253.102ns1.gnu.org 300 IN A 140.186.70.164ns3.gnu.org 300 IN A 46.43.37.70Mail (MX) Servers:___________________eggs.gnu.org 300 IN A 140.186.70.92Trying Zone Transfers and getting Bind Versions:_________________________________________________Trying Zone Transfer for gnu.org on ns2.gnu.org …gnu.org 300 IN SOAgnu.org 300 IN A 140.186.70.148gnu.org 300 IN TXTgnu.org 300 IN MXgnu.org 300 IN NSgnu.org 300 IN NSgnu.org 300 IN NSgnu.org 300 IN SSHFPalpha.gnu.org 300 IN A 140.186.70.21anoncvs.gnu.org 300 IN CNAMEarch.gnu.org 300 IN CNAMEaudio-video.gnu.org 300 IN CNAMEaudio-video-dev.gnu.org 300 IN A 140.186.70.157audio-video-dev.gnu.org 300 IN SSHFPautoconfig.gnu.org 300 IN A 140.186.70.30be.gnu.org 300 IN NSbe.gnu.org 300 IN NSftp.be.gnu.org 300 IN CNAMEwww.be.gnu.org 300 IN CNAMEbeeblebrox.gnu.org 300 IN SSHFPbugs.gnu.org 300 IN A 140.186.70.43bzr.gnu.org 300 IN CNAMEcatalyst.gnu.org 300 IN SSHFPchapters.gnu.org 300 IN A 91.121.254.230front.chapters.gnu.org 300 IN A 91.121.254.230clock.gnu.org 300 IN CNAMEwww.cn.gnu.org 300 IN A 61.152.210.194cvs.gnu.org 300 IN CNAMEdbd.gnu.org 300 IN A 140.186.70.32dbd.gnu.org 300 IN SSHFPdebbugs.gnu.org 300 IN A 140.186.70.43debbugs.gnu.org 300 IN SSHFPeggs.gnu.org 300 IN A 140.186.70.92eggs.gnu.org 300 IN SSHFPelpa.gnu.org 300 IN A 140.186.70.89elpa.gnu.org 300 IN SSHFPes.gnu.org 300 IN MXes.gnu.org 300 IN A 91.121.254.230bee.es.gnu.org 300 IN CNAMEwww.bee.es.gnu.org 300 IN CNAMEbluewall.es.gnu.org 300 IN CNAMEbussiness.es.gnu.org 300 IN CNAMEbw.es.gnu.org 300 IN CNAMEconferencias.es.gnu.org 300 IN CNAMEemacs.es.gnu.org 300 IN CNAMEwww.emacs.es.gnu.org 300 IN CNAMEempresas.es.gnu.org 300 IN CNAMEevalhackers.es.gnu.org 300 IN CNAMEftp.es.gnu.org 300 IN CNAMEghm.es.gnu.org 300 IN CNAME[...]

Podemos ver que el dominio de GNU.org permite trasferencia de zona en el DNS.

En algún DNS también nos dejan mensajes de los mas curiosos:

perl dnsenum aeat.es

—– aeat.es —–Host’s addresses:__________________aeat.es 3176 IN A 195.235.106.193Name Servers:______________esifw2.tsai.es 106 IN A 213.4.194.5esifw1.tsai.es 256 IN A 213.0.43.37Mail (MX) Servers:___________________correodeempresas.telefonica.es 300 IN A 212.170.236.87Trying Zone Transfers and getting Bind Versions:_________________________________________________Trying Zone Transfer for aeat.es on esifw1.tsai.es …AXFR record query failed: NOERROResifw1.tsai.es Bind Version: :-b

Parece ser que no quieren que miremos la versión :P

Si queréis analizar un DNS de manera automática esta herramienta os puede ayudar.

Saludos!