Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:airolib-ng

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

de:airolib-ng [2009/07/08 14:26] (aktuell)
oliviersiess angelegt
Zeile 1: Zeile 1:
 +====== Airolib-ng ======
  
 +===== Beschreibung =====
 +
 +Airolib-ng ist ein Tool des Programmpakets Aircrack-ng. Es speichert und verwaltet ESSID's und deren Passwörter. Des weiteren berechnet Airolib-ng die PMK's (Pairwise Master Keys) und benützt diese zum WPA/WPA2 cracken. Als Datenbank wird SQLite3 verwendet, welche für die am häufigsten benutzten Distributionen verfügbar ist. 
 +
 +Das Cracken von WPA/WPA2 beinhaltet die Berechnunng des "Paarweisen Haupt Schlüssels"(PMK), von welchem sich der "Persönliche Übermittlungs Schlüsssel" (PTK) ableiten lässt. Wenn der PTK genutzt wird, kann der Rahmen des Nachrichten Identifizerungs Codes (MIC) für ein vorhandenes Paket berechnet werden und möglicherweise wird die MIC mit dem Paket übereinstimmen. D.h. der PTK war passend und daher ist der PMK ebenfalls korrekt.
 +
 +Die Berechnung des PMK nimmt viel Zeit in Anspruch, da Airolib-ng den pbkdf2-Algorithmus benutzt. Jedoch ist der PMK für die vorhandene SSID und die Passwordkombination immer der selbe, was die Vorberechnung für die gegebenen Kombinationen erlaubt und die Geschwindigkeit deutlich erhöht.
 +Tests haben gezeigt, dass bei Nutzung dieses Verfahrens mehr als 30.000 Passwörter pro Sekunde bei der Nutzung von vorberechneten PMK Tabellen erreicht werden.
 +
 +Die Berechnung des PMK ist zwar noch immer eine Voraussetzung, jedoch kann:
 +* es vorgerechnet werden, um es später zu nutzen oder mit anderen zu teilen.
 +* die Berechnung auf mehrere Computer verteilt und das Ergebnis auf anderen Systemen genutzt werden.
 +
 +Um mehr über WPA/WPA2 zu lernen:
 +* Siehe [links#wpa_wpa2_information|WPA/WPA2 Information section] auf der Wiki Link Page.
 +
 +Um mehr über Cowpatty zu lernen:
 +* [http://www.churchofwifi.org/default.asp?PageLink=Project_Display.asp?PID=95|Church of Wifi CoWPAtty]
 +* [http://www.wirelessdefence.org/Contents/coWPAttyMain.htm|Wireless Defense CoWPAtty writeup]
 +
 +Wie bereits oben erwaehnt, benoetigt dieses Programm eine SQLite 3 Datenbank. Es wird die Version 3.3.17 oder hoeher benoetigt. Hier kann die neueste Version heruntergeladen werden: [[http://www.sqlite.org/download.html|SQLite download page]]
 +
 +
 + 
 +
 +===== Anwendung =====
 +airolib <database> <operation> [options]
 +
 +* database ist der Name des Datenbankfiles. Optional kann auch der ganze Pfad zur Datei angegeben werden.
 +* operation bestimmt die Aktion die du mit deinem Datenbankfile durchführen willst. S.u. für eine ausfühliche Aufzählung.
 +* options werden für manche Operationen benötigt.
 +
 +
 +Alle möglichen Operationen:
 +* -stats - Zeigt Informationen über die Datenbank an.
 +* -sql {sql} - Führt das eingegebene SQL statement aus.
 +* -clean [all] - Befreit die Datenbank von "altem Müll". Mit der Option "all" wird (wenn möglich) die Filegröße reduziert und ein Integritäts-Check durchgeführt.
 +
 +* -batch - Startet Batch-Prozess für alle Kombinationen von ESSID's und Passwörtern. Dies muss vorher immer durchgeführt werden um die Datenbank in [[aircrack-ng]] nutzen zu können oder nach den hinzufügen von neuen ESSID's und Passwörtern.
 +
 +* -verify [all] - Prüft ein Set von zufällig gewählten PMK's. Mit der Option "all" werden alle (!) PMK's in der Datenbank überprüft und falsche gelöscht.
 +
 +* -export cowpatty {essid} {file} - Exportiern in ein Cowpatty-File.
 +* -import cowpatty {file} - Importiert ein Cowpatty-File und erstellt die Datenbank falls nicht vorhanden.
 +* -import {essid|passwd} {file} - Importiert einen reinen Textfile als Liste sowohl aus ESSID's oder Passwörtern und erzeugt die Datenbank falls nicht vorhanden. Dieser Textfile muss aus einer ESSID oder einem Passwort pro Zeile bestehen. Die einzelnen Zeilen sollten durch einen Zeilenvorschub beendet werden. Das heißt "Enter" drücken am Ende einer Zeile beim Daten hinzufügen.
 +
 +
 +===== Praktisches Beispiel =====
 +
 +Hier sind ein paar praktische Beispiele
 +
 +==== Status Operation ====
 +
 +Gib folgendes in die Konsole ein:
 +
 +   airolib-ng testdb --stats
 +
 +Wobei:
 +
 +  * testdb ist der Name der Datenbank.
 +  * - -stats ist die Operation welche ausgefuehrt werden soll.
 +
 +Das System Antwortet:
 +
 +   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
 +
 +==== SQL Operation ====
 +
 +Das nachstehende Beispiel wird der ESSID "VeryImportantESSID" die hoechste Prioritaet zuweisen
 +
 +Gib folgendes in die Konsole ein:
 +
 +   airolib-ng testdb --sql 'update essid set prio=(select min(prio)-1 from essid) where essid="VeryImportantESSID";'
 +
 +Das System Antwortet:
 +
 +   update essid set prio=(select min(prio)-1 from essid) where essid="VeryImportantESSID";
 +   Query done. 1 rows affected.
 +
 +Das naechste Beispiel sucht nach bestimmten mustern im PMK
 +
 +Gib folgendes in die Konsole:
 +
 +   airolib-ng testdb --sql 'select hex(pmk) from pmk where hex(pmk) like "%DEADBEEF%"'
 +
 +Das System Antwortet:
 +
 +   hex(pmk) BF3F122D3CE9ED6C6E7E1D7D13505E0A41EC4C5A3DEADBEEFFEFF597387AFCE3
 +
 +==== Saeubere Operation ====
 +
 +Die Standard reinigung:
 +
 +   airolib-ng testdb --clean
 +
 +Das System Antwortet:
 +
 +   cleanDeleting invalid ESSIDs and passwords...
 +   Deleting unreferenced PMKs...
 +   Analysing index structure...
 +   Done.
 +
 +Fuehre die Standard reinigung durch, reduziere die dateigroese. Wenn moeglich fuehre einen integritaets test durch.
 +
 +   airolib-ng testdb --clean all
 +
 +Das System Antwortet:
 +
 +   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.
 +
 +==== Batch Operation ====
 +
 +Gib folgendes in die Konsole:
 +
 +   airolib-ng testdb --batch
 +
 +Das System Antwortet:
 +
 +   Computed 464 PMK in 10 seconds (46 PMK/s, 0 in buffer). No free ESSID found. Will try determining new ESSID in 5 minutes...
 +
 +==== Verify Operation ====
 +
 +Um 10000 zufaellige PMK zu erstellen, gib folgendes in die Konsole ein:
 +
 +   airolib-ng testdb --verify
 +
 +Das System Antwortet
 +
 +   verifyChecking ~10.000 randomly chosen PMKs...
 +   ESSID   CHECKED STATUS
 +   Harkonen        233     OK
 +   teddy   233     OK
 +
 +
 +Um alle PMK's zu erstellen, gib folgendes in die Konsole ein:
 +
 +   airolib-ng testdb --verify all
 +
 +Das System Antwortet:
 +
 +   verifyChecking all PMKs. This could take a while...
 +   ESSID   PASSWORD        PMK_DB  CORRECT
 +
 +
 +==== Cowpatty table Export Operation ====
 +
 +Gib in die Konsole ein:
 +
 +   airolib-ng testdb --export cowpatty test cowexportoftest
 +
 +Das System Antwortet:
 +
 +   exportExporting...
 +   Done.
 +
 +
 +==== Import Operation ====
 +
 +=== SSID ===
 +Um eine ASCII liste von ESSIDs zu importiern, gib folgendes ein:
 +
 +   airolib-ng testdb --import essid ssidlist.txt
 +
 +Wobei:
 +
 +  * testdb ist der Name der Datenbank welche aktualisert werden soll. Exestiert die Datenbank nicht, so wird sie erstellt
 +  * - -import ist die Operation welche ausgefuehrt werden soll
 +  * essid weist auf eine liste von ESSID
 +  * ssidlist.txt ist die Liste welche ESSID beinhaltet. Es darf nur eine ESSID pro zeile stehen
 +
 +Das System Antwortet:
 +
 +   importReading...
 +   Writing...
 +   Done.
 +
 +=== Passwoerter ===
 +Um eine Liste von ASCII Passwoertern zu Importieren, gib folgendes in die Konsole ein:
 +
 +   airolib-ng testdb --import passwd password.lst
 +
 +Wobei:
 +
 +  * testdb ist der Name der Datenbank welche aktualisert werden soll. Exestiert die Datenbank nicht, so wird sie erstellt
 +  * - -import ist die Operation welche ausgefuehrt werden soll
 +  * passwd weist auf eine liste von Passwoertern
 +  * password.lst ist die Liste welche Passwoerter beinhaltet. Es darf nur ein Passwort pro zeile stehen
 +
 +Das System Antwortet:
 +
 +   importReading...
 +   Writing... read, 1814 invalid lines ignored.
 +   Done.
 +
 +=== Cowpatty tables ===
 +
 +Importiere eine cowpatty tabelle und erstelle sie, falls sie nicht existiert:
 +
 +   airolib-ng testdb --import cowpatty  cowexportoftest
 +
 +Wobei:
 +
 +  * testdb ist der Name der Datenbank welche aktualisert werden soll. Exestiert die Datenbank nicht, so wird sie erstellt
 +  * - -import ist die Operation welche ausgefuehrt werden soll
 +  * cowpatty weist auf eine cowpatty tabelle
 +  * cowexportoftest ist der Dateiname. Einer pro Zeile.
 +
 +Das System Antwortet:
 +
 +   importReading header...
 +   Reading...
 +   Updating references...
 +   Writing...
 +
 +
 +===== Aircrack-ng Verwendungs Beispiele =====
 +
 +Mit der Datenbank kann das WPA/WPA2 cracken unter [[aircrack-ng]] enorm beschleunigt werden. Um die Tabellen verwenden zu koennen, muss bei [[aircrack-ng]] die -r Option angegeben werden.
 +
 +Gib dazu folgendes in die Konsoel ein:
 +
 +   aircrack-ng  -r testdb  wpa2.eapol.cap
 +
 +Wobei:
 +
 +  * -r spezifiziert die Vorgerechnete PMK Datenbank
 +  * testdb ist der name der Datenbank
 +  * wpa2.eapol.cap ist die Datei mit dem WPA/WPA2 handshake
 +
 +Hinweis:  Alle anderen Standard Optionen zu WPA/WPA2 koennen auch benuetzt werden.
 +
 +
 +===== Nuetzliche Tips =====
 +
 +Teste das Tool selber:
 +
 +  * Installiere eine SQlite 3 Datenbanke (neueste Version wird stark empfohlen)
 +  * Installiere die neueste Version der Aircrack-ng Suite
 +  * import an essid, e.g. "echo Harkonen | airolib-ng testdb --import essid -"
 +
 +   Database <testdb> does not already exist, creating it...
 +   Database <testdb> sucessfully created
 +   Reading file...
 +   Writing...
 +   Done.
 +
 +  * importiere ein Passwort z.B. "echo 12345678 | airolib-ng testdb --import passwd -"
 +
 +   Reading file...
 +   Writing...
 +   Done.
 +
 +  * starte den batch prozess ("airolib-ng testdb --batch"), warte, bis der Prozess keine Aufgaben mehr hat, oder KIlle Ihn.
 +
 +   Computed 1 PMK in 0 seconds (1 PMK/s, 0 in buffer). All ESSID processed.
 +
 +  * Ueberpruefe die Datenbank ob auch alles generiert wurde
 +
 +   There are 1 ESSIDs and 1 passwords in the database. 1 out of 1 possible combinations have been computed (100%).
 +   
 +   ESSID   Priority        Done
 +   Harkonen        64      100.0
 +
 +  * cracke deinen WPA/WPA2 handshake z.B. "aircrack-ng -r testdb -e Harkonen wpa2.eapol.cap"
 +
 +   KEY FOUND! [ 12345678 ]
 +
 +
 +===== Fehlerbekempfung =====
 +
 +==== Airolib-ng Aktivieren====
 +Airolib-ng wird nicht standardmaesig compiliert.  Um airolib-ng nutzen zu koennen, muss beim kompilieren folgender parameter angegeben werden:
 +make SQLITE=true
 +make sqlite=true install
 +
 +==== Compilierungs Fehler ====
 +Hier wird nur ein bestimmter compilierungsfehler mit der Aircrack-ng Version 1.0 beschrieben. SQLite muss Version 3.3.13 oder hoeher sein! Folgenden Compilierungsfehler erhaelt man, wenn die SQLite Version unter den anforderungen ist.
 +
 +  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
 +  
 +==== Wann wird der SQLite patch gebraucht? ====
 +
 +Der SQLite patch, welcher in den aircrack-ng sourcecode inkludiert ist, wird nur bei einer compilierung unter Windows benoetigt. Unter Windows muessen bestimmte elemente entfernt werden, welche fuer das compilieren nicht benoetigt werden.
 +
 +Das wird nicht fuer die Linux installatino benoetigt.
 +
 +==== Airolib-ng kann die Datenbank nicht oeffnen ,oder eine erstellen ====
 +
 +Nur unter Windows funktioniet das oeffnen oder erstellen von datenbanken nicht, wenn Spezielle Buchstaben im Ordnernamen benuetzt werden wie z.B. 'ç', 'é', 'è', 'à', ... 
 +Die Loesung liegt darin, airolib-ng und seine Datenbank in einen Ordner zu verschieben, welcher keine sonderzeichen beonuetzt.
 +
 +The solution is to move airolib-ng and its database in another directory without these special characters.
 +
 +==== "invalid lines ignored" Fehlermeldung ====
 +
 +Diese Fehler kann beim importieren von Passwoertern oder ESSIDs auftreten. Der fehler tritt auf, wenn eine unguelltige laenge von passwoertern oder ESSIDs vorhanden sind.
 +
 +Guelltige laengen sind:
 +
 +  * Ein Passwort muss zwischen 8 und 63 Zeichen lang sein.
 +  * ESSIDs muessen eine laenge von 1 bis 32 Zeichen aufweisen
 +
 +==== "Quitting aircrack-ng..." Fehlermeldung ====
 +
 +Wenn aircrack-ng mit der Fehlermeldung "Quitting aircrack-ng..." beendet wird, dann fehlt die ESSID in der Datenbank. Sie muss mit der batch option geladen sein.
de/airolib-ng.txt · Zuletzt geändert: 2009/07/08 14:26 von oliviersiess