Categorías
Cracking Explotación de Software Hacking Services - Software

10 Herramientas esenciales para pentesting en Active Directory – Parte 1 de 2

Demostración en vídeo de éste post:

Hay una gran cantidad y variedad de herramientas que apoyan en el proceso de pentesting sobre sistemas Windows y muy concretamente, sobre entornos de Active Directory. En este post y el siguiente enumeraré 10 herramientas que en mi experiencia, son esenciales cuando se realiza una auditoría de seguridad en éste tipo de entornos. Obviamente hay bastantes más, pero creo que éstas representan un buen punto de partida para tener un «arsenal» lo suficientemente sólido a la hora de ejecutar auditorías sobre sistemas Windows.

1. Evil-WinRM

Evil-WinRM es, con diferencia, una de las herramientas más útiles cuando se trata de realizar labores de post-explotación sobre un sistema Windows. Utiliza el protocolo WinRM para el establecimiento de conexiones remotas con sistemas Windows y genera una shell interactiva. Cuenta con varios comandos que permiten subir y descargar ficheros, ejecutar assemblies de C# en memoria, importar scripts de Powershell, entre muchas otras cosas. Si quieres aprender en detalle cómo funciona, te recomiendo los siguientes vídeos publicados en el canal de YouTube:

Evil WinRM Shell sobre WinRM para pentesting en sistemas Windows Parte 1 de 2
Evil WinRM Shell sobre WinRM para pentesting en sistemas Windows Parte 2 de 2

2. GhostPack

Se trata de un conjunto de herramientas muy potente para labores de pentesting sobre sistemas Windows. Cuenta con utilidades tan conocidas como Rubeus, Seatbelt, SharpDPAPI y SharpUp. Estas herramientas se encuentran desarrolladas en C# y es necesario descargar el código del proyecto y compilar la solución DotNet, lo cual no es nada complejo de hacer aunque puede llevar algo de tiempo. Ya se ha escrito sobre estas herramientas en el blog, así que te recomiendo su lectura en los siguientes posts:

Post-explotación en sistemas Windows con GhostPack – Parte 1 de 3
Post-explotación en sistemas Windows con GhostPack – Parte 2 de 3
Post-explotación en sistemas Windows con GhostPack – Parte 3 de 3

3. CrackMapExec

En este caso es una herramienta que últimamente está ganando popularidad y no es para menos. Permite la ejecución de pruebas sobre servicios comunes en un entorno de Active Directory, tales como SMB, RDP, MSSQL, entre otros. Es una utilidad que se puede ejecutar desde la máquina del atacante y funciona perfectamente. Aunque no hace falta un usuario para que las pruebas se lleven a cabo correctamente, la herramienta permite indicar un usuario y contraseña (local o de dominio) para lanzar pruebas sobre el sistema objetivo de la forma más completa posible. Si quieres aprender un poco más sobre el uso de ésta herramienta, puedes leer el siguiente post y ver el vídeo que le acompaña en YouTube.

4. ADReaper

Es una utilidad orientada a la enumeración remota, permite extraer información variada de un sistema Windows ejecutando consultas LDAP. Tal y como ocurre con CrackMapExec, es posible ejecutar la herramienta sin indicar un usuario de dominio, sin embargo, podrá extraer mucha más información si se especifica uno y por este motivo, puede ser vista como una herramienta orientada a la post-explotación.

5. Certify y Certipy

Estas dos utilidades se han vuelto muy populares tras la aparición de las múltiples vulnerabilidades que afectan a la PKI diseñada por Microsoft para sistemas Windows Server, también conocida como AD CS (Active Directory Certificate Services). Son herramientas que de hecho, no explotan ninguna vulnerabilidad, simplemente realizan consultas sobre los servicios de AD CS y permiten detectar malas configuraciones que le permiten a un atacante la explotación del entorno. La principal diferencia es que Cerify se encuentra desarrollada en C# y es necesario subir el programa a una estación de trabajo unida al dominio o ejecutarla desde memoria con Invoke-Binary de Evil-WinRM, mientras que Certipy es un script en Python que se puede ejecutar desde la máquina del atacante, en donde solamente es necesario indicar las credenciales de un usuario de dominio para su ejecución.

En éste post se han mencionado cinco herramientas fundamentales para entornos de Active Directory, en el siguiente post se mencionarán cinco más que también considero fundamentales.

Un saludo y Happy Hack!
Adastra.

Categorías
Cracking Hacking Hacking Python Networking Services - Software

Generación de diccionarios para fuerza bruta con PyDictor

En ocasiones viene bien contar con diccionarios robustos para lanzar herramientas como THC Hydra o similares, no obstante últimamente muchas personas tienden a utilizar contraseñas un poco más seguras que como mínimo, ya no siguen los patrones más habituales o que no se encuentran en el listado de las contraseñas más usadas (aunque de todo se puede llegar a ver). Es posible que las herramientas de fuerza bruta den mejores resultados si se utiliza un diccionario enfocado al objetivo y para ello es necesario recolectar información sobre el  «target» utilizando técnicas OSINT, por ejemplo. Esta información recolectada puede ser útil en herramientas como PyDictor a la hora de generar diccionarios con posibles contraseñas utilizando como entrada esta información.
PyDictor es un script desarrollado en Python que cuenta con abundantes opciones para personalizar la generación de diccionarios, entre las que se incluyen la aplicación de expresiones regulares, uso de complementos, codificar cada palabra del diccionario con un algoritmo como SHA, MD5, DES, entre otras cosas.

La instalación no es para nada compleja, de hecho, es probable que ya se cuente con todas las librerías y no sea obligatorio instalar nada, solamente clonar/descargar el repositorio de GitHub y ejecutar el script «pydictor.py».
A continuación se enseñan algunos comandos sobre el uso básico de la herramienta para entender cómo funciona y lo fácil que resulta usarla.

python3 pydictor.py -base d -o /tmp/test1.txt -> Genera un fichero en donde cada línea contendrá una palabra del diccionario en base numérica, con exactamente una longitud de 4 (valor por defecto si no se especifica la opción –len). 0000, 0001, …., 9999

python3 pydictor.py –len 6 6 -base d -o /tmp/test2.txt -> Genera un fichero en donde cada línea contendrá una palabra del diccionario en base numérica, con exactamente una longitud de 6. 000000, 000001, …., 999999

python3 pydictor.py –len 5 5 -base L -o /tmp/test3.txt -> Genera un fichero en donde cada línea contendrá una palabra del diccionario utilizando los caracteres del alfabeto en minúsculas, con exactamente una longitud de 5. aaaaa, aaaab, aaaac, …., zzzzz

python3 pydictor.py –len 5 5 -base dc -o /tmp/test4.txt -> Genera un fichero en donde cada línea contendrá una palabra del diccionario utilizando los caracteres del alfabeto en mayúsculas y los dígitos del 0 al 9, con exactamente una longitud de 5. 00000, 00001, …, 0000A, …., ZZZZZ

De momento, estas pruebas iniciales demuestran que la herramienta puede hacer combinaciones y permutaciones. Nada que no hagan ya otras herramientas o incluso un script con pocas líneas de código, sin embargo esto para empezar y hacerse una idea de su uso está bien.

python3 pydictor.py –len 5 5 -base d –head adas –tail tra -o /tmp/test5.txt -> Genera un fichero en donde cada línea contendrá una palabra del diccionario en base numérica y empezará con «adas» y terminará con «tra». Cada palabra tendrá exactamente una longitud de 5. adas00000tra, adas00001tra, …., adas99999tra

python3 pydictor.py –len 5 5 -base d –head adas –tail tra –encode sha256 -o /tmp/test6.txt -> Exactamente igual que el comando anterior, pero cada palabra del diccionario será codificada con SHA256

python3 pydictor.py –len 5 5 -char adastra -o /tmp/test7.txt -> Se genera un fichero en donde cada línea tendrá una de las posibles combinaciones de los caracteres indicados en «chars». Cada palabra tendrá exactamente una longitud de 5.

Con estos ejemplos queda claro que el script es capaz de realizar permutaciones de una forma bastante flexible y aunque no aparece en la imagen anterior, existe otro tipo de permutación que también hace PyDictor y es basada en grupos de caracteres. Es decir, con «-chars» se indican los caracteres que se utilizarán para la permutación, mientras que con «-chunk» se especifican grupos de caracteres separados por un espacio y la herramienta permuta dichos grupos, sin modificar el contenido de cada grupo.

Ahora es el momento de utilizar una de las características más interesantes de la herramienta y es precisamente, la posibilidad de crear diccionarios personalizados utilizando la información que se tiene de un objetivo. Para ello, se debe cargar el módulo de ingeniería social disponible. Se debe ejecutar el script de la siguiente manera: «python3 pydictor –sedb» y a continuación aparecerá el siguiente asistente.

En este asistente lo que primero que hay que ver y establecer son las opciones, las cuales se pueden ver en el menú principal o con el comando «show options». A partir de este punto hay que introducir los datos del objetivo en cuestión, teniendo en cuenta que cuanta más información se tenga, más combinaciones generará la herramienta y por supuesto, el tamaño del diccionario también será mayor.

Por otro lado, existen opciones muy interesantes que permiten que el diccionario sea más potente y robusto. Algunas de estas opciones se enseñan a continuación.

 

python pydictor.py -plug birthday 01011970 01012021 –dmy –len 8 8 -o /tmp/plugbir.txt -> Simplemente genera un fichero en el que cada palabra será una fecha entre el 01/01/1970 y 01/01/2021. Se puede combinar con otras opciones como «-chunk» para realizar permutaciones interesantes.

python pydictor.py -plug scratch http://thehackerway.com -o /tmp/scratch.txt -> Realiza un proceso de crawling básico contra el sitio indicado, extrayendo cada una de las palabras encontradas en el sitio web. El complemento scratch se puede combinar con otras opciones de la herramienta y también se puede hacer sobre múltiples sitios web, basta con dirigirse al fichero <PYDICTOR_DIR>/funcfg/scratch.sites y añadir cada sitio web manualmente (uno por línea). Funciona de un modo muy similar a CeWL.

python3 pydictor.py -extend adastra thehackerway.es –more –leet 0 1 2 11 21 –level 4 –len 1 12 –occur «<=10» «>0» «<=2» -o /tmp/wordlist.lst -> Genera un diccionario para ingeniería social utilizando los datos «adastra» y «thehackerway.es». Con –more se le indica a la herramienta que genere un diccionario extendido utilizando algunos patrones de contraseñas comunes. Con –leet se realiza la sustitución de caracteres en función a las reglas definidas en el fichero <PYDICTOR_DIR>/funcfg/leet_mode.conf. Los números que acompañan a esta opción en este caso son «0, 1, 2, 11 y 21», los cuales son códigos internos que indican cómo debe hacerse la sustitución y se encuentran debidamente explicados en la documentación oficial: https://github.com/LandGrey/pydictor#code. Con –level se intenta filtrar los resultados que serán incluidos en el diccionario. Con –occur suele venir acompañado de –leet como filtro para el número de  apariciones de letras, dígitos y caracteres especiales. Es decir, en este caso concreto se empezarán a sustituir letras por dígitos cuando la letra definida en las reglas «leet» aparezca 10 veces o más. Se sustituirán los dígitos cuando alguno de ellos aparezca 1 vez o más y finalmente, cualquier carácter especial se sustituirá cuando aparezca 2 veces o más.

Como se puede ver es una herramienta bastante completa y al mismo tiempo puede resultar compleja, no obstante la calidad de diccionarios que puede generar hace que merezca la pena su estudio. Por último, se aconseja ver los valores admitidos en la opción «-tool» ya que pueden ser útiles para la gestión de los diccionarios generados. Espero que te haya resultado interesante y si ese es el caso, puedes dejar un comentario en este post o simplemente compartirlo.

Un saludo y Happy Hack!
Adastra.

Categorías
Cracking Hacking Networking

Crackeando WPA2 con un Half-Handshake

Las redes wifi con WPA/WPA2 activado suelen ser suficientemente seguras y dadas sus características, a la fecha de redactar este articulo, la única forma de atacar directamente una red con este mecanismo de protección es intentando capturar un 4way-handshake entre el cliente y un AP. Un 4way-handshake en la terminología de WPA se refiere a los paquetes de datos intercambiados entre AP y cliente a la hora de realizar el proceso de autenticación mutuo. No obstante, aunque un handshake completo es lo deseado para poder iniciar un ataque por diccionario, también es posible hacerlo con un handshake “a medias”, es decir, cuando el cliente inicia el proceso de autenticación con un AP y dicho proceso ha fallado. Ahora bien, seguramente el lector ya lo sabe, pero cuando un dispositivo tiene registrado un AP con el que suele conectarse con frecuencia (como por ejemplo una red wifi domestica), dicho dispositivo envía de forma constante paquetes del tipo “PROBE_REQUEST” con la esperanza de que el AP se encuentre en en la zona de alcance. Cuando un AP con el SSID especificado responde con un “PROBE_RESPONSE”, el proceso de autenticación en ambos sentidos comienza inmediatamente, dando lugar a una serie de peticiones que identifican tanto al cliente como al AP y determinan si ambos son quienes dicen ser. Se trata de un procedimiento robusto en el que la relación de confianza en ambos sentidos es vital para que la conexión se pueda realizar correctamente. No obstante, es posible que solamente una de las dos partes se pueda identificar con la otra de forma correcta, en este caso hablamos de un handshake a medias, ya que solamente una de las dos entidades ha podido reconocer a la otra. Con un handshake a medias también es posible realizar el mismo ataque por diccionario que con un handshake completo y por este motivo, también es un vector de ataque valido en este tipo de entornos.
Ahora, ¿Cuándo y cómo se debe llevar a cabo este tipo de ataque? Cuando se capturan los paquetes “PROBE_REQUEST” de un cliente, dichos mensajes contienen el SSID del AP que el cliente busca y en este punto, un atacante puede levantar un AP falso con dicho SSID para responder a las peticiones enviadas por el cliente. Para responder al “cómo” de la pregunta anterior, pueden haber varios mecanismos validos, como por ejemplo utilizando la herramienta “ap-hotspot”. Por simplicidad y porque es una solución rápida de implementar, se puede utilizar la herramienta “KDE NetworkManager” o el “NetworkManager de Gnome”, a efectos prácticos utilizar cualquiera de los dos resulta equivalente.

Configurando un AP inalámbrico con el NetworkManager

En sistemas Debian el paquete que incluye el KDE NetworkManager es el “network-manager-kde” y en sistemas Ubuntu el “plasma-nm”. Como es acostumbrado en este tipo de sistemas, se puede instalar muy fácilmente utilizando herramientas como “apt-get”. Por otro lado, en sistemas Debian y Ubuntu con GNOME, el NetworkManager viene incluido por defecto y se puede ver en el panel lateral en donde se encuentran otras herramientas del escritorio. En ambos casos, crear un AP es bastante simple, las imágenes que se enseñan a continuación muestran cómo crear un AP con un SSID y una contraseña. (Antes de crear la conexión, asegurarse de que la red wifi se encuentra desactivada).

 

wifi1

Creando conexión inalámbrica con NetworkManager de Gnome

wifi2

Estableciendo los detalles básicos de conexión

wifi3

Estableciendo credenciales de acceso a la conexión.

Después de crear la conexión, aun es necesario cambiar el modo de la conexión, de esta forma actuará como AP. Para ello, es necesario editar el siguiente fichero de configuración.

sudo gedit /etc/NetworkManager/system-connections/ONO-FAKE

Donde “ONO-FAKE” es el nombre que se le ha dado a la conexión. Al abrir dicho fichero de configuración, es necesario cambiar la línea “mode=infrastructure” por “mode=ap”. El contenido del fichero será similar al siguiente:

[connection]

id=ONO-FAKE

uuid=c3704266-e143-4705-a3c0-9511fc2d37eb

type=802-11-wireless

[802-11-wireless]

ssid=ONO12B5

mode=infrastructure

mac-address=9C:D2:1E:43:76:E9

security=802-11-wireless-security

[802-11-wireless-security]

key-mgmt=wpa-psk

psk=testingwpa2ap

[ipv4]

method=auto

[ipv6]

method=auto

Con todo lo anterior, ahora se puede activar la red wifi y el dispositivo actuará como un AP con el SSID indicado.

El siguiente paso consiste en capturar todo el trafico correspondiente a las conexiones que realizarán los clientes contra el AP recién creado. Para ello, se puede utilizar Wireshark, TCPDump o airodump-ng para capturar el handshake a medias.

sudo tcpdump -i wlan0 -s 65535 -w half-handshake.cap

Una forma de conseguir trafico, es utilizando herramientas como aircrack-ng para ejecutar ataques de “deauthenticación” contra los clientes de una red determinada. En el caso de que no exista un AP con el SSID especificado en la zona de acción, pero que se tenga la plena seguridad de que en algún momento habrá clientes que busquen dicho SSID, solamente será cuestión de paciencia y esperar a que dichos clientes ejecuten las peticiones “PROBE_REQUEST”.

Finalmente, es el momento de realizar el ataque por diccionario y para ello, se puede utilizar una herramienta llamada “WPA2-HalfHandshake-Crack”

Utilizando WPA2-HalfHandshake-Crack

“WPA2-HalfHandshake-Crack” es una herramienta que se encarga de realizar ataques por diccionario contra ficheros PCAP con un handshake completo o uno a medias. El proyecto se encuentra ubicado en el siguiente repositorio de GitHub: https://github.com/dxa4481/WPA2-HalfHandshake-Crack.git

Es necesario instalar todas las dependencias para poder ejecutar el script y para ello, se puede lanzar el script setup.py con el argumento “install”. La utilidad principal del proyecto es “halfHandshake.py” y recibe como argumento las siguientes opciones:

-r: Fichero PCAP con el handshake o el handshake a medias que se ha capturado previamente

-m: Dirección MAC del AP.

-s: El SSID del AP.

-d: Ubicación del diccionario para realizar el ataque. Si no se especifica un valor, se lee el diccionario por defecto de la herramienta.

Usando el fichero PCAP capturado en el paso anterior y un diccionario que contiene la contraseña, se puede ejecutar la utilidad para intentar obtener el passphrase.

python halfHandshake.py -r half-handshake.cap -m FC15B4FCF606 -s «ONOB4387» -d dictONOFAKE

loading dictionary…

0.02212665655% done. 700.23228772 hashes per second

0.0431311549654% done. 713.574044375 hashes per second

0.0637903739549% done. 714.927209317 hashes per second

0.0851689250818% done. 721.570195251 hashes per second

0.105885690642% done. 721.111075404 hashes per second

Passphrase found! testingwpa2ap

Como se puede apreciar, ha sido rápido y limpio, evidentemente porque el diccionario especificado ya contenía la passphrase del AP, sin embargo es bastante ilustrativo para probar el uso de esta herramienta y verificar que aunque no se cuente con un handshake completo, aun sigue siendo posible realizar un ataque por diccionario con un handshake a medias.

Un saludo y Happy Hack!
Adastra

Categorías
Cracking Hacking Networking

Wireless Hacking – Listado de Herramientas para redes inalámbricas – Parte XXIII

A lo largo de esta serie de publicaciones se ha hablado muchísimo de la importancia que tiene conocer sobre las vulnerabilidades y los vectores de ataque que pueden ser empleados con el fin de comprometer una red inalámbrica, ese era el principal objetivo de esta serie artículos, sin embargo en esta ocasión, hablaré sobre algunas aplicaciones disponibles que permiten optimizar y agilizar todo el proceso de hacking/cracking de una red inlambrica, omitiendo de esta lista, herramientas como las disponibles en la suite de aircrack-ng, dado que ya se ha hablado suficiente sobre dicho conjunto de aplicaciones y merece la pena dar espacio a otras aplicaciones que son también bastante interesantes.

Categorías
Cracking Hacking Networking

Wireless Hacking – Cracking WPA/PSK utilizando Honeypots WPA /WPA2 – Parte XVI

Uno de los vectores más efectivos contra clientes de redes inalámbricas es la creación de Fake AP’s o Evil Twins (que en esencia parten de los mismos conceptos) dado que es relativamente fácil engañar a un cliente para que utilice un determinado punto de acceso, tal y como se ha comentado anteriormente en este blog en creando de un evil twin y creando un fake AP.

La diferencia entre el ataque de “Evil Twin” y la creación de Fake AP simple, es que el ataque de “Evil Twin” se caracteriza por ser un ataque dirigido, mientras que la creación de un Fake AP con un portal captativo, sin ningún tipo de mecanismo de autenticación, como en el caso de Karmetasploit (ver el post sobre karmetasploit) es un ataque abierto y pasivo, dado que no se ejecuta contra un cliente(s) concreto, solamente espera a que alguien quiera utilizar el AP sin ningún tipo de autenticación (Hay algunos “hackers” que les gusta tener internet gratis y que sean otros los que lo paguen por ellos). Sin embargo, cuando se trata de la creación de un Fake AP con cifrado WPA o la ejecución de un ataque de “Evil Twin” contra un AP con WPA/WPA2 con PSK, las cosas cambian. Por este motivo, en esta publicación se intentará explicar como se adaptan estas técnicas (especialmente en el caso del “Evil Twin”) contra un AP con WPA/WPA2 con PSK.

Categorías
Cracking Hacking Networking

Wireless Hacking – Utilizando Cowpatty y Pyrit para optimizar ataques por diccionario contra WPA/WPA2 – Parte XV

Una de las principales desventajas de realizar un ataque offline por diccionario es la cantidad de tiempo y de recursos que deben emplearse para conseguir crackear una clave WPA, la razón de esto es que todo el proceso de generación de la clave PSK con 256 bits debe realizarse una y otra vez para cada una de las palabras encontradas en el diccionario de claves, esto sin lugar a dudas puede consumir una gran cantidad de recursos en un ordenador que lo pueden dejar “inutilizable” mientras se realiza el ataque.

WPA/WPA2 el proceso de ataque por fuerza bruta es tan exigente en términos de recursos de CPU? Porque para cada clave contenida en el diccionario debe aplicarse el algoritmo PBKDF2 que como se recordará de publicaciones anteriores, es el responsable de la generación de la clave maestra PMK (comúnmente conocida como PSK) el algoritmo recibe como parámetros una serie entradas que son:

1. El passphrase (la clave del AP seleccionada por el administrador del router)

2. El SSID

3. La longitud de dicho SSID

4. Número de veces que el passphrase será codificado (hashed) 4096

5. La longitud de la clave PSK (256)

Categorías
Cracking Hacking Networking

Wireless Hacking – Cracking WPA/WPA2– Parte XIV

Una vez que se han comprendido correctamente los conceptos funcionales de WPA con PSK, se comprende rápidamente que el proceso de crackeo de una red que este tipo de protección no es una tarea trivial y adiciona un nivel de dificultad extra que no existía en WEP, para que un atacante pueda atacar este mecanismo de defensa, en primera instancia debe capturar el “4-way handshake” generado cuando un supplicant y un authenticator intercambian los paquetes correspondientes al proceso de instalación de las claves PTK. Para recordar estos conceptos, merece la pena volver a enseñar la imagen de la anterior publicación en la que se explica como es el intercambio de mensajes (y su tipo) entre el authenticator y el supplicant.

Categorías
Cracking Hacking Networking

Wireless Hacking – Conceptos Básicos sobre WPA/WPA2– Parte XIII

En publicaciones anteriores se ha venido hablando sobre los conceptos básicos en redes inalámbricas y se ha hecho un especial énfasis en las vulnerabilidades existentes en las redes que utilizan WEP como algoritmo para el cifrado de datos. Sin lugar a dudas WEP no es seguro desde ningún punto de vista y aunque existan algunos mecanismos que puedan hacerlo un poco más resistente a determinados ataques, existía una clara necesidad de crear un nuevo mecanismo para el cifrado de paquetes inalámbricos de forma robusta, segura y eficiente. Es aquí donde entra en juego WPA y WPA2, como reemplazos mucho más óptimos y seguros que cualquier implementación de WEP.

WPA son las siglas de Wifi Protected Access y se encuentra implementado en siguiendo el estándar IEEE 802.11i (casi en su totalidad), sin embargo no se trata de una solución “a largo plazo” de hecho, WPA se trata de una solución intermedia que permita realizar la transición entre WEP y WPA, solamente WPA2 es una solución que se ha diseñado para ser “a largo plazo” y se encuentra diseñada para los dispositivos inalámbricos más recientes (aquellos que soporten el estándar IEEE 802.11). Como puede extraerse de las lineas anteriores WPA y WPA2 NO SON iguales (aunque algunas personas los mencionen de forma indistinta como si se tratasen de la misma solución). A continuación se destacan las principales diferencias entre WPA y WPA2.

Categorías
Cracking Hacking Networking

Wireless Hacking – Ataques contra WEP – Brute Force, Python y Airdecap-ng para crackear una clave WEP – Parte XII

En publicaciones anteriores se han explicado los mecanismos más comunes para conseguir crackear una clave WEP, sin embargo en todos los casos, siempre ha sido necesario capturar una cantidad considerable de IV contenidos en los paquetes cifrados por el AP, para posteriormente utilizarlos en el proceso de crackeo con herramientas como aircrack-ng. Sin embargo, pueden existir algunas circunstancias que impiden capturar un numero de IV lo suficientemente elevado como para conseguir la clave de una red determinada y es en esos casos donde la mayoría de atacantes pierden el interés en un objetivo dado y suelen afirmar, simplemente que no es posible crackear una clave WEP por las dificultades presentadas. En estos puntos la creatividad y las técnicas de hacking/cracking conocidas puede ser en muchos casos de gran utilidad.

Categorías
Cracking Hacking Networking

Wireless Hacking – Ataques contra WEP – Hirte Attack – Parte XI

Si has leído las publicaciones anteriores sobre el funcionamiento del ataque por fragmentación y el ataque Caffe Latte, no se tendrán mayores problemas en comprender este tipo de ataque, ya que en realidad, el ataque Hirte, es simplemente una combinación de ambas técnicas con el fin de crackear una clave WEP con una tasa de éxito mucho mayor que usando de forma aislada los ataques de fragmentación y de Caffe Latte. El mecanismo es sencillo, en primer lugar se crea un Fake AP cuyo objetivo son clientes aislados (o incluso clientes en el área del AP). Se trata de un ataque pasivo, ya que una vez se inicia el Fake AP, este espera a que el cliente envíe un paquete ARP o paquete IP (del mismo modo que lo hace el ataque de Caffe Latte) y posteriormente, dicho paquete es convertido a un paquete ARP Request para el mismo cliente de forma tal, que la dirección IP contenida en el paquete capturado es relocalizada en el header del paquete ARP que se esta creando, usando para ello, el ataque de fragmentación indicado en la publicación anterior a esta, de esa forma el nuevo paquete ARP contendrá en su campo de Header la dirección IP del paquete original, este paquete ha sido reconstruido utilizando fragmentación y parches del ICV tal como se ha indicado en la publicación anterior. Posteriormente, una vez construido dicho paquete en función a cada uno de los fragmentos generados, se procede a dirigir dicho paquete hacia el cliente, dado que en el header del paquete ARP se encuentra la dirección IP de dicho cliente, cuando este llegue a su destino, el cliente responderá informando que efectivamente la dirección IP indicada corresponde a su máquina y la respuesta será simplemente un paquete ARP Response. Ahora bien, el procedimiento de enviar el paquete ARP request generado al cliente y posteriormente recibir respuestas por parte de él, se repite de forma continua hasta que el atacante considera que ha podido recolectar suficientes paquetes como para intentar crackear la clave WEP.