Hiding In Plain Sight. 200 pts
Find out the secret key hidden in these packets!
ダウンロードしたファイルを解凍すると、3つのpcapファイルが得られます。Wiresharkで内容を確認すると、pingのrequestとreplyのパケットキャプチャであることが分かります。pingのデータ部分に何かあると思われますが、一見しただけではよく分かりません。ある範囲内のバイトデータのみ出現しているようなので、データ部分に出現するバイトデータの頻度分析をしてみます。
頻度分析の結果は、下表のようになります。0x0D(改行)を除くと、0x34~0xA8の範囲内にあります。これを0x2Aだけ減算すると、改行コードを除くと0x20~0x7EとなりすべてASCIIコードの印字可能文字になります。
このルールでpingパケットのデータ部分をデコードすると、以下の文字列を得ることができます。
頻度分析の結果は、下表のようになります。0x0D(改行)を除くと、0x34~0xA8の範囲内にあります。これを0x2Aだけ減算すると、改行コードを除くと0x20~0x7EとなりすべてASCIIコードの印字可能文字になります。
| 元データ | 出現数 | 変換後(-2A) | 文字 |
| 0D | 99 | 0D | |
| 34 | 194 | 0A | |
| 4A | 11 | 20 | |
| 4F | 516 | 25 | % |
| 50 | 557 | 26 | & |
| 52 | 506 | 28 | ( |
| 53 | 552 | 29 | ) |
| 54 | 521 | 2A | * |
| 55 | 528 | 2B | + |
| 56 | 510 | 2C | , |
| 57 | 528 | 2D | - |
| 58 | 512 | 2E | . |
| 59 | 548 | 2F | / |
| 5B | 1 | 31 | 1 |
| 5C | 2 | 32 | 2 |
| 5D | 1 | 33 | 3 |
| 64 | 536 | 3A | : |
| 66 | 569 | 3C | < |
| 67 | 577 | 3D | = |
| 68 | 532 | 3E | > |
| 69 | 517 | 3F | ? |
| 6A | 516 | 40 | @ |
| 6B | 7 | 41 | A |
| 6D | 2 | 43 | C |
| 73 | 10 | 49 | I |
| 74 | 1 | 4A | J |
| 75 | 8 | 4B | K |
| 78 | 7 | 4E | N |
| 7B | 1 | 51 | Q |
| 7D | 3 | 53 | S |
| 80 | 1 | 56 | V |
| 81 | 9 | 57 | W |
| 83 | 3 | 59 | Y |
| 84 | 10 | 5A | Z |
| 85 | 547 | 5B | [ |
| 87 | 511 | 5D | ] |
| 88 | 532 | 5E | ^ |
| 8B | 4 | 61 | a |
| 8C | 11 | 62 | b |
| 8D | 4 | 63 | c |
| 8E | 1 | 64 | d |
| 8F | 9 | 65 | e |
| 90 | 1 | 66 | f |
| 91 | 1 | 67 | g |
| 92 | 5 | 68 | h |
| 93 | 10 | 69 | i |
| 95 | 1 | 6B | k |
| 96 | 1 | 6C | l |
| 98 | 5 | 6E | n |
| 99 | 10 | 6F | o |
| 9A | 1 | 70 | p |
| 9D | 3 | 73 | s |
| 9E | 8 | 74 | t |
| A0 | 1 | 76 | v |
| A3 | 10 | 79 | y |
| A5 | 526 | 7B | { |
| A6 | 505 | 7C | | |
| A7 | 536 | 7D | } |
| A8 | 570 | 7E | ~ |
このルールでpingパケットのデータ部分をデコードすると、以下の文字列を得ることができます。
(略)この赤字部分をBASE64でデコードすると、以下のようになります。
>%&{[+<*,=([-^@{,/(=]</:&^,:&)=-)&
ZWNobyAiZiIKZWNobyAibCIKZWNobyAiYSIKZWNobyAiZyIKZWNobyAieyIKZWNo
byAibWQ1c3VtIgplY2hvICIoJ2ZsYWcnKSIKZWNobyAifSIK:{+]=^~~.@-^<+.>
(略)
echo "f"したがって、フラグは、
echo "l"
echo "a"
echo "g"
echo "{"
echo "md5sum"
echo "('flag')"
echo "}"
flag{327a6c4304ad5938eaf0efb6cc3e53dc}です。














