第8回 CTF for GIRLS 演習問題 Writeup
環境
初級問題1
問題
Disk Image Alice.001
に含まれる削除済みファイルからflagを得る
ヒント: 削除されたファイルは My Documents/Letters/FromBob に保存されていた
解答
AccessData FTK ImagerでAlice.001を開き My Documents/Letters/FromBob を見るとSecret.bmpが見つかる
適当なバイナリエディタでSecret.bmpを開くとflagが得られる
初級問題2
問題
Downloads.rarの中からflagを得る
解答
Downloads.rarを解凍し、解凍先ディレクトリの代替データストリーム (ADS) を表示する
swt0006-024.jpg:Flag.txt:$DATAからflagが得られる
補足
ADSとはWindowsのファイルシステムNTFSで使われる、ファイルに紐付くメタデータのこと
初級問題3
問題
.doc形式のファイルからflagを得る
解答
拡張子を.zipに変更しファイルを解凍する
解凍先ディレクトリ内のflag.txtからflagが得られる
中級問題1
問題
ctf4g.pngの中からflagを得る
解答
ctf4g.pngをバイナリエディタで開くと文字列 hoge/flag.bmp
hoge/flag.bmpPK
が確認できる
PKはzipのマジックナンバーなのでpngの中にzipが埋め込まれていると当たりをつけ、hoge/flag.bmp
の少し前にある PK
より前のデータをすべて削除し解凍する
中級問題2
問題
ファイル My_Message_is_a_Flag
とテキスト 外出するので伝言を残しておきますね。
が渡される
解答
My_Message_is_a_Flag
のマジックナンバーからレジストリファイルであることが分かる
AccessData Registory Viewerで開き、伝言に関連がありそうな怪しいディレクトリを見るとflagが得られる
(自分はレジストリの知識が無いので怪しそうなディレクトリが分からず探すのが大変だった)
上級問題1
問題
ファイル Forensics_advanced.E01
とテキスト 仲間はずれはどれ?
が渡される
解答
fileコマンドでimage fileであることを確認
AccessData FTK Imagerで開くとディレクトリ [root]/flag/flag.zip
があり、Exportして解凍しようとするとパスワードを要求される
image fileの [root]/pass
にFlagXXX.txtが300個あり、この中にパスワードが書かれていると当たりをつける
与えられたテキストをヒントに仲間はずれを探すと、Sizeが唯一0, Date Modifiedが他のファイルと異なっているFlag263.txtが見つかる
Flag263.txtの内容は削除されているが、ファイルシステムがNTFSで削除したファイルのサイズが小さいので [root]/$MFT
に内容が残っており、そこにパスワードが書かれている
このパスワードでflag.zipを解凍すると画像としてflagが書かれたFlag.jpgが得られる
補足
$MFTはNTFSで使われるマスターファイルテーブルで、全てのファイルのエントリを管理している
エントリはレコードタイプ, レコード番号, Active/Inactiveフラグ, $DATA属性などを含む
約680byte以下のファイルの場合は$DATA属性にファイル内容が記録される
上級問題2
問題
ファイル Forensics300.E01
とテキスト 兵器密売に関する情報を入手した!このファイルを解析し、兵器密売の場所となる情報を取り出せ!
が渡される
解答
AccessData FTK Imagerで開くとディレクトリ [root]/The site.zip
があり、Exportして解凍しようとするとパスワードを要求される
削除済みファイル [root]/secret_pass.txt
があり、これはunallocated spaceに残っているので復元可能
入手したパスワードでThe site.zipを解凍するとSite.docxが得られ、これをSite.zipにリネームして解凍
word/media/image1.jpegのExif情報からflagが得られる
補足
unallocated spaceでは削除されInactiveフラグが立っているファイルが確認できる