4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

某CTF(2018)のWriteUp 後半

Posted at

前半 に続いて後半のWriteUpになります。
あいかわらず2018年新卒向けページが公開中なので、後半もパスワード文字列はぼかした感じにしときます。

mondai6

mondai6.png

mondai6.zipを回答すると上のようなpngファイルが得られます。
どこかで見た気がするのですが、コレダ!というのになかなかたどり着けなくて苦労しました。

このバーコードは、日本郵政が使用しているカスタマバーコードでした。※なぜか海外のバーコードの方に先にたどり着いてデコードできなくて苦労しました。
http://www.post.japanpost.jp/zipcode/zipmanual/p11.html

バーコードをデコードすると下記のような文字が得られます。

12125115459155211271
8313610

残念ながらこの数字の羅列はパスワードではありませんでした。
この数字をよく見てると、先頭から偶数番目が1-5の範囲にとどまっているのに気付き、2つの数字単位でひらがな変換してみると下記の文字列がえられます。

12 12 51 15 45 91 55 21 12 71 83 13 61
い い な お と ら の か い ま よ う は

なんか微妙なところがありますが、井伊直虎の戒名を聞かれております。
Wikipedia:井伊直虎で調べると、目的のパスワード文字列に出会うことができました。

mondai7

mondai7.zipを解凍してできる mondai7.pcap をWiresharkに取り込んで、パケットをみてみると firestorage.jp に対してファイルをアップロードしているのが確認できます。

秘密資料20170127.docx というファイル名のバイナリデータを切り出して、ワードでひらくとグラフが見れますが、その横に白文字で下記の文字が埋め込まれており、その文字列がそのままパスワードになります。

mondai8

今回、この問題が一番苦労しました。
mondai8.zipを開くとmondai8_pass_12345678というバイナリファイルとヒントファイルがあります。
ヒントファイルの中身は get tag 42016 というのが確認できます。

バイナリファイルはLinux環境にて下記のコマンドでマウントします。

sudo losetup /dev/loop0 mondai8_pass_12345678
sudo cryptsetup --type tcrypt open /dev/loop0 hoge ### この後、対話式で、12345678 を入力します
sudo mount -r /dev/mapper/hoge /mnt

ls -l /mnt ### 15個のjpgファイルとかが確認できます。

ディスクの中身をダンプして、umountします。

sudo dd if=/dev/mapper/hoge of=/tmp/hoge

sudo umount /mnt
sudo cryptsetup --type tcrypt close hoge
sudo losetup -d /dev/loop0

さて本題のmondai9.zipを解凍するためのパスワード探しです。
タグで42016というと、EXIFタグの0xA420のImageUniqueIDが検索でかなりHitします。
このタグの値はASCIIで33文字なので、下記コマンドのようにPrintableな長めの文字列を探せばでてくると思ったのですが、それらしい値が取れません。。。

strings -n 30 /tmp/hoge

0xA4 0x20 が連続している箇所やエンディアンで逆になっている場合も調べてみましたが、この探索も不発でした。

testdiskコマンドで削除済みのjpgファイルを加えて、jpgのタグを探索しても0xA420のタグは見つかりません。

find /tmp/ -name "*.jpg" | xargs -i identify -verbose {} | grep -i unique

かなり時間を食ってしまったのですが、Canon独自のMakerNoteにImageUniqueIDというものがあるのを知り、下記のコマンドで検索したところHitしました。

find /tmp/ -name "*.jpg" | xargs -i metadata-extractor2 {} | grep -i unique

[Canon Makernote] Image Unique ID = 220 239 227 139 113 218 152 121 174 59 197 148 ??? ??? ??? ???

上記の数字列をHEX文字列化したものがパスワードになります。

mondai9

n
39 238 58 181 46 259 14 127 28
40 181 41 235 226 15 16 40 131 181 259 29

mondai9.zip を回答すると、上記のようなテキストが書かれた mondai9.txt が得られます。
なんらかの暗号の様です。

特徴的な数字として8bitの最大値を超えた 259 が含まれているので、それを手がかりにしてみたのと、小松左京の小説で似たような暗号を知っていたこともあり、なんとなくひらめきました。

最後の問題なのでヒント程度にしておきます。
2行目の数字列は

くにたちのにし

と読みます。数字の数と文字数が一致しないのがこの暗号の面白いところですね。

mondai10

kanto3 だけ画像じゃなくてURLが記載されたテキストでしたが、無事にSDカードの隠し場所画像を見ることができました。

mondai10_pics.png

SDカードの中には本当のmondai10が入ってるらしいです。一度見てみたいものです。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?