【Forensics 1.0.2α】SusecCTF writeup
記事にするの遅すぎ
以下の問題を解きました。
- Little
Little
problem.txt
Little
Points
102
Solves
45
Category
Forensics
Description:
A little boy is playing around in his grandfather's attic, where he finds a magical box. Help him discover what is in the box[little.img_03551d5d361ae5f58675f065da899e9f6e9e3361.txz].
ATTENTION: The flag that you are going to capture for this task does not contain the word "SUSEC{", but you have to add this word to the beginning of the discovered flag before submitting it.
解答の方針
txzファイルの中身がイメージファイルだったので、これをどうにかする
img_stat little.img
IMAGE FILE INFORMATION
- -
Image Type: raw
Size in bytes: 67108864
- mmlsでオフセット確認しようとするも破損してたからbinwalkで抽出。
binwalk --dd='.*' -Me little.img(これがimgファイルを再帰的に漏れなく抽出してくれる優れものらしい…)
DECIMAL HEXADECIMAL DESCRIPTION
- -
0 0x0 Linux EXT filesystem, rev 1.0, ext2 filesystem data, UUID=e0676215-9cc7-abbd-f840-953aacffacff
1160 0x488 Unix path: /home/susec/your_searching_/name_is/junk
279112 0x44248 Unix path: /home/susec/your_searching_/name_is/littleBoy.img
524288 0x80000 Linux EXT filesystem, rev 1.0, ext2 filesystem data, UUID=e0676215-9cc7-abbd-f840-953aacffacff
532480 0x82000 PNG image, 1024 x 300, 8-bit/color RGB, non-interlaced
532754 0x82112 Unix path: /www.w3.org/1999/02/22-rdf-syntax-ns#">
なんかいろいろ書いてあるが、とりあえず抽出したファイルを覗くと
どうやらフラグは複数集めて完成させるタイプの奴らしい…
これは二番目だった。
また、上記はbinwalkをただかけるだけでなにも趣がないので別解もやる。
- mmlsではわからない情報がfsstatで-i filetype imgfileで
分かるらしい。
(*1)これでfile system typeがEXT2/3/4 or FATと判明したため、
- fls -i raw -f ext -pr little.img で
ディスクイメージからファイル、ディレクトリとinode情報を抜き出す。(-prオプションは-pでファイルのフルパス、-rで再帰的処理らしいです)
さて、icatでファイルを出力します。
- icat -i raw -f ext little.img 25 > seconf.png
この手法でやれば、slueth kitの理解も深まります。
[guess]
secondfファイルがあったので、first,thirdもあるだろうと思い、stringsにかける。
#
[guess?]
あったので、他のファイルシステムも同様にflsコマンドにかけて調べる。
fls -i raw -f fat -pr little.img
何やらfirstf.kgbという名のファイルが出現した。
どうやら圧縮ファイルのようなのは分かったが…聞いたことないファイル形式だ…
ひとまず7zipにかけてみる。
展開できない……
「KGB ファイル 展開」で調べると、KGBアーカイバーが出てきたのでインストール
firstf.oggファイルが出てきたので、再生する。
[c0me_wi4h_f4T_m4n_]
はい。
では、thirdfに着手する。
これに関しては正しい思考の導き方が分からない…
strings little.img | grep third -A 10 -B 10
で検索かけてだいたいどこにいるのか把握したらautopsyで取り出すのが僕は一番強いと思いました…
(今回は調べてもわからんかった)
でもgrep結果でmp4形式と出ていたので、autopsyでひたすらポチポチすると
発見して
このようになりました。
これを発見するのに使ったモジュールはphotorecなので、cuiでも実質できます。
でもphotorecを使うと分かったのは、結局他人のwriteup見たからなので何とも言えないですね…
もう一問perceptronというmiscがあるんですが挫折したので修行してきます
<参考文献>
[Little]
ちょっとThe Sleuth Kit使ってみたその2 - Qiita
zarat.hatenablog.com
github.com