Entschlüsseln Sie den SSL-Datenverkehr mit dem Befehlszeilenprogramm openssl 9
Nachdem darauf hingewiesen wurde, dass der Client das erweiterte Hauptgeheimnis anforderte, und ich antwortete auch damit, dass ich das Hauptgeheimnis entschlüsselte, als würden wir nicht das erweiterte Hauptgeheimnis wie definiert verwenden. Ich habe die Codierung auf meinem Server geändert, um zu antworten zurück, um das erweiterte Hauptgeheimnis nicht zu verwenden, und durchlief meine gleiche Prozessgliederung in meinen vorherigen Beiträgen Teil 6, Teil 7 und letzter Teil 8
Durchlaufen den gleichen Prozess wie Gliederung mit erweitertem Hauptgeheimnis, das nicht vom Server gesendet wurde, entschlüsselte ich die verschlüsselte Handshake-Nachricht. Ich glaube richtig, da der (14) -Client fertig ist und ordnungsgemäß aufgefüllt wird
$cat encmsg.bin | openssl aes-256-cbc -d -K $key -iv $iv -nopad |xxd 0000000: 1400 000c a5de 1f35 2324 e871 be46 82a0 .......5#$.q.F.. 0000010: a1a0 d659 86b6 1c7f 043d d548 9a62 1e9d ...Y.....=.H.b.. 0000020: 23c6 f8d5 0b0b 0b0b 0b0b 0b0b 0b0b 0b0b #...............
Für meinen Proof-of-Concept möchte ich die Validierung des verifizierten fertigen Clients für den Client überspringen und sofort mit der Nachricht "Server beendete" antworten. Ich glaube, um das zu berechnen, möchte ich das openssl so füttern, wie ich wo gewesen bin
data =
handshake_messages All of the data from all messages in this handshake (not including any HelloRequest messages) up to, but not including, this message. This is only data visible at the handshake layer and does not include record layer headers
Aber ich bin darüber etwas verwirrt, weil der RFC auch im selben Abschnitt sagt:
The value handshake_messages includes all handshake messages starting at ClientHello up to, but not including, this Finished message.
Ich glaube, das würde die ersten 5 Bytes ausschließen 16 03 03 00 ?? Ich würde es für den Header sehen und obwohl die Hallo-Nachrichten ein Handshake-Protokoll anzeigen, werden sie ebenfalls ausgeschlossen. Daher würde ich aus meinem Wireshark-Protokoll Folgendes hinzufügen: Certificate, Client Key Exchange und Encrypted Handshake Message (da ich jedoch etwas verwirrt bin, könnte dies mit anfangen.) das clienthello und auch das serverhello beinhaltet im Grunde alles bis auf diesen Punkt, ausgenommen die Header-Datensätze)
dann Aufruf von openssl
seed = "server finished"+data (data=above) key = master secret openssl dgst -sha256 -mac hmac -macopt hexkey:$key <seed -binary >a1
Diese wird dann verschlüsselt und zurückgesendet, wenn die verschlüsselte Handshake-Nachricht meines Servers korrekt ist.
0 Antworten auf die Frage
Verwandte Probleme
-
6
Wie gut ist der Passwortschutz von Word?
-
1
Verschlüsselungssoftware für tragbare Medien, die sowohl unter Mac OSX als auch unter Windows funkti...
-
12
Was ist die praktischste Sicherheitsmethode für ein drahtloses Heimnetzwerk?
-
6
Kleiner, leichter Texteditor / Notizgeber mit integrierter starker Verschlüsselung?
-
2
Gibt es jemanden, der eine hardwareverschlüsselte Festplatte auf seinen Laptops verwendet?
-
10
Geschwindigkeit der gesamten Festplattenverschlüsselung von TrueCrypt
-
2
Safeboot und Wubi
-
2
Zweites Betriebssystem auf einer mit TrueCrypt verschlüsselten Festplatte installieren
-
5
Was ist eine einfache und sichere Methode zum Verschlüsseln von Dateien in Windows?
-
6
Was ist besser für GPG-Schlüssel - RSA oder DSA?