airolib-ng
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revisionNext revisionBoth sides next revision | ||
airolib-ng [2007/07/09 21:45] – created initial airolib-ng documentation darkaudax | airolib-ng [2013/03/18 13:32] – Change the external link --> "churchofwifi.org/Project" because it no longer exists jano | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Airolib-ng ====== | ====== Airolib-ng ====== | ||
- | |||
- | ++++++ IMPORTANT ++++++\\ | ||
- | ++++++ IMPORTANT ++++++\\ | ||
- | ++++++ IMPORTANT ++++++\\ | ||
- | |||
- | This functionality will be available in a future release. It is NOT available currently. | ||
- | |||
- | ++++++ IMPORTANT ++++++\\ | ||
- | ++++++ IMPORTANT ++++++\\ | ||
- | ++++++ IMPORTANT ++++++\\ | ||
===== Description ===== | ===== Description ===== | ||
- | Airolib-ng is a tool for the aircrack-ng suite to store and manage essid and password lists, compute their Pairwise Master Keys (PMKs) and use them in WPA/WPA2 cracking. | + | Airolib-ng is an aircrack-ng suite tool designed |
WPA/WPA2 cracking involves calculating the pairwise master key, from which the private transient key (PTK) is derived. | WPA/WPA2 cracking involves calculating the pairwise master key, from which the private transient key (PTK) is derived. | ||
- | Calculating the PMK is very slow since it uses the pbkdf2 algorithm. | + | Calculating the PMK is very slow since it uses the pbkdf2 algorithm. |
Computing the PMK is still required, yet we can: | Computing the PMK is still required, yet we can: | ||
Line 30: | Line 20: | ||
To learn more about coWPAtty: | To learn more about coWPAtty: | ||
- | * [[http:// | + | * [[http:// |
* [[http:// | * [[http:// | ||
- | See the code attached for more info. This is the first version | + | As stated above, this program requires |
- | + | ||
- | To test the tool get yourself a current 1.0-dev checkout and... | + | |
- | + | ||
- | * get yourself | + | |
- | * compile airolib-ng in src/ directory with -lsqlite3 -lssl and crypto.c | + | |
- | * compile aircrack-ng with -DHAVE_SQLITE and -lsqlite3. This will make a new option " | + | |
- | * create a new database file with " | + | |
- | * import some essid, e.g. "echo Harkonen | + | |
- | * import some passwords, e.g. "echo 12345678 | airolib-ng testdb import ascii passwd -" | + | |
- | * start the batch process (" | + | |
- | * crack your WPA/WPA2 handshake, e.g. " | + | |
Line 59: | Line 38: | ||
Here are the valid operations: | Here are the valid operations: | ||
- | * init | + | * - -stats - Output some information about the database. |
- | * stats - Output some information about the database. | + | * - -sql {sql} - Execute the specified SQL statement. |
- | * sql {sql} - Execute the specified SQL statement. | + | * - -clean [all] - Perform steps to clean the database from old junk. The option ' |
- | * clean [all] - Perform steps to clean the database from old junk. The option ' | + | * - -batch - Start batch-processing all combinations of ESSIDs and passwords. |
- | * batch - Start batch-processing all combinations of ESSIDs and passwords. | + | * - -verify [all] - Verify a set of randomly chosen PMKs. If the option ' |
- | * verify [all] - Verify a set of randomly chosen PMKs. If the option ' | + | * - -export cowpatty {essid} {file} |
- | * export cowpatty {essid} {file} | + | * - -import cowpatty {file} |
- | * import cowpatty {file} | + | * - -import {essid|passwd} {file} |
- | * import | + | |
===== Usage Examples ===== | ===== Usage Examples ===== | ||
Here are usage examples for each operation. | Here are usage examples for each operation. | ||
- | |||
- | ==== Init Operation ==== | ||
- | |||
- | You must be in the directory where you want the database created or specify the fully qualified path name. | ||
- | |||
- | Enter: | ||
- | |||
- | | ||
- | |||
- | Where: | ||
- | |||
- | * testdb is the name of the database to be created. | ||
- | * init is the operation to be performed. | ||
- | |||
- | The system does not respond with any output. | ||
- | |||
==== Status Operation ==== | ==== Status Operation ==== | ||
Line 94: | Line 55: | ||
Enter: | Enter: | ||
- | | + | |
Where: | Where: | ||
* testdb is the name of the database to be created. | * testdb is the name of the database to be created. | ||
- | * stats is the operation to be performed. | + | * - -stats is the operation to be performed. |
The system responds: | The system responds: | ||
Line 108: | Line 69: | ||
| | ||
| | ||
- | |||
==== SQL Operation ==== | ==== SQL Operation ==== | ||
- | Coming soon! | + | The following example will give the SSID " |
+ | Enter: | ||
+ | |||
+ | | ||
+ | |||
+ | The system responds: | ||
+ | |||
+ | | ||
+ | Query done. 1 rows affected. | ||
+ | |||
+ | The following example will look for very important patterns in the pmk. | ||
+ | |||
+ | Enter: | ||
+ | |||
+ | | ||
+ | |||
+ | The system responds: | ||
+ | |||
+ | | ||
==== Clean Operation ==== | ==== Clean Operation ==== | ||
Line 119: | Line 97: | ||
To do a basic cleaning, enter: | To do a basic cleaning, enter: | ||
- | | + | |
The system responds: | The system responds: | ||
Line 131: | Line 109: | ||
To do a basic cleaning, reduce the file size if possible and run an integrity check., enter: | To do a basic cleaning, reduce the file size if possible and run an integrity check., enter: | ||
- | | + | |
The system responds: | The system responds: | ||
Line 144: | Line 122: | ||
Query done. 2 rows affected. | Query done. 2 rows affected. | ||
Done. | Done. | ||
- | |||
==== Batch Operation ==== | ==== Batch Operation ==== | ||
Line 150: | Line 127: | ||
Enter: | Enter: | ||
- | | + | |
The system responds: | The system responds: | ||
| | ||
- | |||
- | IMPORTANT: You must press control-C to terminate this program once it is finished or it will continue to run indefinitely. | ||
- | |||
- | |||
==== Verify Operation ==== | ==== Verify Operation ==== | ||
Line 164: | Line 137: | ||
To verify a 1000 random PMKs, enter: | To verify a 1000 random PMKs, enter: | ||
- | | + | |
The system responds: | The system responds: | ||
Line 176: | Line 149: | ||
To verify all PMKs, enter: | To verify all PMKs, enter: | ||
- | | + | |
The system responds: | The system responds: | ||
Line 184: | Line 157: | ||
- | ==== Export | + | ==== Cowpatty table Export Operation ==== |
- | Coming soon! | + | Enter: |
+ | | ||
- | ==== Import cowpatty Operation ==== | + | The system responds: |
- | Coming soon! | + | |
+ | Done. | ||
- | ==== Import | + | ==== Import Operation ==== |
- | To import an ascii list of SSIDs, enter: | + | === SSID === |
+ | To import an ascii list of SSIDs and create the database if it does not exist, enter: | ||
- | | + | |
Where: | Where: | ||
- | * testdb is the name of the database to be updated and this must already | + | * testdb is the name of the database to be updated and it will be created if it does not exist. |
- | * import | + | * - -import is the operation to be performed. |
* essid indicates it is a list of SSIDs. | * essid indicates it is a list of SSIDs. | ||
* ssidlist.txt is the file name containing the SSIDs. | * ssidlist.txt is the file name containing the SSIDs. | ||
Line 213: | Line 189: | ||
Done. | Done. | ||
+ | === Passwords === | ||
+ | To import an ascii list of passwords and create the database if it does not exist, enter: | ||
- | To import an ascii list of passwords, enter: | + | airolib-ng testdb |
- | + | ||
- | airolib-ng testdb import | + | |
Where: | Where: | ||
- | * testdb is the name of the database to be updated and this must already | + | * testdb is the name of the database to be updated and it will be created if it does not exist. |
- | * import | + | * - -import is the operation to be performed. |
* passwd indicates it is a list of passwords. | * passwd indicates it is a list of passwords. | ||
- | * password.list is the file name. One per line. It can optionally be fully qualified. | + | * password.list is the file name. One per line. It can optionally be fully qualified. |
The system responds: | The system responds: | ||
Line 230: | Line 206: | ||
| | ||
Done. | Done. | ||
+ | |||
+ | === Cowpatty tables === | ||
+ | |||
+ | Imports a cowpatty table and create the database if it does not exist, enter: | ||
+ | |||
+ | | ||
+ | |||
+ | Where: | ||
+ | |||
+ | * testdb is the name of the database to be updated and it will be created if it does not exist. | ||
+ | * - -import is the operation to be performed. | ||
+ | * cowpatty indicates it is a cowpatty table. | ||
+ | * cowexportoftest is the file name. One per line. It can optionally be fully qualified. | ||
+ | |||
+ | The system responds: | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
Line 251: | Line 247: | ||
===== Usage Tips ===== | ===== Usage Tips ===== | ||
- | None at this time. | + | ==== Creating your own database example ==== |
+ | |||
+ | To test the tool yourself... | ||
+ | |||
+ | * get yourself the sqlite3 library and headers (latest version is recommended) | ||
+ | * get yourself the 1.0dev version of the aircrack-ng suite | ||
+ | * import an essid, e.g. "echo Harkonen | airolib-ng testdb --import essid -" | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | * import a password, e.g. "echo 12345678 | airolib-ng testdb --import passwd -" | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | * start the batch process (" | ||
+ | |||
+ | | ||
+ | |||
+ | * Check the database to confirm everything has been computed (" | ||
+ | |||
+ | There are 1 ESSIDs and 1 passwords in the database. 1 out of 1 possible combinations have been computed (100%). | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | * crack your WPA/WPA2 handshake, e.g. " | ||
+ | |||
+ | KEY FOUND! [ 12345678 ] | ||
+ | |||
+ | |||
+ | |||
+ | ==== Using a sample pre-made database ==== | ||
+ | |||
+ | Another way to test for yourself is to download a pre-made database called [[http:// | ||
+ | |||
+ | The commands are either of: | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | This should give you the passphase. | ||
===== Usage Troubleshooting ===== | ===== Usage Troubleshooting ===== | ||
- | None at this time. | ||
+ | ==== Enabling Airolib-ng ==== | ||
+ | Airolib-ng is not compiled by default. | ||
+ | |||
+ | ==== Compile Error ==== | ||
+ | Although this is not a usage troubleshooting tip, it is a common problem during the compilation of the 1.0dev version. | ||
+ | |||
+ | gcc -g -W -Wall -Werror -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=`../ | ||
+ | airolib-ng.c: | ||
+ | airolib-ng.c: | ||
+ | make[1]: *** [airolib-ng.o] Error 1 | ||
+ | make[1]: Leaving directory `/ | ||
+ | make: *** [all] Error 2 | ||
+ | | ||
+ | ==== When is the SQLite patch needed? ==== | ||
+ | |||
+ | The SQLite patch included with aircrack-ng sources is only needed when compiling under Windows. | ||
+ | |||
+ | It is not required for linux installations. | ||
+ | |||
+ | ==== Airolib-ng fails to open or create the database ==== | ||
+ | |||
+ | On windows only, opening/ | ||
+ | |||
+ | The solution is to move airolib-ng and its database in another directory without these special characters. | ||
+ | |||
+ | ==== " | ||
+ | |||
+ | This error message may occur when importing passwords or ESSIDs. | ||
+ | |||
+ | * Passwords must have a length of 8 through 63 characters | ||
+ | * ESSIDs must have a length of 1 through 32 characters | ||
+ | |||
+ | ==== " | ||
+ | |||
+ | If you subsequently run aircrack-ng and only receive " | ||
airolib-ng.txt · Last modified: 2019/04/15 19:07 by mister_x