LoginSignup
1
0

More than 3 years have passed since last update.

picoCTF2018 writeup (Ext Super Magic)

Posted at

自力では手も足も出ませんでした.
以下のWriteupを参考にしました.

問題

ディスクイメージが与えられます.
中が壊れているので,修復してフラグをゲットしてほしいとのこと.

 解く手順

  1. ディスクイメージのsuper-blockを書き換える.
  2. debugfsでJPEGファイルを取り出す.

ディスクイメージのsuper-blockを書き換える.

fileでみてみると,全体としてはext2で,中にJPEGのデータが大量に存在します.
binwalkでJPEGを取り出しても,意味のない画像ばかりが抽出されます.

$ binwalk -D "jpeg:jpg" ext-super-magic.img 

ヒントに従って,fsckを実行します.
ext2なので,fsck.ext2になります.
しかし,スーパーブロックが壊れている旨が表示されます.
e2fsckを試すように言われますが,意味なし.

スーパーブロックが0埋めされているために,ext2だと認識できていないらしいです.
ext2では,スーパーブロックのoffset 56 にマジックナンバー 0xef53 が入ります.
したがって,バイナリエディタでイメージファイルを編集します.
Macを使用していたので,Hex Friendを使いました.
スーパーブロック自体のoffsetは1024なので,1024 + 56 = 1080 番目から2バイト分を書き換えます.

再度fileで見てみると,ext2のイメージだと認識してくれました.

debugfsでJPEGファイルを取り出す.

最後のヒントに従って,debugfsを実行します.
よく見ると,flag.jpgというファイルがあることがわかるので,取り出します.

$ debugfs ext-super-magic.img
debugfs: ls
()
debugfs: dump flag.jpg flag.jpg
debugfs: q

flag.jpgを開くと,上部に小さくフラグが書かれています.

1
0
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
1
0