++++++ IMPORTANTE ++++++
++++++ IMPORTANTE ++++++
++++++ IMPORTANTE ++++++
Esta funcionalidad estará disponible en una futura versión. TODAVÍA no está disponible.
++++++ IMPORTANTE ++++++
++++++ IMPORTANTE ++++++
++++++ IMPORTANTE ++++++
Airolib-ng es una utilidad de la suite aircrack-ng para almacenar y manejar listas de essid y contraseñas, calcular su “Pairwise Master Keys” (PMKs) y usarlas para crackear WPA/WPA2. El programa usa la base de datos de poco peso “SQLite3” como mecanismo almacenador que está disponible para la mayoría de las plataformas. La base de datos “SQLite3” fue seleccionada teniendo en consideración la variedad de plataformas en las que está soportada, memoria y espacio que ocupa en disco.
Crackear WPA/WPA2 supone calcular la “pairwise master key”, que se deriva de la “private transient key” (PTK).
Calcular la PMK es un proceso muy lento ya que se usa el algoritmo “pbkdf2”. Pero la PMK es siempre la misma para un ESSID y una contraseña concretas. Esto nos permite pre-calcular la PMK para conseguir combinaciones y acelerar la obtención de la clave wpa/wpa2. Los tests muestran que usando esta técnica en aircrack-ng se pueden comprobar mas de 30,000 contraseñas por segundo usando tablas PMK pre-calculadas.
Calcular la PMK todavía es un paso requerido, por lo que podemos:
Para aprender mas acerca de WPA/WPA2:
Para aprender mas acerca de coWPAtty:
Como se ha dicho con anterioridad, este programa requiere la base de datos “SQLite3”. Debes ejecutar la versión 3.3.17 o superior. Puedes obtener la última versión de SQLite download page.
Uso: airolib <database> <operación> [opciones]
Donde:
A continuación puedes ver las operaciones válidas:
A continuación puedes ver algunos ejemplos de uso para cada operación.
Debes encontrarte en el directorio donde quieres crear la base de datos o especificar la ruta completa.
Escribe:
airolib-ng testdb init
Donde:
El sistema no responde con ninguna salida. Se puede comprobar que se ha creado la base de datos mirando la lista de archivos del directorio.
Escribe:
airolib-ng testdb stats
Donde:
El sistema responderá:
statsThere are 2 ESSIDs and 232 passwords in the database. 464 out of 464 possible combinations have been computed (100%). ESSID Priority Done Harkonen 64 100.0 teddy 64 100.0
El siguiente ejemplo le dará máxima prioridad al SSID “VeryImportantESSID”.
Escribe:
airolib-ng testdb sql 'update essid set prio=(select min(prio)-1 from essid) where essid="VeryImportantESSID";'
El sistema responderá:
update essid set prio=(select min(prio)-1 from essid) where essid="VeryImportantESSID"; Query done. 1 rows affected.
El siguiente ejemplo buscará las pmk especificadas en la base de datos.
Escribe:
airolib-ng testdb sql 'select hex(pmk) from pmk where hex(pmk) like "%DEADBEEF%"'
El sistema responderá:
hex(pmk) BF3F122D3CE9ED6C6E7E1D7D13505E0A41EC4C5A3DEADBEEFFEFF597387AFCE3
Para hacer una limpieza básica, escribe:
airolib-ng testdb clean
El sistema responderá:
cleanDeleting invalid ESSIDs and passwords... Deleting unreferenced PMKs... Analysing index structure... Done.
Para hacer una limpieza básica, reducir el tamaño del archivo si es posible y ejecutar una prueba de integridad, escribe:
airolib-ng testdb clean all
El sistema responderá:
cleanDeleting invalid ESSIDs and passwords... Deleting unreferenced PMKs... Analysing index structure... Vacuum-cleaning the database. This could take a while... Checking database integrity... integrity_check ok Query done. 2 rows affected. Done.
Escribe:
airolib-ng testdb batch
El sistema responderá:
Computed 464 PMK in 10 seconds (46 PMK/s, 0 in buffer). No free ESSID found. Will try determining new ESSID in 5 minutes...
IMPORTANTE: Debes pulsar control-C para terminar este programa cuando finalice o continuará ejecutándose de forma indefinida.
Para comprobar al azar 10.000 PMKs, escribe:
airolib-ng testdb verify
El sistema responderá:
verifyChecking ~10.000 randomly chosen PMKs... ESSID CHECKED STATUS Harkonen 233 OK teddy 233 OK
Para comprobar todas las PMKs, escribe:
airolib-ng testdb verify all
El sistema responderá:
verifyChecking all PMKs. This could take a while... ESSID PASSWORD PMK_DB CORRECT
Escribe:
airolib-ng testdb export cowpatty test cowexportoftest
El sistema responderá:
exportExporting... Done.
Escribe:
airolib-ng testdb import cowpatty cowexportoftest
El sistema responderá:
importReading header... Reading... Updating references... Writing...
Para importar una lista de SSIDs en ascii, escribe:
airolib-ng testdb import ascii essid ssidlist.txt
Donde:
El sistema responderá:
importReading... Writing... Done.
Para importar una lista ascii de contraseñas, escribe:
airolib-ng testdb import ascii passwd password.lst
Donde:
El sistema responderá:
importReading... Writing... read, 1814 invalid lines ignored. Done.
El objetivo es incrementar la velocidad para crackear claves WPA/WPA2 usando aircrack-ng. Para usar las tablas que acabamos de construir usando airolib-ng debemos usar la opción “-r” para especificar la base de datos que contiene las PMKs pre-calculadas.
Escribe:
aircrack-ng -r testdb wpa2.eapol.cap
Donde:
Nota: Se pueden usar todas las otras opciones que son aplicables para WPA/WPA2. Este es un ejemplo muy sencillo.
Para probar esta utilidad…
Aunque este no es un problema de uso, es frecuente que se presenten problemas durante la compilación de la versión 1.0dev. Recuerda que la versión de SQLite debe ser 3.3.17 o superior. Este es el error de compilación que recibirás cuando la versión de SQLite sea inferior a la requerida:
gcc -g -W -Wall -Werror -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=`../evalrev` -I/usr/local/include -Iinclude -DHAVE_SQLITE -c -o airolib-ng.o airolib-ng.c airolib-ng.c: In function `sql_prepare': airolib-ng.c:129: warning: implicit declaration of function `sqlite3_prepare_v2' make[1]: *** [airolib-ng.o] Error 1 make[1]: Leaving directory `/root/1.0-dev/src' make: *** [all] Error 2