Windows SSL Keys auslesen
In diesem Artikel zeige ich euch wie man unter Windows SSL Keys auslesen kann. Mittlerweile läuft die Kommunikation über das Internet fast ausschließlich unter HTTPS, trotzdem können wir diese Kommunikation mithören, den jeweiligen SSL Key vorausgesetzt.
Windows SSL Keys auslesen
Jede HTTPS Verbindung läuft nach folgendem Muster ab:
- Schlüssel austauschen
- Daten verschlüsselt schicken
Wie das Protokoll technisch funktioniert werde ich nicht näher beschreiben, dazu findet man im Internet viele gute Quellen. Wichtig ist, dass man ohne den Schlüssel den verschlüsselten Datenstrom nicht entschlüsseln kann. Das heißt man kann zwar an der Leitung mithören, versteht aber nicht was dort drüber geht.
SSLKEYLOGFILE
Unter Windows (und auch Linux) werden die SSL Keys mitgeloggt, jedesmal wenn man im Browser einen neue durch HTTPS gesicherte Webseite ansurft. Normalerweise bekommt man davon als User nichts mit, wir können diese Keys aber mit einem einfachen Trick leserlich abspeichern. Dazu öffnen wir unter Windows 10 den Dialog der Umgebungsvariablen:
In dem nun folgenden Dialog fügen wir eine neue Umgebungsvariable für SSLKEYLOGFILE ein. Man benötigt zusätzlich noch einen Pfad wo das Log erstellt werden soll. In meinem Test sieht das wie folgt aus:
Damit sind wir auch schon fertig. Es passiert aber nichts? Beende nun alle Browser und starte diese neu. Jedes Mal, wenn nun eine Webseite geöffnet wird die über das HTTPS Protokoll geöffnet wird schreibt das System den Key in die angegebene Datei. Nach dem Start mit 10 geöffneten Tabs sah meine Datei wie folgt aus:
Linux
Auch unter Linux kann man dieses Logfile an einen anderen Ort speichern. Wir erstellen uns dazu einfach einen neuen Ordner im Benutzerverzeichnis und ändern wie schon zuvor unter Windows gezeigt eine Pfadvariable. Wir setzen dort für SSLKEYLOGFILE ein neues Ziel:
1 2 | mkdir $HOME/ssl export SSLKEYLOGFILE=$HOME/ssl/ssl-log.txt |
Sobald man den Browser nun startet und eine HTTPS Seite öffnet wird die Datei angelegt und mit Inhalt befüllt.
Fazit
Mit recht einfachen Mitteln lesen wir die SSL Keys zur verschlüsselten Kommunikation mit Webseiten aus. Mit Zugriff auf diese Daten können wir beispielsweise mit Wireshark den Traffic mitlesen. Genau so funktionieren auch Programme wie Trojaner (zum Beispiel der viel diskutierte Staatstrojaner). Hat man Zugriff auf die SSL Keys ist die komplette Verschlüsselung sinnlos, man kann alles mitlesen. Es ist wichtig, dass diese Daten das lokale System nicht verlassen.