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



lunes, 15 de abril de 2013

Aumentar la efectividad para luchar contra el Cibercrimen

El Secretario General  de INTERPOL, Ronald Noble, dijo el pasado miércoles 10 de abril de 2013 que la lucha contra el Cibercrimen pasa por la colaboración de las fuerzas de la Ley con las empresas privadas que se dedican al sector de la Seguridad de Internet, así como la armonización de las reglamentaciones entre los países.

http://www.interpol.int/en/Internet/News-and-media/News-media-releases/2013/PR043

La diferencia de legislaciones entre los países así como los diferentes procedimientos de investigación son problemas con los que deben luchar los responsables del esclarecimientos de estos incidentes, máxime que en algunos países estas legislaciones y procedimientos son inexistentes.

El empezar a solucionar esas diferencias así como el intercambio de la información entre los diferentes cuerpos encargados de velar por nuestro derechos en el Ciberespacio como la ayuda técnica y de recursos materiales y humanos que pueden brindar el sector privado será un paso importante para empezar a crear una ciberpolicía que prevenga, monitorice y adquiera las pruebas de los hechos delictivos para que el ciberespacio sea más seguro para la Sociedad y, de ese modo, la Justicia pueda aplicar las leyes a aquellos infractores de las mismas.

El próximo julio de 2013 se celebrará en Lyon (Francia) "The first International Forum on Technologies for a Safer World" donde INTERPOL junto con el Ministerio Francés de Interior, reunirán a las Fuerzas del Orden, la Industria, responsables políticos e investigadores con el fin de discutir las tecnologías para esa prevención de la delincuencia tecnológica.

Esperemos que esta iniciativa no sea una más a todas las reuniones previas que han venido aconteciendo llenas de buenos propósitos y quedando diluidas por el paso del tiempo y otras supuestas prioridades.

martes, 2 de abril de 2013

Zeus, suma y sigue

Las Botnets siguen evolucionando y dominando el mundo del cibercrimen. El dinamismo y el gran número de  ataques que se produce día tras día hace muy difícil su investigación y erradicación.

Las técnicas antiforensics que utilizan los responsables de las mismas han ido perfeccionando con la misma velocidad o incluso por encima de las acciones de los investigadores.

El llegar a detectar los canales de comunicación  con los C&C con la suficiente celeridad es el reto más imperioso. Los cambios constantes de los servidores de Control así como la seguridad por saturación  son técnicas de ocultación que les va funcionando a los cibercriminales.

Un reciente estudio de los Laboratorios McAfee afirmaba que en estos últimos tres meses se han procesado cerca de 8.500.000 maliciosos binarios distintos, de los que 2 millones tenían la funcionalidad de comunicarse con un C&C. De estos un 37% eran ya conocidas Botnets.



Se destaca que Zeus, identificado en el 2007, y sus variantes continua teniendo el mayor peso de todas las infecciones de Botnets con cerca del 58%, el resto no pasan individualmente del 8,5%.

Si tenemos en cuenta la actividad delictiva que realizan ¿Cómo es posible que los defensores de la Seguridad en estos 6 años no hayan sido capaces de derrotar o minimizar el riesgo de esta amenaza?.

Algo falla en la cooperación entre todos los responsables de la seguridad y la justicia para que no se haya puesto solución al problema.

Conocemos, sabemos que emplean técnicas antiforensics, que evolucionan, que ofuscan, que usan loopings, Hierachical Boot Master, comunicaciones  P2P, algoritmos de generación de dominios, Hardcode IP addresses, conexiones IRC, comunicaciones HTTP y HTTPS, múltiples conexiones inocentes para enmascarar las maliciosas, C&C Distribuidos, Redundancia, Autoactualizaciones, Single Flux, Double Flux, Hydra Flux, ...
pero ¿qué pasa?, ¿es qué acaso los que están detrás son de otro Mundo? son personas como nosotros con un cerebro que piensa y procesa como los nuestros, así que lo que falla es que ellos están trabajando coordinados y nosotros hacemos la guerra por nuestra cuenta y si seguimos así tendremos Zeus y después vendrán: Atenea, Apolo, Artemisa, Hermes, Perséfone, Dioniso, Perseo, Heracles, Helena, Polux, Minos,  Eumonia, Dice, Irene, Clotos, Láquesis, Atropos, Ares, Hebe y Hefesto.

Pero aunque, según los griegos, Zeus era inmortal no olvidemos que eso era mitología, y estamos en un mundo real, digital pero real, que se rige por reglas, funciones y no existe la casualidad, todo es ciencia y no actúa aleatoriamente,  por lo ya es hora que nos unamos, usemos la INTELIGENCIA y solucionemos el problema.

lunes, 1 de abril de 2013

¡Malditas traducciones! Ir a beber a la fuente original

El seguir las traducciones existente en la Red aunque sea de páginas oficiales pueden obsequiarnos con verdadero quebraderos de cabeza, a veces solo serán problemas temporales pero en ocasiones podrían provocar más de un disgusto.

A veces no es la propia traducción sino el cambio de formato de representación de algunos caracteres. Como muestra podemos observar que pasa en la documentación sobre Kali Linux

Persistencia en Kali Linux USB Flash Drive

Si os habéis bajado la imagen de Kali ISO y habéis intentado seguir las instrucciones dadas en el WebSite de kali.org en castellano

http://es.docs.kali.org/installation-es/instalacion-de-kali-linux-desde-una-memoria-usb

os habréis encontrado con el error:

bash: syntax error near unexpected token `;&' 

las instrucciones del documento traducido era:



dado que las instrucciones traducidas incorporaron las entidades HTML del carácter ">"

de este modo las instrucciones correctas para corregir dicho error serían:

root@kali:~# mkdir /mnt/usb
root@kali:~# mount /dev/sdb2 /mnt/usb
root@kali:~# echo "/ union" >> /mnt/usb/persistence.conf
root@kali:~# umount /mnt/usb


Web Statistics