Help us understand the problem. What is going on with this article?

SECCON 2018 オンライン予選 Writeup[History]

More than 1 year has passed since last update.

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 をすべて検索した結果を眺めてました)、その結果からフラグを確認しました。

forensic_usnjrnl.png

  • より絞り込みたい場合は 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 であれば追跡可能ですよ、というお話になるのかなと。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away