Ich habe einige Pakete, die mit dem Cryptcat-Tool verschlüsselt sind, und ich möchte sie entschlüsseln. Ich habe das Verschlüsselungskennwort. Ich habe versucht, Netcat mit Cryptcat zu verwenden, aber jedes Mal, wenn ich mich von Netcat zu Cryptcat verbinde und versuche, etwas zu senden, wird die Verbindung geschlossen.
Ich habe Folgendes versucht:
cryptcat -vv -k p@ssword -l -p 1337 > decryptedfile
und von einem anderen Terminal:
cat encrypted | nc localhost 1337
Wenn ich die Eingabetaste drücke, wird die Verbindung geschlossen!
Antwort1
Funktioniert bei mir. Beachten Sie, dass Verschlüsselung und Entschlüsselung gepaart sind, da beim Senden verschlüsselt und beim Empfangen entschlüsselt wird. (Sie können keine cryptcat
verschlüsselte Datei senden, um sie zu entschlüsseln.)
Möglicherweise möchten Sie überprüfen, ob Ihre verschlüsselte Quelldatei plausible Daten enthält (d. h., ihre Länge ist ungleich Null), und mithilfe von tshark
oder einer gleichwertigen Überprüfung sicherstellen, dass die Daten tatsächlich über die Leitung übertragen werden.
Generieren Sie zunächst eine verschlüsselte Datei
Wir beginnen mit dem Abhören auf System 2, bevor wir die Nachricht auf System 1 übermitteln.
System 2
nc -vv -l -p 1337 >message.enc
hex message.enc
0000 14 fd 25 da c3 5e 36 81 b2 7b e7 b0 13 4b b5 8b ..%..^6. .{...K..
0010 cc 13 4c 60 bd 54 1e e2 5b 01 7f ac bc 93 27 6b ..L`.T.. [.....'k
0020 c3 a3 90 30 44 76 e1 61 f5 42 2d 04 f2 13 eb d4 ...0Dv.a .B-.....
0030 9c d9 9c 75 95 10 b2 55 42 bf 0d cb cb ...u...U B....
Anlage 1
date | cryptcat -vv -k p@ssword -w 1 system2 1337
Senden Sie nun die verschlüsselte Datei erneut
Wie zuvor beginnen wir mit dem Abhören des Empfängers, bevor wir die Nachricht übermitteln
Anlage 1
cryptcat -vv -k p@ssword -l -p 1337 # → Thu 25 Oct 15:07:24 BST 2018
System 2
nc -vv -w 1 system1 1337 <message.enc
Alternative Empfehlung
Generell netcat
gab der ursprüngliche Autor an, dass er es lieber als reines Netzwerktool belassen und die Verschlüsselung mit externen Tools hinzufügen möchte. Mit diesem Ansatz könnte man mcrypt
ein Paar Toolchains wie dieses verwenden und erstellen:
generate_data | mcrypt -z | nc ...
... nc -l | mcrypt -d -z | produce_data
Ein Vorteil hierbei ist, dass eine eigenständige Entschlüsselung möglich ist und keine Verwendung von nc
... cryptcat -l
zwischen zwei Servern erforderlich ist. Außerdem wird die Übertragungsrichtung von der impliziten Verschlüsselung oder Entschlüsselung der Nachricht entkoppelt.