【タイムライン構築編】複数ソースを統合してインシデント全体を再構成する|CTF思考フレームワーク #49
広告・PRを含みます。この記事にはアフィリエイトリンクが含まれます。掲載内容は編集方針に基づいて作成していますが、価格・在庫・キャンペーン内容はリンク先で最新情報を確認してください。

タイムライン構築って、攻撃の時系列を再現するの?それって全体像が見えるの?⏱️

見えます。ディスク・メモリ・ネットワーク・ログを統合し、『最初の侵入から検知まで』を時刻順に並べる。これがインシデントレポートの核心。タイムラインがないと『何が起きたか』を説明できません。
タイムライン構築は、フォレンジック調査の最終フェーズ。複数の証拠ソース(ディスクMACタイム・Sysmon・auditd・pcap・Webログ・メールログ)を統合し、時刻順に並べて『攻撃ストーリー』を完成させます。Plaso/log2timeline、Timesketch が代表的ツール。

全ソースを時系列で並べると、攻撃の全貌が見えるんだ…
この記事は、CTF思考フレームワーク第49回。タイムライン構築の手順、Plaso・Timesketchの使い方、複数ソース統合のテクニック、最終的なインシデントレポートの書き方を整理します。
📖 この記事はシリーズの一部です
「CTF思考フレームワーク」 #49 / 全86記事 → シリーズ一覧を見る →
🧩 「断片の証拠を拾うのは見習い、それを時系列に並べるのが探偵」。タイムライン構築はDFIRの最終工程で、複数ソースをUTCで揃えて全体ストーリーを再構成する作業です。
plaso (log2timeline) でディスクとログを統合し、Timesketchで可視化、注釈を加えながら攻撃ストーリーを書き起こす。これがForensicsの集大成です。
複数ソースを統合してインシデント全体を再構成します⏳

タイムライン構築はForensicsの仕上げ。すべての証拠を時系列で並べて物語を再構成するんだ⏳
先に意味を押さえておくと読みやすい用語です。
- CTF: セキュリティの練習問題を解く競技。必ず許可された環境だけで試します。
- フィッシング: 本物そっくりのメールやサイトで、ID・パスワード・カード情報などを盗む手口です。
- マルウェア: 情報を盗む、端末を壊す、勝手に操作するなど悪意あるソフトの総称です。
- 情報漏洩: 本来出てはいけない個人情報や機密情報が外部に出ることです。
- 横展開: 侵入後に別の端末やサーバーへ移動して被害範囲を広げる動きです。
👀 観察フェーズ:まず何を見る?

まず入手した全ログ・MFT・メモリのリストを作って、それぞれの時刻ソースを揃える🔍
タイムラインに入れるべきソース:MFT・$LogFile・$UsnJrnl、Event Log、Sysmon、ブラウザ履歴、Prefetch、ShellBags、レジストリ最終書込時刻、ネットワークログ。

タイムゾーンと時刻ズレ、これを揃えないと物語が崩壊するんだね😨
- NTFS関連($MFT, $LogFile, $UsnJrnl)
- Windows Event Log(Security/System/Sysmon)
- PowerShellログ(4103/4104)
- ブラウザ履歴(Chrome History, Firefox places.sqlite)
- Prefetch(プログラム実行履歴)・Amcache・SRUM
- Webサーバログ・プロキシログ・DNSログ・pcap

タイムライン構築の核心は4要素。
🤔 仮説フェーズ:攻撃者は何を考える?
🕒 仮説①:時刻ソースの正規化
全証拠のUTC変換。NTPズレ・タイムゾーン違いをまず解消。
🧩 仮説②:複数ソースの突合
MFT(作成)+Sysmon ID 1(実行)+ネットワーク接続を同時刻でクロスチェック。
🎯 仮説③:Pivot Point特定
「最初の異常イベント」を見つけて前後数分を集中精査。攻撃者の最初の一歩。
📜 仮説④:物語の作成
最終アウトプットは「時刻+主体+行動+証拠」のテーブル。法廷でも通用する形に。
🕶️ 攻撃者は「ログ削除」「タイムスタンプ書き換え」で時系列を撹乱します。だからこそ単一ソースを信じず、独立に取れるソースを多面的に重ねるのが鉄則。MFTの $SI vs $FN、Event Logの記録時刻 vs Sysmonの記録時刻、サーバの時刻 vs プロキシの時刻、と冗長性で突き合わせます。

バラバラの証拠が「1本の物語」になった瞬間、Forensicsは完成だね💡
🔬 検証フェーズ:どうやって確かめる?

log2timeline.py→psort.pyの2段階でスーパータイムラインを作成→Timeline Explorerで眺めるのが定番🧪
plaso で log2timeline.py → psort.py でCSV化 → Timesketch にインポートして可視化+検索。事象に注釈を付けて報告書化までシームレス。

Elastic SIEMのTimeline機能を使うと共同分析もしやすいんだね💡
# plasoでタイムラインDB作成
log2timeline.py case.plaso disk.img
# CSV化(時刻範囲指定可)
psort.py -o l2tcsv -w timeline.csv case.plaso "date > '2024-01-01'"
# Timesketchにインポート
tsctl import --name "Case-001" timeline.csv

タイムライン構築で見える攻撃像トップ3。
⚔️ 攻撃フェーズ:実際の手口
メール受信→添付実行→C2接続→資格情報窃取→横展開を分単位で再現。
最初の侵入から発見までの滞留時間を確定。改善KPIに。
どの端末・どのデータが触られたかを時系列+アクセスログで断定。情報漏洩通知の根拠に。
タイムラインで初めて見える攻撃像:①初期侵入(フィッシング添付クリック)→②C2接続→③偵察コマンド→④横展開→⑤永続化→⑥データ持ち出し、の流れが分単位で可視化される。
# 重要な検出パターン例
# - Prefetch(最初の実行時刻)
# - $UsnJrnl(ファイル作成・名前変更の連鎖)
# - ShellBags(フォルダ閲覧履歴)
# - SRUM(Network Usage / Application Usage)
タイムラインに「ヒトの認知に合うフィルタ」を入れるのがコツ。1日数十万行のログを全部読むのは無理なので、Tag付け+色分け+スパムソース除外が鍵🎨

タイムラインを正確に作るための3点!🛡️
🛡️ 防御フェーズ:どう守る?
全機器で同じNTPソースを参照。クラウド・オンプレ混在なら時刻基準を一本化。
最低1年・できれば3年のログ保持。フォーマットはJSONや構造化ログで横断分析しやすく。
タイムライン構築をIR手順の必須ステップに。テンプレを用意して再現性を高める。

「物語を語れること」がForensicsの最終ゴール💪
タイムライン構築を「事件後にやる」だけではコストが膨大なので、事前にログ整備・時刻同期・SIEM導入で「いつでも書ける」状態を作っておくのが現代的アプローチ。
- 全機NTP同期+UTC運用(標準時ズレで断絶しない)
- Sysmon・auditdは事前展開して常時収集
- ログ集中管理(SIEM/WEF)でローカル消去耐性
- Timesketch / ELK Stackで横断検索基盤を準備
- IRプレイブックにタイムライン構築ステップ明記
- Tabletop演習で実際にplaso/Timesketchを練習
🛡️ 今日からできる対策ツール
フォレンジックと同じくらい大事なのが「そもそも侵入されない」こと。🛡️ ソースネクストのセキュリティツールなら、買い切りで使えるタイプも多いので、「サブスク疲れ」している人に人気です。
※ 上記は他社サービスへのリンクです。購入は各自でご判断ください。
⚠️ よくある落とし穴
- タイムゾーンを揃えずに統合し、UTC/JST混在で1日ズレる
- プロセス起動時刻のみ追い、ファイル更新時刻を見落とす
- plasoのfilter式を書かず、結果が膨大すぎて読めない
- $LogFile / $UsnJrnl の保持期間切れで重要証拠が消える
- ログだけに依存し、ディスクアーティファクトを無視
- Webアプリログとサーバログの突合が抜けて、初期侵入経路を見失う
🧰 ツール早見表
| ツール | 用途 | 備考 |
|---|---|---|
| plaso (log2timeline) | 統合タイムライン生成 | 80以上のparser |
| Timesketch | 可視化+協調分析 | Web UI・タグ機能 |
| MFTECmd / EZ Tools | NTFS解析 | Eric Zimmerman tools |
| KAPE | アーティファクト収集自動化 | TargetsとModules |
| Velociraptor | ライブ収集+ハンティング | VQLで柔軟 |
🎓 本気で学びたい人へ
インシデントレスポンスやフォレンジックを職業として目指したい方へ。🎓 ササエルはインフラとセキュリティの両輪で学べるスクールです。
📚 もっと深く学びたい人へ
実際に手を動かして攻撃手法を体で覚えたいなら『7日間でハッキングをはじめる本 TryHackMe』がおすすめ📚
📚 次に読みたい
✍️ 学んだことを発信する
検証記録やレポートをオンラインでまとめるなら、ConoHa WINGのWordPressが手軽で便利です。
⚖️ 大事なお約束
この記事の手法は、必ず自分の環境か、許可されたCTF・脆弱性報奨金プログラム(HackerOne、Bugcrowd等)で試してください。他人のサービスに無断で攻撃を仕掛けるのは不正アクセス禁止法違反、立派な犯罪です。学んだ知識は守る側で活かしましょう🤝



