Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión

 
Búsqueda Avanzada

15.707 Mensajes en 3.130 Temas- por 372 Usuarios - Último usuario: Javier Cruz
Mayo 23, 2012, 07:53:48
Foro de Hispabyte.netSeguridad y RedesRedes InformáticasSeguridad en redes wifiTema: Diccionario en BD MySQL y Aircrack
Páginas: [1]   Ir Abajo
Imprimir
Autor Tema: Diccionario en BD MySQL y Aircrack  (Leído 1525 veces)
0 Usuarios y 1 Visitante están viendo este tema.
Black_Fire
Experto
****
Mensajes: 296



Ver Perfil
« : Diciembre 04, 2009, 03:20:04 »


Buenas!!! Volviendo por estos lados ahora que me sobra un poco el tiempo, les traigo una "consulta" y aunque no estoy seguro que sea la zona adecuada del foro no se me ocurrió otra.
Me hice con unos cuantos megabytes de wordlists para probar la seguridad de algunas redes con WPA, pero tengo muchos archivos por separado y sin lugar a dudas una redundancia increible de palabras. Para achicar la cantidad de palabras redundantes se me ocurrió juntar todas las palabras en una BD con MySQL, y utilizar cada palabra como clave primaria de la tabla. Hasta aquí no reviste demasiada complejidad la cuestión, el programa que usaría para probar las claves WPA seria aircrack-ng (que funciona perfectamente, ya pude obtener unas claves WEP, con un poco de paciencia y muchos IVs), pero aircrack-ng utiliza la opción -w para especificar el archivo de origen de las palabras (diccionario), pero ahora mis palabras están en una tabla de la BD. Creí que utilizando pipes y un programa intermedio podría hacerle creer a aircrack-ng que el archivo que le indicaba era una wordlist convencional, pero no. Lo que hice fue:
- crear un pipe "mkfifo pipe"
- hacer un script en python que escriba una a una las palabras de la tabla,
#fragmento
for fila in resultado:
    count+=1
    print fila[0]
    pipe.write(fila[0])
- y una vez lanzado el programa anterior indicarle a aircrack-ng que el archivo es pipe, es decir "-w pipe".
Mi sorpresa fue al ver la salida de aircrack:

root@moon:/home/juan/pruebas# aircrack-ng -w pipe -b ::::: E-02.cap
Empty dictionary
Empty dictionary
Opening ETP2-02.cap
Please specify a dictionary (option -w).

Quitting aircrack-ng...
root@moon:/home/juan/pruebas#


La salida del script fue:


434
Traceback (most recent call last):
  File "/home/juan/workspace/Dictionary/src/buscar.py", line 17, in <module>
    pipe.write(fila[0])
IOError: [Errno 32] Broken pipe


434 es la cantidad de palabras que se leyeron de la consulta.

Evidentemente el problema es que yo no se con precisión cómo aircrack lee el archivo de entrada... pero evidentemente no lo lee de a una palabra por vez.
Hay alguna forma de poder hacer lo que quiero o realmente estoy perdiendo el tiempo???
Me extendí demasiado, perdón...
En línea
svoboda
Global Moderator
Experto
*****
Mensajes: 440



Ver Perfil
« Respuesta #1 : Diciembre 04, 2009, 07:57:48 »

No es una solución tan técnica, pero, porque no pruebas hacerte un script que genere a partir de la BD un fichero. Así cuando necesites el diccionario solo tendrías que ejecutarlo para obtener el fichero, que además te serviría para varias veces mientras no actualices la BD. Y si la actualizas, no tienes más que volverlo a generar.

Además, no se yo si la velocidad a la que tu script proporciona palabras de la BD será suficientemente rápida para su uso por parte del aircrack.
En línea
Black_Fire
Experto
****
Mensajes: 296



Ver Perfil
« Respuesta #2 : Diciembre 04, 2009, 03:11:15 »

La idea que propones funciona sin lugar a dudas y el script sería muy sencillo. Pero es justamente lo que quería evitar, la redundancia de las palabras, aunque podría usar la BD para evitar las palabras repetidas y el archivo para alimentar aircrack, de todas formas estaría teniendo el doble de la información necesaria.
Con respecto a la velocidad del script, pensé que sería mas rápido acceder a las palabras obtenidas de la consulta (ya en memoria RAM según mi teoría) que a las palabras del archivo de texto que está en disco.
Pero claro... el punto sigue siendo que no se cómo aircrack lee el archivo. Estoy viendo el código fuente de aircrack y encontré la función donde lee las claves del archivo, veré si puedo descifrar un poco su funcionamiento. Gracias svoboda!
En línea
Black_Fire
Experto
****
Mensajes: 296



Ver Perfil
« Respuesta #3 : Diciembre 04, 2009, 07:38:52 »

Leyendo un poco mas me acabo de enterar que Aircrack-ng puede ser utilizado con bases de datos SQLite, por lo tanto no tendría sentido continuar con lo que me propuse me parece. No creo que lo que pueda implementar realmente sea útil, la cuestión es que el aircrack que tengo en estos momentos, no fue compilado con la opción de utilizar SQLite (tendría que recompilar la aplicación).
Se justificaría tanto dolor de cabeza???
En línea
svoboda
Global Moderator
Experto
*****
Mensajes: 440



Ver Perfil
« Respuesta #4 : Diciembre 05, 2009, 08:19:46 »

Imagino que no será muy difícil compilarlo para que funcione con el SQLite. Nunca he compilado la suite aircrack, pero si otros proyectos, y por lo general, basta con tener las dependencia instaladas y a la hora de ejecutar el "./configure" o el "make" pasarle alguna opción especial para que añada determinadas funcionalidades. Todo será cuestión de mirar específicamente el proyecto.

Por lo poquísimo que he leído, parece algo así:
Código:
make sqlite=true
make sqlite=true instal

Te dejo un enlace para que lo mires.
aircrack-ng doc

Ya nos contarás que tal.
En línea
Black_Fire
Experto
****
Mensajes: 296



Ver Perfil
« Respuesta #5 : Diciembre 05, 2009, 04:13:42 »

EXCELENTE!!! no fue un dolor de cabeza jajaaj, es que aún le tengo pánico a las dependencias incompletas. Hay que decirlo, el sitio de aircrak-ng.org cuenta con muy buena documentación. Compilé aircrack con compatibilidad con sqlite, http://www.aircrack-ng.org/doku.php?id=airolib-ng ese link muestra un poco del proceso y unas pruebas para ver que todo funciona correctamente, o no xD. Por suerte pude hacer todas las pruebas, funciona todo a la perfección. Ahora tengo que ponerme a leer bien el tema de cómo funciona, porque en la base de datos metes los essid y passwords (mayores de 8 caracteres por lo que leí), luego se computan todas las combinaciones posibles, y con eso alimentas a don aircrack-ng -r database.
Tendré que conseguir diccionarios con palabras de 8 o mas caracteres si o si, por lo que veo, cierto???

Muchas gracias svoboda!!!

PD: el único error en la compilación fue debido a que junto con el paquete principal de SQLite3 hay que instalar las bibliotecas de desarrollo, libsqlite3dev (o un nombre muy similar), luego de eso fue como ceda!
En línea
Páginas: [1]   Ir Arriba
Imprimir
Foro de Hispabyte.netSeguridad y RedesRedes InformáticasSeguridad en redes wifiTema: Diccionario en BD MySQL y Aircrack
Ir a:  


Tema diseñado por RJ-45 para Hispabyte.net basado en el
theme famouspadexx v.09 designed by Formado Comprido
Downloable here. My present to padexx.de