A+ A A-

Articles

IPSec-Entschluesselung

Dekodierung von ISAKMP und ESP Paketen

Bis 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.


 ipsec-schritt-1
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.


root@server$ ip xfrm state

 esp-schritt-1
Linux bash: ip xfrm state



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“

Template Design © Joomla Templates | GavickPro. All rights reserved.

Log in to your account or Create an account