Etiquetadns

Transferencia de Zona en los DNS de Scotiabank

Hace un tiempo escribí sobre las vulnerabilidades AXFR, tambien publiqué un script que nos ayuda a buscar dns que tengan esta configuración.

Los bancos no solo tienen vulnerabilidades web, tambien tienen servicios que se encuentran mal configurados, como es el caso de Scotiabank, que tiene los servicios DNS configurados de forma tal que permiten a cualquier persona poder actuar como servidor secundario y transferir las zonas.
El DNS que tiene los problemas es el secundario, ns2.scotiabank.cl. Si intentamos transferir las zonas desde el secundario, obtenemos los subdominios asociados a scotiabank.cl:

scotiabank.cl.        3600    IN    SOA    fw-ext.scotiabank.cl. webmaster.scotiabank.cl. 2011110401 3600 3600 1857600 8400
scotiabank.cl.        3600    IN    NS    ns2.scotiabank.cl.
scotiabank.cl.        3600    IN    NS    fw-ext.scotiabank.cl.
scotiabank.cl.        3600    IN    A    200.14.209.97
scotiabank.cl.        3600    IN    MX    10 smexstsip11.scotiabank.com.mx.
scotiabank.cl.        3600    IN    MX    10 smexstsip21.scotiabank.com.mx.
scotiabank.cl.        3600    IN    MX    10 smexstsip31.scotiabank.com.mx.
scotiabank.cl.        3600    IN    TXT    “v=spf1 a mx ip4:168.165.13.0/24 include:spf.masterbase.com ~all”
alteon1.scotiabank.cl.    3600    IN    A    200.14.209.101
alteon2.scotiabank.cl.    3600    IN    A    200.55.208.27
corporate.scotiabank.cl. 3600    IN    CNAME    sdol.mastercard.com.
fw-ext.scotiabank.cl.    3600    IN    A    200.14.209.97
gslb.scotiabank.cl.    600    IN    NS    alteon1.scotiabank.cl.
gslb.scotiabank.cl.    600    IN    NS    alteon2.scotiabank.cl.
ns2.scotiabank.cl.    3600    IN    A    200.55.208.26
smexstsip11.scotiabank.cl. 600    IN    A    168.165.13.70
smexstsip21.scotiabank.cl. 600    IN    A    168.165.13.73
smexstsip31.scotiabank.cl. 600    IN    A    168.165.13.76
www.scotiabank.cl.    600    IN    CNAME    www.gslb.scotiabank.cl.
scotiabank.cl.        3600    IN    SOA    fw-ext.scotiabank.cl. webmaster.scotiabank.cl. 2011110401 3600 3600 1857600 8400
;; Query time: 44 msec

Y todos los dominios que esten usando a ns2.scotiabank.cl como dns, tambien seran vulnerables a este tipo de ataque, por ejemplo, el Banco del Desarrollo:

bdd.cl.            3600    IN    SOA    fw-ext.scotiabank.cl. webmaster.scotiabank.cl. 2011110401 3600 3600 1857600 8400
bdd.cl.            3600    IN    NS    ns2.scotiabank.cl.
bdd.cl.            3600    IN    NS    fw-ext.scotiabank.cl.
bdd.cl.            3600    IN    A    200.14.209.97
bdd.cl.            3600    IN    MX    10 smexstsip11.scotiabank.com.mx.
bdd.cl.            3600    IN    MX    10 smexstsip21.scotiabank.com.mx.
bdd.cl.            3600    IN    MX    10 smexstsip31.scotiabank.com.mx.
bdd.cl.            3600    IN    TXT    “v=spf1 ip4:168.165.13.0/24 ~all”
alteon1.bdd.cl.        3600    IN    A    200.14.209.101
alteon2.bdd.cl.        3600    IN    A    200.55.208.27
fw-ext.bdd.cl.        3600    IN    A    200.14.209.97
gslb.bdd.cl.        600    IN    NS    alteon1.bdd.cl.
gslb.bdd.cl.        600    IN    NS    alteon2.bdd.cl.
ns2.bdd.cl.        3600    IN    A    200.55.208.26
smexstsip11.bdd.cl.    600    IN    A    168.165.13.70
smexstsip21.bdd.cl.    600    IN    A    168.165.13.73
smexstsip31.bdd.cl.    600    IN    A    168.165.13.76
www.bdd.cl.        300    IN    CNAME    www.gslb.bdd.cl.
bdd.cl.            3600    IN    SOA    fw-ext.scotiabank.cl. webmaster.scotiabank.cl. 2011110401 3600 3600 1857600 8400
;; Query time: 37 msec

Como es de costumbre, los bancos no tienen procedimientos ni forma para contactar a los responsables.

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

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

Seguir leyendo

AXFR: Una vulnerabilidad que pasa desapercibida …

Las transferencias de zona en los servidores de DNS en simples palabras se usa para replicar lo que hay en un maestro hacia su escalvo. Si esta caracteristica se encuentra mal configurada podria ser usada por un atacante para obtener información sensible sobre el dominio.
Un servidor maestro debe filtrar por dirección IP qué esclavos pueden realizar transferencias, si esto no se configura correctamente entonces cualquier atacante podría consultar por las zonas de los dominios que administra.

imagen: https://getglue.com/topics/p/dns_zone_transfer

Las transferencias de zona se realizan mediante AXFR, que según su descripción:

Las siglas AXFR hace referencia a la transferencia por zonas de un DNS primario a un DNS secundario o de un DNS primario a un server maestro y de un server maestro a un DNS secundario, si llegara a existir algún problema de configuración o actualización del software de cualquiera de estos servidores se podrían explotar una serie de vulnerabilidades como por ejemplo un DoS y la integridad y confidencialidad de la base de datos del DNS primario se verían comprometidas, se estima que alrededor de un 60% de los servidores DNS en internet son vulnerables.

(Fuente: https://es.wikipedia.org/wiki/AXFR)

Tambien exsite la transferencia de zona incremental (IXFR).

Seguir leyendo