親記事 → CTFにおけるフォレンジック入門とまとめ - はまやんはまやんはまやん
ネットワークフォレンジック
- ネットワークのパケットログに対してフォレンジックを行う
- ネットワークに関する基礎知識やプロトコルの知識が必要
- Wiresharkというツールを使って解析する。cap, pcap, pcapngファイルが扱える
Wireshark
- パケットを右クリックすると使える「追跡」機能は無茶苦茶便利
- Follow TCP Stream
- 解析の初手として統計/分析情報も使える。特に以下2つが初手眺めるのに良い
- Protocol Hierarchy : 利用されているプロトコルの統計を知りたい
- Endpoints : どのような端末が通信しているかの統計を知りたい
- とある端末で採取しているので最も多いendpointは自分(被害端末)が多い。次に多いのが攻撃端末かも
- フィルタもIP絞り込みとかさっと行えるといい
http
でhttp通信に絞れる(ip.src == 192.168.100.103) || (ip.dst == 192.168.100.103)
とか便利
- 後は雑に探したいときは文字列検索も可能(Ctrl+F)
- 通信されているファイルを抜き出したいときは
ファイル/オブジェクトをエクスポート/????で取る
- 他
- 破損したpcapファイルの修復 PCAP ファイルの修復 - CTF Wiki
- コマンドで色々処理したい場合はtsharkが使える
- pythonで弄りたいときは
import dpkt
- snortルール: ネットワークパケットに対して適用可能なルール
TCP/UDP通信
- TCP通信 -> Follow TCP Streamで通信を盗み見る
- UDP通信
ICMP通信
- ICMPでDNSのOOB抽出っぽくやってる問題しか見たことない
無線通信 IEEE 802.11
- 「無線 > 無線LAN統計」で通信元の一覧が見れる
- Wiresharkで無線LAN(802.11)のデータを見てみよう! - シアトル生活はじめました
- 802.11のパケットの種類は大まかに三種類ある
wlan.fc.type == 0
でフィルタ- Management frames: APと接続したり切断したり認証したり・・ (0)
- Control frames: 他のフレームを運ぶため。ヘッダーしかない (1)
- Data frames: 実際にデータを含むパケット (2)
wlan.fc.subtype
でサブタイプもある- 「Wireshark 802.11 Display Filter Field Reference」が良い資料になる
wlan.ra == 88-00-00-00-00-00
で特定の送り先(元?)に限定する
- 802.11のパケットの種類は大まかに三種類ある
- 「統計 > フローグラフ」がすごい使えそう
USB, Bluetooth
- USB通信
- キーボード、マウスの挙動を復元する問題が出るかも。以下に一例を乗せるが、結構バグるから、毎回試行錯誤してる
- 基本HIDに従っているので、HIDのドキュメントに従ってあれこれやるのが本来は正しい
- https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf
- キーボード復元 -> sabh05/CTF-Usb_Keyboard_Parser: USB Keyboard Parser Tool is an automated script that can extract HID data from.pcap or.pcapng files.
- マウス復元 -> For2 - HackMD
- キーボード、マウスの挙動を復元する問題が出るかも。以下に一例を乗せるが、結構バグるから、毎回試行錯誤してる
- Bluetooth通信
- あんまりUSB通信と変わらない。データのやり取り部分を見つけたら、あとはハード固有の話か、HID準拠の話になる