Articles
IPSec-Entschluesselung
Dekodierung von ISAKMP und ESP PaketenBis auf die initialen Pakete sind alle weiteren Pakete beim Schlüsselaustausch (ISAKMP - IKEv2) und während der Datenübermittlung (ESP) bei einer IPsec basierten Verbindung verschlüsselt. Nun ist es oft hilfreich bzw. wünschenswert, die per Wireshark mitgeschnittene IPsec-Verbindung (PCAP-trace) zu dekodieren. Wireshark erlaubt das Dekodieren, wenn man die entsprechenden Schlüssel für die mitgeschnittene Verbindung eingibt.
Nachfolgend wird beschrieben, wie bei einer mit
Strongswan basierten Server-Implementierung die benötigten Schlüssel extrahiert und in Wireshark eingegeben werden können. Es kann ein beliebiger Client benutzt werden (im Praktikum wird zumeist der in Windows vorhandene builtin-Client benutzt).
ISAKMP Schritt 1: Die ersten Parameter die benötigt werden, ist die Initiator SPI und die Responder SPI. Beides erhält man aus dem Wireshark Mitschnitt (ISAKMP-Paket IKE_SA_INIT oder IKE_AUTH), dass entschlüsselt werden soll.
|
Wireshark: Initiator SPI und Responder SPI
|
Wichtig: Es sollten nicht die SPIs aus dem /var/log/syslog verwendet werden! Schritt 2: Alle weiteren Schlüssel (Sk_ai, Sk_ar, Sk_ei, Sk_er) und verwendete Krypto-Verfahren können im /var/log/syslog des Strongswan-Servers gefunden werden. Je nach verwendetem Krypto-Verfahren sind die Schlüssel unterschiedlich lang und sollten ohne Leerzeichen kopiert werden.
charon: 09[IKE] Sk_ai secret => 20 bytes @ 0x7ffe8c004de0 charon: 09[IKE] 0: 52 6F 3D 62 81 CC 6B 3D 6F C1 2A 75 60 E7 FC F6 charon: 09[IKE] 16: 83 B3 8B 02 charon: 09[IKE] Sk_ar secret => 20 bytes @ 0x7ffe8c005380 charon: 09[IKE] 0: 5A 01 62 0A B2 3C B3 29 5F C8 7F 85 47 63 60 E0 charon: 09[IKE] 16: C4 18 48 21 charon: 09[IKE] Sk_ei secret => 24 bytes @ 0x7ffe8c004fe0 charon: 09[IKE] 0: B3 82 82 06 7F DB 84 23 0C 26 02 D6 6B A7 01 16 charon: 09[IKE] 16: F1 94 7A B9 79 49 F5 33 charon: 09[IKE] Sk_er secret => 24 bytes @ 0x7ffe8c0096f0 charon: 09[IKE] 0: 2D E3 0C 75 5E 85 6F AD B1 16 80 8F B6 67 B8 3B charon: 09[IKE] 16: 9D A5 AA 89 3C 2F C3 21
|
Beispielausgabe syslog: Sk_ai, Sk_ar, Sk_ei, Sk_er
|
Schritt 3: Sind alle Schlüssel und Krypto-Verfahren aus dem Mittschnitt und /var/log/syslog extrahiert, können diese in Wireshark eingetragen werden.
[Edit]->[Preferences]->[Protocols]->[ISAKMP] „Ikev2“
ESP Schritt 1: Um die ESP Pakete zu entschlüsseln wird die Ausgabe des ip Kommandos während einer aktiven IPsec-Verbindung benötigt.
Schritt 2: Nun können die Schlüssel in Wireshark eingetragen werden. Das Präfix „0x“ vor jedem Schlüssel muss mitübertragen werden.
Wichtig: Es sollten die IP-Adressen aus dem Mittschnitt übernommen werden nicht aus der Ausgabe von „ip xfrm state“! [Edit]->[Preferences]->[Protocols]->[ESP] „ESP SAs“