Quantcast
Channel: El rincón de Zerial » bash
Viewing all articles
Browse latest Browse all 11

Búsqueda de servicios DNS con Transferencia de Zona abierta (AXFR)

$
0
0

Ya vimos que los servidores mal configurados que permiten realizar transferencias de zona sin restricciones desde cualquier IP son muchos.

Para saber si un servidor DNS es “vulnerable” a este tipo de ataque usamos la herramienta dig, primero obtenemos los dns que estan asociados al dominio, para este ejemplo usaremos el dominio zerial.org.

$ dig NS zerial.org
; < <>> DiG 9.7.3 < <>> NS zerial.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER< <- opcode: QUERY, status: NOERROR, id: 64152
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 6

;; QUESTION SECTION:
;zerial.org. IN NS

;; ANSWER SECTION:
zerial.org. 86400 IN NS ns1.linode.com.
zerial.org. 86400 IN NS ns3.linode.com.
zerial.org. 86400 IN NS ns2.linode.com.
zerial.org. 86400 IN NS ns5.linode.com.
zerial.org. 86400 IN NS ns4.linode.com.

Ya tenemos la lista de los servidores dns de zerial.org, para probar la transferencia de zona cambiamos NS por AXFR y forzamos que use el DNS que nosotros elijamos, en este caso probaremos ns3.linode.com:

$ dig AXFR zerial.org @ns3.linode.com

; < <>> DiG 9.7.3 < <>> AXFR zerial.org @ns3.linode.com
;; global options: +cmd
; Transfer failed.

Failed. No hemos logrado transferir la zona desde ns3.linode.com, lo que nos indica que aparentemente se encuentra bien configurado.
Otro ejemplo usando un dominio que sepamos que tiene esta falla: finanzas.gov.ar.
Obtenemos los dos:

$ dig NS finanzas.gov.ar

; < <>> DiG 9.8.0-P4 < <>> NS finanzas.gov.ar
;; global options: +cmd
;; Got answer:
;; ->>HEADER< <- opcode: QUERY, status: NOERROR, id: 38476
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 2

;; QUESTION SECTION:
;finanzas.gov.ar. IN NS

;; ANSWER SECTION:
finanzas.gov.ar. 7006 IN NS ns3.zoneedit.com.
finanzas.gov.ar. 7006 IN NS ns9.zoneedit.com.

Probamos el segundo dns, ns9.zoneedit.com.

$ dig AXFR finanzas.gov.ar @ns9.zoneedit.com

; < <>> DiG 9.8.0-P4 < <>> AXFR finanzas.gov.ar @ns9.zoneedit.com
;; global options: +cmd
finanzas.gov.ar. 7200 IN SOA ns3.zoneedit.com. soacontact.zoneedit.com. 2011266765 2400 360 1209600 300
finanzas.gov.ar. 7200 IN NS ns3.zoneedit.com.
finanzas.gov.ar. 7200 IN NS ns9.zoneedit.com.
finanzas.gov.ar. 7200 IN A 201.253.123.35
finanzas.gov.ar. 7200 IN MX 10 ALT1.ASPMX.L.GOOGLE.COM.
finanzas.gov.ar. 7200 IN MX 10 ALT2.ASPMX.L.GOOGLE.COM.
finanzas.gov.ar. 7200 IN MX 0 ASPMX.L.GOOGLE.COM.
finanzas.gov.ar. 7200 IN MX 20 ASPMX2.GOOGLEMAIL.COM.
finanzas.gov.ar. 7200 IN MX 20 ASPMX3.GOOGLEMAIL.COM.
finanzas.gov.ar. 7200 IN MX 20 ASPMX4.GOOGLEMAIL.COM.
finanzas.gov.ar. 7200 IN MX 20 ASPMX5.GOOGLEMAIL.COM.
mail.finanzas.gov.ar. 7200 IN CNAME ghs.google.com.
googleffffffff85ca3fa2.finanzas.gov.ar. 7200 IN CNAME google.com.
asignaciones.finanzas.gov.ar. 7200 IN A 186.136.205.252
docs.finanzas.gov.ar. 7200 IN CNAME ghs.google.com.
www.finanzas.gov.ar. 7200 IN A 201.253.123.35
mapas.finanzas.gov.ar. 7200 IN A 201.253.123.35
finanzas.gov.ar. 7200 IN SOA ns3.zoneedit.com. soacontact.zoneedit.com. 2011266765 2400 360 1209600 300
;; Query time: 355 msec
;; SERVER: 66.240.231.42#53(66.240.231.42)
;; WHEN: Thu Aug 11 13:49:31 2011
;; XFR size: 18 records (messages 18, bytes 1138)

La transferencia de zona se hizo de forma exitosa.

Para poder analizar de forma automatica un listado de dominios, hice un script en bash que usa DIG para obtener los dns de cada dominio y prueba realizar AXFR por cada dominio en todos sus dns.

#!/bin/bash

digcmd=$(which dig)
domain=$1
echo -n "[+] Getting NS domains from $1 ..."
ns_domains=$(dig NS $domain @4.2.2.2|grep ^$domain|awk {'print $5'}|sed 's/.$//g')
echo -e "\t[OK]"
for ns in $ns_domains; do echo "[-] Found: "$ns; done
for ns in $ns_domains
do
	echo -n "Trying Zone Transfer from $ns: "
	$digcmd AXFR $domain @$ns|egrep 'Transfer failed|timed out|end of file'>/dev/null
	if [ $? -eq 1 ]
	then
		echo -e "\tSuccess."
	else
		echo -e "\tFail."
	fi
done

La forma de ejecucion es:

]$ sh zonetransfer.sh finanzas.gov.ar
[+] Getting NS domains from finanzas.gov.ar ... [OK]
[-] Found: ns9.zoneedit.com
[-] Found: ns3.zoneedit.com
Trying Zone Transfer from ns9.zoneedit.com: Success.
Trying Zone Transfer from ns3.zoneedit.com: Success.

Nos indica que es posible realizar una transferencia de zona desde ns3.zoneedit.com y ns9.zoneedit.com para el dominio finanzas.gov.ar.
Tambien podemos pasarle un archivo que contenga una lista de dominios que queramos analizar de forma masiva. Por ejemplo, tenemos un archivo llamado dominios.txt con los dominios:
finanzas.gov.ar
transparencia.cl
gobierno.cl
argentina.gov.ar
gobierno.es
microsoft.com

Ejecutamos:

$ for dom in $(cat dominios.txt); do sh zonetransfer.sh $dom; done
[+] Getting NS domains from finanzas.gov.ar ... [OK]
[-] Found: ns9.zoneedit.com
[-] Found: ns3.zoneedit.com
Trying Zone Transfer from ns9.zoneedit.com: Success.
Trying Zone Transfer from ns3.zoneedit.com: Success.
[+] Getting NS domains from transparencia.cl ... [OK]
[-] Found: ns02.000webhost.com
[-] Found: ns01.000webhost.com
Trying Zone Transfer from ns02.000webhost.com: Fail.
Trying Zone Transfer from ns01.000webhost.com: Fail.
[+] Getting NS domains from gobierno.cl ... [OK]
[-] Found: ga.interior.gov.cl
[-] Found: gb.interior.gov.cl
[-] Found: ns1.presidencia.cl
Trying Zone Transfer from ga.interior.gov.cl: Fail.
Trying Zone Transfer from gb.interior.gov.cl: Fail.
Trying Zone Transfer from ns1.presidencia.cl: Success.
[+] Getting NS domains from argentina.gov.ar ... [OK]
[-] Found: nsii.arcert.gov.ar
[-] Found: nsii.sgp.gov.ar
Trying Zone Transfer from nsii.arcert.gov.ar: Fail.
Trying Zone Transfer from nsii.sgp.gov.ar: Fail.
[+] Getting NS domains from gobierno.es ... [OK]
[-] Found: sun.rediris.es
[-] Found: chico.rediris.es
[-] Found: dns1.mpr.es
[-] Found: dns2.mpr.es
Trying Zone Transfer from sun.rediris.es: Fail.
Trying Zone Transfer from chico.rediris.es: Fail.
Trying Zone Transfer from dns1.mpr.es: Fail.
Trying Zone Transfer from dns2.mpr.es: Fail.
[+] Getting NS domains from microsoft.com ... [OK]
[-] Found: ns3.msft.net
[-] Found: ns4.msft.net
[-] Found: ns1.msft.net
[-] Found: ns2.msft.net
[-] Found: ns5.msft.net
Trying Zone Transfer from ns3.msft.net: Fail.
Trying Zone Transfer from ns4.msft.net: Fail.
Trying Zone Transfer from ns1.msft.net: Fail.
Trying Zone Transfer from ns2.msft.net: Fail.
Trying Zone Transfer from ns5.msft.net: Fail.

Ya tenemos el output del script, donde nos dice que los dns de finanzas.gov.ar y uno de gobierno.cl permite AXFR.


Viewing all articles
Browse latest Browse all 11

Latest Images





Latest Images