sábado, 20 de abril de 2013

Kali Linux. Information Gathering: DNS Analysis

Kali Linux, "distro" dedicada a realizar auditorias de Seguridad, evolución de la popular BackTrack, ofrece más de 300 herramientas dedicadas. 

Esta distribución, basada en Debian a diferencia de Ubuntu en Back Track, permite sincronizar varias veces al día con los repositorios y de esa forma estar constantemente actualizada, además de que el arranque es directamente a la interfaz gráfica.

Es una verdadera navaja suiza para "penetration testing" y para "digital forensics" así que empezaremos a ver algunas de esas utilidades menos utilizadas, pero no menos importantes, que las grandes "suites".

Se describirán en su vertiente básica a modo de iniciación para aquellos que se enfrente por primera vez a este apasionante mundo de la seguridad y de la búsqueda de información para el esclarecimiento de los incidentes. Para aquellos que quieran profundizar más os adjunto al principio de cada herramienta el enlace del proyecto de desarrollo.

Information Gathering: DNS Analysis.

Sin entrar en los potentes y architratados "nmap" y "Maltego" ademas de las herramientas propias del sistema como "whois" y "nslookup", vemos que tenemos en esta sección algunas interesantes utilidades  como:




Útil para:


- Enumerar las entradas DNS IPv6 de un dominio o subdominio.
- Búsqueda de subdominios que pueden ser invisibles para el público, pero todavía existe en los registros de DNS.
A menudo, son olvidados por el administrador y pueden ser un camino para explotar con ataques basados ​​en dominio.
dnsdict6 utiliza una lista de diccionario que se utiliza para adivinar posibles entradas de DNS. 


En primer lugar, abrir la herramienta de Kali Linux en: 

dnsdict6 >> Information Gathering>>DNS Análisis >> dnsdict6 

o también se puede ejecutar directamente, como el resto que veremos, escribiendo en la terminal del SO.


Sintaxis:

dnsdict6 [-s| -m| -l| -x] [-t THREADS] [ -d dominio] [dictionary-file]


Opciones:
-4 también captura direcciones IPv4.
-t número de hilos que usar (defecto 8 – máximo 32).
-D vuelca de la lista de palabras incorporada, no escanea
-d mostrar información IP6 sobre NS, MX información de dominios DNS
-S obtiene el servicio de nombres SRV
-[smlx] optar por el diccionario (cuatro tipos) incorporados en esta herramienta -s(mall=50), -m(edium=796) (DEFAULT) -l(arge=1416), or -x(treme=3211)

Ejemplo:
# dnsdict6 - d46 -x -t 25 dominio.tld


dnsenum

https://code.google.com/p/dnsenum/

El propósito de Dnsenum es reunir la mayor cantidad de información posible acerca de un dominio. 

Actualmente, el programa realiza las operaciones siguientes: 

• Obtiene la dirección del Host (registro A).

• Obtiene los Servidores de nombre (NameServers) (Registros NS) (threaded).

• Obtiene los registros de servicio de correo (registros MX) (threaded).

• Realiza consultas de transferencias de Zona "axfr" en Nameservers (threaded).

• Obtiene nombres extras y subdominios utilizando el motor de búsqueda de Google (google query = "allinurl: -www site:domain").

• Uso de Fuerza Bruta desde un fichero, también puede utilizar recursividad en los subdominios que tienen los registros NS (all threaded).

• Calcular intervalos de red de dominio de clase C y realizar consultas whois en ellos (rosca).

• Realizar búsquedas inversas en Rangos de Red (clase C o/y "Whois netranges") (threaded).

• Crear un fichero "domain_ips.txt" de bloques-IP.



Sintaxis:

dnsenum [Opciones] dominio


Opciones:

(Nota: la fuerza bruta-f es obligatoria)

Se puede bajar por ejemplo de code.google.com/p/dnsenum el diccionario dnsbig.txt para su uso o crear el propio


OPCIONES GENERALES 

-dnsserver (Usa ese servidor DNS para consultas: A, NS y MX. 

-enum equivalente a --threads 5 -s 20 -w 

-H,--help Muestra la ayuda

-noreverse Evite las operaciones de búsqueda reversas. 

-private Muestra y guarda las ips privadas al final del fichero domain_ips.txt 

-subfile escribe todos los subdominios válidos en ese fichero

-t, --timeout (valores de tcp y udp tiempo de espera en segundos (por defecto: 10s)). 

--threads (número de subprocesos que se llevará a cabo diferentes consultas) 

-v, --verbose (muestra todos los avances y todos los mensajes de error)

OPCIONES GOOGLE: 

-p, --pages valor (El número de páginas de búsqueda de Google) el valor por defecto es de 20 páginas, la opción-s se debe especificar. 

-s,--scrap (número máximo de subdominios que analizará Google)


OPCIONES FUERZA BRUTA 

-f, --file   Lee subdominios de este archivo para realizar fuerza bruta. 


a (all) Actualización con todos los resultados. 

g Actualización usando sólo resultados de google. 

r Actualización mediante los resultados de reverse lookup

z Actualización con resultados sólo zonetransfer. 

-r, --recursion (recursividad en subdominios, fuerza bruta todos los subdominios descubiertos que tienen un registro NS. 


OPCIONES WHOIS NETRANGE 

-d, --delay (valor máximo de segundos de espera entre consultas whois, el valor se define al azar, por defecto: 3s). 

-w, --whois (Realiza las consultas whois sobre rangos de red de clase c).



OPCIONES BUSQUEDA INVERSA

-e, --exclude Excluir los registros PTR que coincidan con la expresión de los resultados regexp de la búsqueda inversa, útiles en inválidos nombres de host. 


OPCIONES DE SALIDA 

-o --output Salida en formato XML. Puede ser importados en MagicTree (www.gremwell.com) 


Ejemplos

Para un escaneo

# dnsenum dominio.tld

Para un escaneo de gran alcance:

# dnsenum -enum dominio.tld

Para configurar la exploración con más poder y subdominios:

# dnsenum -enum dominio.tld -f dnsbig.txt –r


dnsmap



Las utilidades de dnsmap:

1. Encontrar interesantes servidores de acceso remoto.

2. Búsqueda de servidores mal configurados y/o sin parche.

3. Búsqueda de nuevos nombres de dominio que le permitirá asignar bloques de red 

4. Encontrar algunos subdominios por fuerza bruta al resolver las direcciones IP internas (RFC 1918). 

5. Descubrir dispositivos embebidos configurados mediante servicios de DNS dinámico, Este método es una alternativa a los dispositivos de búsqueda de Google

Se puede hacer fuerza bruta con una función de la lista de palabras dnsmap o una lista de palabras por el usuario. Los resultados se pueden guardar en formato CSV y formato legible para su posterior procesamiento.

Sintaxis

dnsmap [opciones]


Opciones

-w Fichero de lista palabras pasado por el usuario

-r Genera una salida con los resultados

-c Genera una salida de formato "csv"

-d Tiempo de retraso o respuesta

-i (IP’s a ignorar, para meter varias IP's separadas por una coma) se usa si se obtiene IP con falsos positivos, las pasa por alto


Ejemplos:

Ataque de fuerza bruta a los sub-dominios con el lista de palabras incorporada:
# dnsmap dominio.tld

Ataque de fuerza bruta a los sub-dominios pero esta vez con una word-list personal
# dnsmap dominio.tld -w lista.txt

Ataque de fuerza bruta a los sub-dominios con el built-in word-list y guarda los resultados en /tmp/
# dnsmap dominio.tld -r /tmp/

Ataque de fuerza bruta a los sub-dominios con el built-in word-list y guarda los resultados en /tmp/ y esperando un muestreo de 3 segundos
# dnsmap dominio.tld -r /tmp -d 3000

Ataque de fuerza bruta a los sub-dominios con el built-in word-list y guarda los resultados en /tmp, con un tiempo de 0.8 segundos, generando un archivo csv en /tmp y que ignore las ips siguientes y que use una word-list personal.
# dnsmap dominio.tld -d 800 -r /tmp/ -c /tmp/ -i 10.55.206.154,10.55.24.100 -w ./wordlist_TLAs.txt

Se puede encontrar word-lists en:

http://packetstormsecurity.org/Crackers/wordlists/dictionaries/
http://www.cotse.com/tools/wordlists1.htm
http://wordlist.sourceforge.net/


Los tipos de enumeración que realiza dnsrecon son los siguientes:

• Zona de Traspasos 

• Inversa 

• Dominios y host de fuerza bruta 

• Enumeración de grabación estándar (comodín, SOA, MX, A, TXT, etc) 

• Caché Snooping 

• Zona de Walking

• Búsqueda de google


Sintaxis

dnsrecon.py


Enumeración de grabación estándar 

Para llevar a cabo la enumeración DNS estándar con el DNSRecon el comando que hay que utilizar es el = -d


Ejemplos:

# dnsrecon.py –d dominio.tld


Enumeración Inversa

# dnsrecon.py –r 80.109.162.60-80.109.162.80

# dnsrecon.py –d dominio.tld


Google Enumeración

# dnsrecon.py –d dominio.tld –s


Fuerza Bruta Enumeración

Para la realización de esta técnica lo único que tenemos que hacer es dar una lista de nombres y tratará de resolver los registros A, CNAME AAA y contra el dominio a, tratar cada uno de ellos por orden de una entrada .Para ejecutar el Nombre de Dominio de fuerza bruta hay que escribir:

# dnsrecon.py –d dominio.tld –D lista.txt –t brt



A servidores DNS:

Caché Snooping 

Snooping DNS cache se produce cuando el servidor DNS tiene un registro DNS específico en la cache. 

El registro DNS suele revelar muchísima información. 

dnsrecon.py –t snoop -n Sever -D


Zona de Walking 

Esta técnica puede desvelar los registros internos si la zona no está bien configurada. La información que puede ser obtenida nos puede ayudar a mapear máquinas de la red mediante la enumeración de los contenidos de una orden zone. 

dnsrecon -d -t zonewalk

fierce
Muchas veces en una empresa, puede haber servidores situados en las direcciones IP no contiguas. Esto es un problema, simplemente porque el uso de un escáner de IP no revelan estos equipos, como las direcciones IP que pueden estar muy separadas. Además, como la mayoría de los servidores DNS están configurados para rechazar solicitudes de transferencias de zona DNS, no es posible obtener esta información a partir de ellos.

Fierce es un escáner de dominio que le ayuda a encontrar los servidores DNS, transferencias de zona, subredes y host de cualquier dominio de destino. Fierce primero buscará un dominio de destino en busca de los servidores DNS, junto a las transferencias de zona. En el caso de que fierce no sea capaz de recuperar todas las transferencias de zona, lo intentará a la vieja usanza con un ataque de fuerza bruta.

Sintaxis

perl /usr/bin/fierce -dns dominio [opciones]


Opciones:

-connect
-delay
-dns
-dnsfile
-dnsserver
-file
-fulloutput
-help
-nopattern
-range
-search
-supprees
-tcptimeout
-threads
-traverse
-version
-wide
-wordlist

Bajar hosts.txt: http://ha.ckers.org/fierce/hosts.txt



No hay comentarios:

Web Statistics