Cryptcat ツールで暗号化されたパケットがいくつかあり、それを復号化したいと考えています。暗号化パスワードは持っています。cryptcat で netcat を使用しようとしましたが、netcat から cryptcat に接続して何かを送信しようとするたびに、接続が閉じてしまいます。
次のことを試しました:
cryptcat -vv -k p@ssword -l -p 1337 > decryptedfile
別の端末から:
cat encrypted | nc localhost 1337
Enter キーを押すと接続が閉じます。
答え1
cryptcat
私の場合はうまくいきました。暗号化と復号化は、送信時に暗号化し、受信時に復号化するという原則に基づいてペアになっていることに注意してください。(暗号化されたファイルを復号化するために を使用することはできません。)
暗号化されたソース ファイルに妥当なデータ (つまり、長さがゼロでない) が含まれていることを確認し、tshark
または同等のチェックを使用して、データが実際にネットワーク経由で送信されていることを確認する必要があります。
まず、暗号化されたファイルを生成します
システム 1 でメッセージを送信する前に、システム 2 でリッスンを開始します。
システム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....
システム 1
date | cryptcat -vv -k p@ssword -w 1 system2 1337
暗号化されたファイルを再送信します
以前と同様に、メッセージを送信する前に受信機で聞き始めます。
システム 1
cryptcat -vv -k p@ssword -l -p 1337 # → Thu 25 Oct 15:07:24 BST 2018
システム2
nc -vv -w 1 system1 1337 <message.enc
代替案の推奨
一般的に言えば、の元の作者は、netcat
これを純粋にネットワーク ツールとして維持し、暗号化は外部ツールを使用して追加することを希望していると述べています。このアプローチを採用すると、mcrypt
次のようなツール チェーンのペアを使用して構築できます。
generate_data | mcrypt -z | nc ...
... nc -l | mcrypt -d -z | produce_data
nc
ここでの利点は、スタンドアロンの復号化が可能であり、2 つのサーバー間で...を使用する必要がないことですcryptcat -l
。また、メッセージの暗黙的な暗号化または復号化から転送の方向を切り離します。