Yago Fernandez Hansen
Valoración de los usuarios: / 7
PobreEl mejor 
Addthis

Seguridad Wi-Fi

Recientemente he estado analizando ciertas soluciones existentes, orientadas a la obtención de claves WPA a través de métodos de fuerza bruta, basados en diccionarios o mediante un generador de diccionarios. Para lograrlo, construí un laboratorio con un punto de acceso que configuré en WPA y un cliente Windows, al que, una vez conectado con la clave correcta, expulsé mediante un proceso de desautenticación (aireplay-ng). Mediante este método obtuve una pequeña captura (utilizando airodump-ng) con cuatro paquetes EAPOW necesarios para poder realizar un ataque contra este algoritmo Wi-Fi. Este es un proceso que ya muchos conocereis y que ha ocupado muchos artículos y bibliografía, pero lo que me ocupa en este artículo es lo que vendrá posteriormente, que será la ruptura de la clave mediante fuerza bruta.

aircrack-ngMi primera prueba se realizó con aircrack-ng utilizando el método de diccionario contra la captura. El índice de claves por segundo obtenido fué muy relativamente elevado, gracias a la correcta utilización de las capacidades SSE del procesador. Podemos igualmente mejorar el rendimiento introduciendo las capacidades de airolib-ng de preprocesar las claves mediante hashes utilizando rainbow-tables y mejoraremos los resultados obtenidos.

El preprocesamiento de rainbow tables para la generación de hashes WPA a través de Rainbow Tables resulta muy apropiado para procesar grandes diccionarios contra la captura. Debemos considerar que el diccionario o la base de datos de hashes generado sólo se podrá utilizar contra un único ESSID, por lo que normalmente no será reaprovechable a no ser que se confronte contra otra Wi-Fi que utilice el mismo ESSID, como suele ser el caso de AP que mantienen el ESSID por defecto. Cuando se preprocesa el diccionario y se genera la tabla, lo más común suele ser almacenarla en una base de datos SQL como hace airolib-ng que utiliza SQLite.

cowpattyLa segunda alternativa que probaremos será mediante la utilización de la herramienta Cowpatty. Volvemos a utilizar un diccionario (del que sabemos que incluye la clave de la víctima, porque estamos en un laboratorio). Curiosamente con la versión utilizada, no encuentra la clave, a pesar de existir en el diccionario, luego falla por motivos desconocidos y no resulta muy fiable. El ratio de claves por segundo obtenido, igualmente es muy deficiente y no se acerca a los resultados obtenidos con aircrack-ng.

En los anteriores tests, no hemos utilizado aceleración, excepto el uso de instrucciones SSE del procesador. Sin embargo, la novedad consiste en utilizar la aceleración de tarjetas gráficas basadas en el chipset de nVidia o de ATI para multiplicar la capacidad de proceso de passwords por segundo. Para ello podemos instalar los controladores de Linux para estas tarjetas, además de las librerías CUDA de pyrit. El estándar CUDA, creado por los fabricantes de tarjetas gráficas es el lenguaje que permite utilizar las capacidades de procesamiento de éstas para cualquier función compleja de cálculo, como es el cifrado/descifrado u otras funciones. Actualmente, ya existen importantes proyectos que aprovechan estas características de procesamiento para diferentes funciones, como openSSL que comienza a investigar en las versiones actuales sobre el uso de CUDA. Hace tiempo ya, que se descubrieron las increibles ventajas de las GPU sobre las CPU en estas funciones matemáticas avanzadas.

TESLA technologyExisten grandes diferencias entre modelos y marcas de tarjetas gráficas basadas en este estándar. En el siguiente artículo podemos ver una comparativa de la utilización de la fuerza bruta para la ruptura de contraseñas, mediante estas tecnologías basadas en GPU. El ratio de ruptura de contraseñas por segundo (pps) oscila entre valores de 500 a 150K dependiendo del modelo, y por supuesto, del precio de la tarjeta. Las más avanzadas son las basadas en el chipset TESLA, que logran los mejores valores (hasta 150K). Conozco equipos que incorporan hasta cuatro tarjetas gráficas TESLA y que obtienen hasta 400K pps de procesamiento contra WPA, con lo que en la realidad se pueden lograr resultados reales en el periodo de varios días. Si sumamos varios equipos de estos (si disponemos del dinero necesario, claro) en forma de cluster, se pueden imaginar la capacidad de procesamiento de passwords que se puede obtener. Esto demuestra que un algoritmo muy seguro como WPA se podrá vencer en poco tiempo mediante la capacidad de proceso, de ahí la importancia de utilizar claves largas y complejas.

Cain & Abel de oxid.itEn entornos Windows, sin tanta complicación de instalación de controladores y librerías, disponemos de Cain&Abel de oxid.it, una de mis herramientas preferidas de "hacking by mouseclick", que permite realizar ataques mediante diccionario y fuerza bruta. El procedimiento resulta entretenido y muy visual, pero el resultado real de pps en realmente bajo, lo que nos hace tener que desechar este software para entornos reales de ruptura. Sin embargo las posibilidades de mutación de diccionario son muy buenas, pero el resultado no es adecuado.

EWSA softwareEn entorno comercial, disponemos de una herramienta tan gráfica y fácil como la anterior, pero muy profesional. Se trata de Elcomsoft Wireless Security Auditor, un programa enfocado directamente hacia la rúptura de contraseñas WPA bajo Windows que utiliza todas las capacidades de la tecnología CUDA. La facilidad de instalación y de uso lo hacen ideal para el trabajo profesional (fuerzas y cuerpos de seguridad del Estado, agencias de investigación, etc.). La versión profesional incluye increibles funciones de mutación de diccionarios con todas las opciones que se pueda imaginar, como sustitución de vocales por números, incorporación de números a los valores de diccionario, inversión de palabras, mayúsculas y minúsculas, etc... En el menú de opciones, se muestra nuestra configuración de CPU y GPU, posibilitando seleccionar la utilización de una o varias tarjetas basadas en CUDA. Como fuente de entrada, se nos permite utilizar un fichero formato pcap capturado por airodump-ng o por cualquier otro software compatible pcap. También podemos utilizar directamente la información obtenida de los valores PTK (hashes grabados en la configuración inalámbrica de Windows) o incluso utilizar un adaptador como el AirPcap capaz de funcionar en modo RFmon en Windows y de inyectar tráfico en Windows (algo increible) para obtener el handshake directamente. El rendimiento obtenido en el ejemplo mediante el uso de la tarjeta gráfica ATI HD5970 (precio aprox. 470 Euros) es de 105K pps.

EWSA devicesEWSA performanceEn el siguiente screenshot se ve el rendimiento mediante esta tarjeta (que el sistema detecta como dos tarjetas HD5800, ya que está compuesta por dos conjuntos de GPU). La ventana principal de EWSA muestra en todo momento el cálculo actual de pps y la media ponderada de todo el proceso. Además su log graba toda la información del proyecto de ruptura generado, para documentar todo el progreso de la ruptura. Se nos permite utilizar cualquier diccionario que deseemos, aunque ya acompaña de un diccionario estándar en idioma inglés. Si dispone de cualquier buen diccionario se puede utilizar con la ventaja de que permite indicar el mínimo tamaño de la contraseña que en WPA no puede ser inferior a ocho caracteres, con lo que se eliminan miles de palabras del diccionario. Esto demuestra la superioridad de este software en entorno comercial, posibilitando la ruptura de contraseñas en entornos de investigación avanzados.

Existen otra serie de programas bajo Linux y Windows, unos comerciales y otros openSource, pero lo que hemos visto en este artículo es lo más conocido y profesional que se puede encontrar en este momento.


Referencias:

Proyecto Pyrit basado en CUDA
Elcomsoft EWSA Wireless Security Auditor
Instalación de Pyrit en Ubuntu Linux

Comentarios (0)
¡Sólo los usuarios registrados pueden escribir comentarios!

Acerca del autor Yago Fernandez Hansen


Yago Fernández Hansen cuenta con master en ingeniería de software, además de contar con mas de 8 años de experiencia en tecnologías inalámbricas. Es especialista en la implementación y auditoria de redes Wi-Fi. Cuenta con amplia experiencias en motores de datos, sistemas Microsoft, Linux y Networking. Es formador y consultor en seguridad informática y métodos de penetración en redes Wi-Fi para empresas e instituciones. Finalista en el concurso IBM Leonardo DaVinci 1995, cuenta con publicaciones y artículos de informática, además de ser colaborador directo y revisor de publicaciones técnicas de la editorial Rama. Ha impartido diferentes talleres y seminarios de hacking ético y seguridad en Wi-Fi para empresas, organizaciones públicas y universidades.


Más información en: Linkedin

Conocer mas sobre Yago Fernandez Hansen

Relacionadas Noticias similares