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::IP
Net::DNS
Net::Netmask
Opcionales:
Net::Whois::IP
HTML::Parser
WWW::Mechanize
XML::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.40
xubuntu.com 600 IN A 91.189.90.41
xubuntu.com 600 IN A 91.189.89.88
Name Servers:
______________
ns1.canonical.com 147710 IN A 91.189.94.173
ns2.canonical.com 147528 IN A 91.189.94.219
ns3.canonical.com 126351 IN A 209.6.3.210
Mail (MX) Servers:
___________________
Trying Zone Transfers and getting Bind Versions:
_________________________________________________
Trying Zone Transfer for xubuntu.com on ns1.canonical.com …
AXFR record query failed: NOERROR
ns1.canonical.com Bind Version: 9.7.3
Trying Zone Transfer for xubuntu.com on ns3.canonical.com …
AXFR record query failed: NOERROR
ns3.canonical.com Bind Version: 9.7.3
Trying Zone Transfer for xubuntu.com on ns2.canonical.com …
AXFR record query failed: NOERROR
ns2.canonical.com Bind Version: 9.7.3
Wildcards 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.148
Name Servers:
______________
ns2.gnu.org 300 IN A 87.98.253.102
ns1.gnu.org 300 IN A 140.186.70.164
ns3.gnu.org 300 IN A 46.43.37.70
Mail (MX) Servers:
___________________
eggs.gnu.org 300 IN A 140.186.70.92
Trying Zone Transfers and getting Bind Versions:
_________________________________________________
Trying Zone Transfer for gnu.org on ns2.gnu.org …
gnu.org 300 IN SOA
gnu.org 300 IN A 140.186.70.148
gnu.org 300 IN TXT
gnu.org 300 IN MX
gnu.org 300 IN NS
gnu.org 300 IN NS
gnu.org 300 IN NS
gnu.org 300 IN SSHFP
alpha.gnu.org 300 IN A 140.186.70.21
anoncvs.gnu.org 300 IN CNAME
arch.gnu.org 300 IN CNAME
audio-video.gnu.org 300 IN CNAME
audio-video-dev.gnu.org 300 IN A 140.186.70.157
audio-video-dev.gnu.org 300 IN SSHFP
autoconfig.gnu.org 300 IN A 140.186.70.30
be.gnu.org 300 IN NS
be.gnu.org 300 IN NS
ftp.be.gnu.org 300 IN CNAME
www.be.gnu.org 300 IN CNAME
beeblebrox.gnu.org 300 IN SSHFP
bugs.gnu.org 300 IN A 140.186.70.43
bzr.gnu.org 300 IN CNAME
catalyst.gnu.org 300 IN SSHFP
chapters.gnu.org 300 IN A 91.121.254.230
front.chapters.gnu.org 300 IN A 91.121.254.230
clock.gnu.org 300 IN CNAME
www.cn.gnu.org 300 IN A 61.152.210.194
cvs.gnu.org 300 IN CNAME
dbd.gnu.org 300 IN A 140.186.70.32
dbd.gnu.org 300 IN SSHFP
debbugs.gnu.org 300 IN A 140.186.70.43
debbugs.gnu.org 300 IN SSHFP
eggs.gnu.org 300 IN A 140.186.70.92
eggs.gnu.org 300 IN SSHFP
elpa.gnu.org 300 IN A 140.186.70.89
elpa.gnu.org 300 IN SSHFP
es.gnu.org 300 IN MX
es.gnu.org 300 IN A 91.121.254.230
bee.es.gnu.org 300 IN CNAME
www.bee.es.gnu.org 300 IN CNAME
bluewall.es.gnu.org 300 IN CNAME
bussiness.es.gnu.org 300 IN CNAME
bw.es.gnu.org 300 IN CNAME
conferencias.es.gnu.org 300 IN CNAME
emacs.es.gnu.org 300 IN CNAME
www.emacs.es.gnu.org 300 IN CNAME
empresas.es.gnu.org 300 IN CNAME
evalhackers.es.gnu.org 300 IN CNAME
ftp.es.gnu.org 300 IN CNAME
ghm.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.193
Name Servers:
______________
esifw2.tsai.es 106 IN A 213.4.194.5
esifw1.tsai.es 256 IN A 213.0.43.37
Mail (MX) Servers:
___________________
correodeempresas.telefonica.es 300 IN A 212.170.236.87
Trying Zone Transfers and getting Bind Versions:
_________________________________________________
Trying Zone Transfer for aeat.es on esifw1.tsai.es …
AXFR record query failed: NOERROR
esifw1.tsai.es Bind Version: :-b
Parece ser que no quieren que miremos la versión
Si queréis analizar un DNS de manera automática esta herramienta os puede ayudar.
Fuente: http://seifreed.com/2012/02/10/pentesting-al-dns-dnsenum/
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::IP
Net::DNS
Net::Netmask
Opcionales:
Net::Whois::IP
HTML::Parser
WWW::Mechanize
XML::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.40
xubuntu.com 600 IN A 91.189.90.41
xubuntu.com 600 IN A 91.189.89.88
Name Servers:
______________
ns1.canonical.com 147710 IN A 91.189.94.173
ns2.canonical.com 147528 IN A 91.189.94.219
ns3.canonical.com 126351 IN A 209.6.3.210
Mail (MX) Servers:
___________________
Trying Zone Transfers and getting Bind Versions:
_________________________________________________
Trying Zone Transfer for xubuntu.com on ns1.canonical.com …
AXFR record query failed: NOERROR
ns1.canonical.com Bind Version: 9.7.3
Trying Zone Transfer for xubuntu.com on ns3.canonical.com …
AXFR record query failed: NOERROR
ns3.canonical.com Bind Version: 9.7.3
Trying Zone Transfer for xubuntu.com on ns2.canonical.com …
AXFR record query failed: NOERROR
ns2.canonical.com Bind Version: 9.7.3
Wildcards 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.148
Name Servers:
______________
ns2.gnu.org 300 IN A 87.98.253.102
ns1.gnu.org 300 IN A 140.186.70.164
ns3.gnu.org 300 IN A 46.43.37.70
Mail (MX) Servers:
___________________
eggs.gnu.org 300 IN A 140.186.70.92
Trying Zone Transfers and getting Bind Versions:
_________________________________________________
Trying Zone Transfer for gnu.org on ns2.gnu.org …
gnu.org 300 IN SOA
gnu.org 300 IN A 140.186.70.148
gnu.org 300 IN TXT
gnu.org 300 IN MX
gnu.org 300 IN NS
gnu.org 300 IN NS
gnu.org 300 IN NS
gnu.org 300 IN SSHFP
alpha.gnu.org 300 IN A 140.186.70.21
anoncvs.gnu.org 300 IN CNAME
arch.gnu.org 300 IN CNAME
audio-video.gnu.org 300 IN CNAME
audio-video-dev.gnu.org 300 IN A 140.186.70.157
audio-video-dev.gnu.org 300 IN SSHFP
autoconfig.gnu.org 300 IN A 140.186.70.30
be.gnu.org 300 IN NS
be.gnu.org 300 IN NS
ftp.be.gnu.org 300 IN CNAME
www.be.gnu.org 300 IN CNAME
beeblebrox.gnu.org 300 IN SSHFP
bugs.gnu.org 300 IN A 140.186.70.43
bzr.gnu.org 300 IN CNAME
catalyst.gnu.org 300 IN SSHFP
chapters.gnu.org 300 IN A 91.121.254.230
front.chapters.gnu.org 300 IN A 91.121.254.230
clock.gnu.org 300 IN CNAME
www.cn.gnu.org 300 IN A 61.152.210.194
cvs.gnu.org 300 IN CNAME
dbd.gnu.org 300 IN A 140.186.70.32
dbd.gnu.org 300 IN SSHFP
debbugs.gnu.org 300 IN A 140.186.70.43
debbugs.gnu.org 300 IN SSHFP
eggs.gnu.org 300 IN A 140.186.70.92
eggs.gnu.org 300 IN SSHFP
elpa.gnu.org 300 IN A 140.186.70.89
elpa.gnu.org 300 IN SSHFP
es.gnu.org 300 IN MX
es.gnu.org 300 IN A 91.121.254.230
bee.es.gnu.org 300 IN CNAME
www.bee.es.gnu.org 300 IN CNAME
bluewall.es.gnu.org 300 IN CNAME
bussiness.es.gnu.org 300 IN CNAME
bw.es.gnu.org 300 IN CNAME
conferencias.es.gnu.org 300 IN CNAME
emacs.es.gnu.org 300 IN CNAME
www.emacs.es.gnu.org 300 IN CNAME
empresas.es.gnu.org 300 IN CNAME
evalhackers.es.gnu.org 300 IN CNAME
ftp.es.gnu.org 300 IN CNAME
ghm.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.193
Name Servers:
______________
esifw2.tsai.es 106 IN A 213.4.194.5
esifw1.tsai.es 256 IN A 213.0.43.37
Mail (MX) Servers:
___________________
correodeempresas.telefonica.es 300 IN A 212.170.236.87
Trying Zone Transfers and getting Bind Versions:
_________________________________________________
Trying Zone Transfer for aeat.es on esifw1.tsai.es …
AXFR record query failed: NOERROR
esifw1.tsai.es Bind Version: :-b
Parece ser que no quieren que miremos la versión
Si queréis analizar un DNS de manera automática esta herramienta os puede ayudar.
Fuente: http://seifreed.com/2012/02/10/pentesting-al-dns-dnsenum/
Comentarios
Publicar un comentario
siempre es bueno, leer tus comentarios