airolib-ng
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| airolib-ng [2007/07/29 20:51] – added information of essid / password file format darkaudax | airolib-ng [2019/04/15 19:07] (current) – Updated links to cowpatty mister_x | ||
|---|---|---|---|
| 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://www.churchofwifi.org/default.asp?PageLink=Project_Display.asp? | + | * [[https://www.willhackforsushi.com/?page_id=50|Will Hack For SUSHI > CoWPAtty]] |
| - | * [[http:// | + | * [[https:// |
| As stated above, this program requires the SQLite3 database environment. | As stated above, this program requires the SQLite3 database environment. | ||
| - | |||
| ===== Usage ===== | ===== Usage ===== | ||
| Line 48: | Line 37: | ||
| 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 83: | Line 54: | ||
| 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 97: | Line 68: | ||
| | | ||
| | | ||
| - | |||
| ==== SQL Operation ==== | ==== SQL Operation ==== | ||
| Line 105: | Line 75: | ||
| Enter: | Enter: | ||
| - | | + | |
| The system responds: | The system responds: | ||
| Line 116: | Line 86: | ||
| Enter: | Enter: | ||
| - | | + | |
| The system responds: | The system responds: | ||
| | | ||
| - | |||
| ==== Clean Operation ==== | ==== Clean Operation ==== | ||
| Line 127: | Line 96: | ||
| To do a basic cleaning, enter: | To do a basic cleaning, enter: | ||
| - | | + | |
| The system responds: | The system responds: | ||
| Line 139: | Line 108: | ||
| 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 152: | Line 121: | ||
| Query done. 2 rows affected. | Query done. 2 rows affected. | ||
| Done. | Done. | ||
| - | |||
| ==== Batch Operation ==== | ==== Batch Operation ==== | ||
| Line 158: | Line 126: | ||
| 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 172: | Line 136: | ||
| To verify a 1000 random PMKs, enter: | To verify a 1000 random PMKs, enter: | ||
| - | | + | |
| The system responds: | The system responds: | ||
| Line 184: | Line 148: | ||
| To verify all PMKs, enter: | To verify all PMKs, enter: | ||
| - | | + | |
| The system responds: | The system responds: | ||
| Line 192: | Line 156: | ||
| - | ==== Export | + | ==== Cowpatty table Export Operation ==== |
| Enter: | Enter: | ||
| - | | + | |
| The system responds: | The system responds: | ||
| Line 204: | Line 168: | ||
| - | ==== Import | + | ==== Import Operation ==== |
| - | Enter: | + | === SSID === |
| - | + | To import an ascii list of SSIDs and create the database if it does not exist, enter: | |
| - | | + | |
| - | + | ||
| - | The system responds: | + | |
| - | + | ||
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | + | ||
| - | + | ||
| - | ==== Import ascii Operation | + | |
| - | + | ||
| - | To import an ascii list of SSIDs, 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 237: | Line 188: | ||
| 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 254: | Line 205: | ||
| | | ||
| 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 274: | Line 245: | ||
| ===== Usage Tips ===== | ===== Usage Tips ===== | ||
| + | |||
| + | ==== Creating your own database example ==== | ||
| To test the tool yourself... | To test the tool yourself... | ||
| - | * get yourself the sqlite3 library and headers | + | * get yourself the sqlite3 library and headers |
| * get yourself the 1.0dev version of the aircrack-ng suite | * get yourself the 1.0dev version of the aircrack-ng suite | ||
| - | | + | * import |
| - | | + | |
| - | * import some passwords, e.g. "echo 12345678 | airolib-ng testdb | + | |
| - | * start the batch process (" | + | |
| - | * crack your WPA/WPA2 handshake, e.g. " | + | |
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | Done. | ||
| + | |||
| + | * import a password, e.g. "echo 12345678 | airolib-ng testdb --import passwd -" | ||
| + | |||
| + | | ||
| + | | ||
| + | Done. | ||
| + | |||
| + | * 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 ===== | ||
| - | Although this is not a usage troublshooting | + | |
| + | ==== Enabling Airolib-ng ==== | ||
| + | Airolib-ng is not compiled by default. | ||
| + | |||
| + | ==== Compile Error ==== | ||
| + | Although this is not a usage troubleshooting | ||
| gcc -g -W -Wall -Werror -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=`../ | gcc -g -W -Wall -Werror -O3 -D_FILE_OFFSET_BITS=64 -D_REVISION=`../ | ||
| Line 298: | Line 311: | ||
| make: *** [all] Error 2 | 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.1185735110.txt.gz · Last modified: by darkaudax
