この記事はCTF Advent Calendar 2022の13日目の記事です。
昨日はゼオスTTさんのevilなnpmパッケージでRCEでした。
最近は依存関係が多くてサプライチェーン考えるのも天文学的な感じですよね…恐ろしさをとても実感できる良記事でした…
はじめに
本記事では、CTFでフォレンジック(Forensics)と言われる分野についてまとめる。
後半からは辞書的に使ってください。
注意事項
- 本知識をそのまま実世界で使用するのは推奨しません。ちゃんと勉強してください(自戒)
- フォレンジックの一分野であるような気はするが、ステガノグラフィについては記事を分けています。(毛色が違いすぎるため)
CTFにおけるフォレンジック問題
CTFとはセキュリティを題材にしたコンテストの総称であるが、特にその中でもフォレンジックと呼ばれる分野について説明する。
CTFにおけるフォレンジックを一個人の意見としてまとめると、以下のように言える。
とあるファイルが与えられて、そこから有意な情報を抜き出す問題
脆弱性を発見することは求められない。
このカテゴリでは、与えられたファイルによって何が起きるのか、起きた後のログやデータを元にどのような有意な情報が抜き出せるかという部分が問われる。
「とあるファイル」は本当に何でもいいのだが、体感、実際のサイバー犯罪に使われるようなファイルや、サイバー攻撃後の事後調査にまつわるファイルが多い。
他にも欠損したファイルの復元といったファイルそのものの仕様を理解したうえで、ファイルを読み取っていく問題もある。
…とそれっぽく書いたが、単純に、ファイルが与えられるので頑張って情報を読み取って、というのがフォレンジック問題での基本方針である。
カテゴリについて
フォレンジック問題周りはカテゴリ分けに好みが出る。
今回は以下のようなカテゴリにあるものをすべてフォレンジックとしてまとめて説明することにする。
カテゴリ分けにルールはないので、雰囲気でカテゴリ名からフォレンジック問だなと認識するといいと思う。
- Forensics: 特定のファイルに対して解析をして、有意な情報を抜き出してくる
- Network: ネットワークのパケットログに対して解析をして、有意な情報を抜き出してくる
- Logs: 何らかのログに対して解析をして、有意な情報を抜き出してくる
- DFIR: Degital Forensics and Incident Responseを指す言葉。この2つのセキュリティ的な役割に近い問題が多いので、こういうカテゴリ分けもある
- BlueTeam: 組織でサイバー攻撃の防御側のチームを指す言葉。主に防御側が解析する対象が題材になりがちなので、BlueTeam向け問題とか言われたりする
- (Steganography: これは明日の記事へ)
あとmiscに入れ込まれていたりもします。
解き方/初学者に向けて
フォレンジック問題はアドホックな解法が多いので、こういう知識が必要で…という初学者にストレートに役立つ情報が出せそうにない。
以下、小話レベルでまとめておく。
- よく出る解析対象というのはあるので、その手法を学んでいくといい。得意分野を作って解けるようにすると楽しくなってくる
- grep力を鍛える
- ツールアシストに頼る
- 根本を理解することも大事だが、フォレンジックではツールを知っているか、適切に扱えるかということも影響してくる
- Writeupを見ると、新しいツールを使って解きましたみたいな解法も時々見かけるのでアンテナを張っておくといいかもしれない
- 幅広い知識が要求されるので、幅広に知識を取り入れよう
- フォレンジックは他のジャンルと違って毎回出るようなジャンルではないし、出ても好みの解析対象であるとは限らないので、毎週CTFを覗いて問題を漁ること
…つまり第一歩目は?
CTFにどんどん参加して、たたき上げで成長していくのももちろんおすすめではあるが、Blue Team向けに出されている学習教材を使って勉強するのがいい。
はっきり第一歩を言い切るなら「TryHackMeで学習したい分野について、順番に埋めていくのがいい」と思う。
- TryHackMeのBlueTeam系の学習教材を利用する
- 今なら2022 SANS Holiday Hack Challenge & KringleCon
- SANSが毎年12月に出しているチャレンジ。BlueTeam系の問題が多いイメージ。手取り足取り教えてくれる系ではない。
- 去年までの資料を使って勉強してもいいし、今年の問題をチャレンジしてみるのもいい
- ほかにもBlueTeam系のチャレンジサイトが多くある(本記事の末尾にちょっと書いておきました)
…ほんとにたたき上げです。
手取り足取り教えるような入門記事もいつか書きたいですが、時間が…
サブジャンルについて
サブジャンルについて記事を分けて、キーワード形式でまとめていく。
学習の参考にしてください。
- CTFのフォレンジックにおけるファイルフォレンジックまとめ(MS Office, PDF) - はまやんはまやんはまやん
- CTFのフォレンジックにおけるディスクイメージフォレンジックまとめ [ファイルシステム] - はまやんはまやんはまやん
- CTFのフォレンジックにおけるメモリフォレンジックまとめ [Volatility 3, Volatility 2] - はまやんはまやんはまやん
- CTFのフォレンジックにおけるネットワークフォレンジックまとめ [WireShark, pcap] - はまやんはまやんはまやん
- CTFのフォレンジックにおけるメールフォレンジックまとめ - はまやんはまやんはまやん
- CTFのフォレンジックにおけるログフォレンジックまとめ - はまやんはまやんはまやん
- CTFのフォレンジックにおけるブラウザフォレンジックまとめ - はまやんはまやんはまやん
Challenges
フォレンジック問題と銘打って問題が出題されていたり、blue team向けの学習サイトがあったりもします。
ほぼ書きなぐりですが、書いときます。
- おすすめ
- TryHackMe
- フォレンジック学習向けのイメージデータ - setodaNote
- 仙台CTFの解説
- 常設CTFやCTFの過去問
- picoctf
- FreeHackQuest
- HackTheBoxのChallenges
- blue team向け
- Splunk解析
- メモリフォレンジック
- メモリフォレンジックCTF「MemLabs」Lab1のWriteUp: NECセキュリティブログ | NEC
- GitHub - stuxnet999/MemLabs: Educational, CTF-styled labs for individuals interested in Memory Forensics
- https://www.tryhackme.com/room/memoryforensics
- Memory Samples · volatilityfoundation/volatility Wiki · GitHub
- やられメモリダンプ
- メモリフォレンジックCTF「MemLabs」Lab1のWriteUp: NECセキュリティブログ | NEC
- Memory Forensics: How to Pull Passwords from a Memory Dump – CYBER ARMS – Computer Security
- 「Volatility Frameworkを使ったメモリフォレンジック」と言うハンズオンに参加させて頂きました。 | DevelopersIO
- ネットワークフォレンジック
- ログフォレンジック
- 未分類
- Defcon DFIR CTF 2019
- Challenges - Aspire CTF
- Ali Hadi, Ph.D.
- Challenge Forensic - Challenges Windows
- Digital Forensics Challenge Treasure Hunt - Round 1
- Challenges and Images - Forensic Focus
- Digital Forensics Challenge
- Digital Forensics Challenge
- Challenges and Images - Forensic Focus
- hack the box forensics challenges
- PicoCTF 2019 — Forensics Challenges | by Kamran Saifullah | Medium
- Challenges/Forensic [Root Me : Hacking and Information Security learning platform]
- SANS Digital Forensics and Incident Response Challenge
- 3 Challenges in Digital Forensics for Crime Investigation - Lumix
- Home | CyberDefenders ® | Blue Team CTF Challenges
- https://dfrws.org/dfrws-forensic-challenge
- https://www.hecfblog.com/2018/08/daily-blog-451-defcon-dfir-ctf-2018.html
- https://www.cfreds.nist.gov/
- Digital Forensic Challenge #1 - Web Server Case Write up - #include <sys/socket.h>
- Digital Forensics challenge まとめ(随時更新) - 4ensiX
- ForensicChallenges
- Ali Hadi, Ph.D.
- DFA & CCSC Joint Spring 2020 CTF
明日も自分の記事ですね。ステガノグラフィーについて書きます。