SECCON 2018 オンライン予選 Writeup[History]
このブログは、大国魂(ITブログ) Advent Calendar 2018 の23日目です。
この記事の内容について
インフラ運用者ではあるもののセキュリティに興味があるので SECCON 2018 オンライン予選 に参加した筆者が、良質な Writeup がたくさんあるにもかかわらず自身の振り返りも兼ねて解けた問題の Writeup を書いた、というものになります。
予選終了後、便利に参照させていただいていた記事はこちらになります。
今回は比較的簡単な Forensics の History について振り返ります。
History
問題文
History Check changed filename.
ファイル名の変更履歴をチェックしろ、という問題のようです。
J.zip ファイルの中身について
- J という 3.9[MB] 程度のファイルが1つ展開されます。
- 中身はテキストエディタでも読めなくはないですが苦しいため、何らかの適切なエディタで読みたいところです。
-
M i c r o s o f t - W i n d o w s -*
など、Windows のファイル名と思われる文字列が見受けられます。
-
解法
解き方
J というファイルは NTFS のジャーナルファイルとなるため、
適切に読み取れるツールを利用することでより簡単にフラグ SECCON{F0rensics_usnjrnl2018}
を得られます。
たどり着くまでの経緯
-
windows ファイル名 履歴
などでググりましたが解法につながる情報が得られず。 - 過去に何か履歴的なデータがあるというのを見聞きしたことあるなぁという記憶があったものの思い出せず。
- 方向性を変えて Windows のファイルシステム NTFS 観点で何かないかと
ntfs ファイル名 履歴
を検索したところジャーナルファイルがヒット。これだと思い出す。 -
USNジャーナル解析の追求 に記載されている usn_analytics というツールを利用して J の内容を CSV ファイル(中身は TSV )に出力。
PDF 内でも解説されていますが、USN は Update Sequence Number とのことでした。- usn_analytics ページ内に記載されたそのままですが、以下で実行ディレクトリの output フォルダに J の内容を TSV に変換して出力できます。
C:\>.\usn_analytics.exe -o output .\J
4093104 bytes (.\J)
Search USNRECORD.........Done
0 corrupt records skipped
43313 records found
Check records....................Done
Path construction...................Done
4880 records after packing
Write records.........Done
Check executed trace...Done
Check opened trace...Done
Check suspicious trace...Done
CPU Time: 17.408000
Processed Time: 18(s)
- 出力された TSV の中をひととおり確認。内容的に
usn_analytics_records-20160108T004818.csv
の中身にフラグがありそうな予感。 -
usn_analytics_records-20160108T004818.csv
の Reason 列に RENAME の項目が見受けられたので、Reason 列を RENAME で絞り込み(実際は EXCEL で rename をすべて検索した結果を眺めてました)、その結果からフラグを確認しました。
- より絞り込みたい場合は FileID を 60666、ParentID を 48 に絞り込むことでフラグファイルの履歴のみを確認可能です。
Usn Records TimeStamp(+09:00) TimeTaken FileName Reason FileAttr FileID ParentID Path
24920792 3 50:47.3 0 SEC.txt CREATE|EXTEND|CLOSE ARCHIVE 60666 48
24922120 3 51:24.6 0 SEC.txt -> CON{.txt RENAME ARCHIVE 60666 48
24928696 3 52:22.8 0 CON{.txt -> F0r.txt RENAME ARCHIVE 60666 48
24936008 3 52:53.7 0 F0r.txt -> ensic.txt RENAME ARCHIVE 60666 48
24936544 3 53:08.6 0 ensic.txt -> s.txt RENAME ARCHIVE 60666 48
24943752 3 54:24.5 0 s.txt -> _usnjrnl.txt RENAME ARCHIVE 60666 48
24944768 3 54:38.4 0 _usnjrnl.txt -> 2018}.txt RENAME ARCHIVE 60666 48
問題について
題意的な何か
Forensics の区分ということでそのままですが、デジタルフォレンジックに関する問題となりました。
外部からの攻撃があったっとしても内部不正があったとしても、Windows で通常使用している NTFS であれば追跡可能ですよ、というお話になるのかなと。