6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

picoCTF DISKO2 writeup (Forensics,Medium)

6
Last updated at Posted at 2025-12-16

問題

image.png
問題文:
このディスクイメージからフラグを見つけられますか? 正解はLinuxです! 間違った操作をすれば全てが消えてしまいます!
ディスクイメージはこちらからダウンロードしてください。
HINT:How can you extract/isolate a partition?
   パーテーションを抽出すればよい的な

解法

ダウンロードするとgzipで圧縮されてる.dd(ディスクイメージ)が手に入るのでgunzipで解凍
strings | grep picoCTFを実行してみるとめっちゃflagみたいなのが出てきて本物が分からない
HINTからpartitionを分離して抽出すればいいっぽい

Partitionとは

1つのディスクを、いくつかの「区画」に分けたもの
分けることで
C:(windows)
D:(データ)
みたい分割できる。OSが壊れてもデータが残りやすい

partitionを確認する fdisk -l ディスク名

fdisk -l ./disko-2.dd
//結果
Device        Boot Start    End Sectors Size Id Type
./disko-2.dd1       2048  53247   51200  25M 83 Linux
./disko-2.dd2      53248 118783   65536  32M  b W95 FAT32
Device
パーティション番号
実際にファイルが存在しているわけではない
Boot
起動用フラグ
*がついていたら「起動可能パーティション」
よくわからない
Start
パーティションの開始位置
単位:セクタ番号
End
パーティションの終了番号
Sectors
そのパーティションが使っているセクタ数
Size
人間にわかりやすくサイズ表示
※512バイト = 1セクタが一般的
Id/Type
パーティションの種類を表す番号
Typeは人間にもわかりやすくしたもの

問題文からTypeLinuxのパーティションにflagが入っていると予想
パーティション1がLinuxなのでこれを抽出すればよさそう

分離と抽出

パーティションを抽出するにはddコマンドを使う

dd if=./disko-2.dd of=partition1.dd bs=512 skip=2048 count=51200

if=:元のディスクイメージ
of=:抽出後のファイル
bs=512:セクタサイズ
skip=:開始セクタ    //Startの値
count=:コピーするセクタ数    //Sectorの値

コピーしたものを確認する

strings partition1.dd | grep picoCTF

結果

picoCTF{4_P4Rt_1t_i5_90a3f3d1}
6
1
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
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?