0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DISKO 3 (Writeup)

0
Posted at

【picoCTF】[DISKO 3] Writeup

問題概要

  • Category: Forensics

Description:

Can you find the flag in this disk image? This time, its not as plain as you think it is!
Download the disk image here.

日本語訳:

このディスクイメージの中からフラグを見つけられますか?今回は思ったより簡単にはいきませんよ。
ディスクイメージはこちらからダウンロードしてください。


解法のプロセス(アプローチ)

1. ファイルの確認とツールの準備

まずはダウンロードしたファイル(disko-3.dd.gz)を解凍します。

gunzip disko-3.dd.gz

解凍して disko-3.dd を得ることが出来ました。
今回も The Sleuth Kit (TSK) の fls という機能を用いてディスクイメージの内部を解析していきます。

2. ディスクイメージ内のファイル一覧抽出(fls)

まずは fls コマンドを使って、ディスクイメージの中にあるファイルやフォルダの一覧(リスト)を抽出します。

fls -r disko-3.dd > output.txt
  • -r : フォルダの中身も再帰的にすべてリストアップする指示。

次に、出力されたこのリストの中から、フラグが隠されていないかを確認します。安直ではありますが、まずはシンプルに flag という文字列で検索してみます。

grep "flag" output.txt

実行結果:

+ r/r 522628:   flag.gz

ビンゴですね! flag.gz という怪しい圧縮ファイルがヒットしました。

3. ファイルの抽出とフラグの獲得(icat)

ログの該当行を見ると、flag.gz のiノード番号(データの実体を指し示す番号)が 522628 であることに気づきます。
The Sleuth Kit の icat コマンドを使うと、このiノード番号を指定してファイルの中身を直接抽出することができます。

icat disko-3.dd 522628 > flag.gz

💡 コラム:なぜ > flag.gz が必要なのか?
icat コマンドは、指定したデータの中身をそのままターミナル画面上に出力しようとします。しかし、今回は .gz(圧縮データ=バイナリデータ)であるため、そのまま画面に出すと解読不能な記号が大量に表示され、ターミナルがバグってしまうことがあります。そのため、>(リダイレクト)を使って、データを画面に出さずにそのまま別のファイルとして保存しています。

無事に flag.gz として取り出せたので、解凍して中身を確認しましょう。

gunzip flag.gz

解凍してできた flag ファイルの中身を strings コマンド(または cat コマンド)で覗いてみます。

strings flag

実行結果:

Here is your flag
picoCTF{n3v3r_z1p_2_h1d3_654235e0}

フラグが見つかりました!!

Flag:
picoCTF{n3v3r_z1p_2_h1d3_654235e0}


お疲れさまでした!

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?