CTFで役立ちそうなツールの一覧 Windows編
CTFで問題を解くために使えるかもしれないツールとサービスを3回に分けて紹介します。第1回はWindows編です。自身で未導入のものを含み、不正確な部分もあるかもしれませんが、ご参考まで。
Network
- Wireshark
.pcapと.pcapngのネットワークパケットを解析- HTTPS通信の複合
- 無線通信の複合
- NetworkMiner
.pcapを見やすく解析
.pcapngは.pcapに変換してから開く必要あり
FTPの通信からファイルを簡単に取り出せる
Imageタブに通信に含まれる画像イメージが一覧表示される
なお、ファイルの取り出しについては他のカービングツール(binwalkなど)を試すのもよい - TCPView
TCPコネクションと利用アプリケーションを関連付けて表示する
不審な通信を行うプロセスの発見に使える - MSGViewer
Outlookの.msgメールファイルを開く
Web
- Chrome DevTools
POST内容編集、送信ヘッダー確認、クッキー確認・書き換えなど
参考:最高にわかるChromeデベロッパーツールの使い方(チートシート付き) - Fiddler
HTTP通信の内容確認、書き換え - Burp Suite Community Edition
HTTP通信の内容確認、書き換え※未導入
Intruderタブでは簡単な設定でブルートフォースアタックなどができる - OWASP ZAP
脆弱性スキャンツール※未導入
CTFで禁止されている場合あり - OWASP Xenotix XSS Exploit Framework
XSS検査ツール、各種エンコーダ・デコーダも付属※未導入 - Malzilla
難読化されたJavaScriptコードの解析・解読※未導入
Binary
- IDA Free
GUIベース逆アセンブラ
デバッガや、逆コンパイラなども備えている
32bitのexeとelfを解析 - IDA Demo
試用期間があるものの、x86_64(64bit)も解析できる※未導入
定期的にポップアップが出る - BinText
バイナリから文字列を抽出する - hex2bin、bin2hex
バイナリとテキストの相互変換 - UPX
-dオプションで実行ファイルのUPXをアンパックする - TrIDNet
ファイル種別を判定する - WinExChange
ファイル種別を判定する - reko
多数のCPUアーキテクチャ対応したOSSのデコンパイラ※未導入
インストールにVisutalStudio2013以降が必要 - CaptureBAT
動的解析にてファイル、レジストリ、ネットワークの挙動を記録※未導入
削除されたファイルの保存などが可能(CUI) - XorFiles
2つのバイナリのXORをとる※未導入 - METASM
アセンブラ、逆アセンブラ、コンパイラ、リンカ、デバッガといった機能を持つライブラリ/アプリケーション※未導入
参考:CTF/Toolkit/METASM - 電気通信大学MMA - Binary Ninjya
GUIベース逆アセンブラ※未導入
有償だがX86のみ対応のDemo版あり(64bit環境でのみ動作)
Binary - バイナリエディタ
- Stirling
バイナリエディタ - Bz
大きなサイズ(4GBまで)のファイルの解析に対応したバイナリエディタ
構造を解析してハイライト表示できる - PowerWitch the Royal
ビット反転機能などのあるバイナリエディタ - FileInsight
XORやPythonプラグインによる拡張が可能なバイナリエディタ
プラグイン:GitHub - nmantani/FileInsight-plugins - WinHex
フォレンジック用の機能を持っているバイナリエディタ※未導入
一部機能の利用には追加ライセンスが必要
Binary - デバッガ
- OllyDbg
PE形式のバイナリを解析できるデバッガ
多数のプラグインが存在
64bitのバイナリは解析できない
日本語化パッチ:Digital Travesia ~ でじたる とらべしあ ~
参考:トリコロールな猫 - OllyDbgを使ってx86アセンブラを学ぶシリーズ - x64dbg
64bit解析に使用できるデバッガ
ステップ実行を遡ることができる
プラグイン:Plugins x64dbg/x64dbg Wiki - GitHub
参考:Reverse Engineering Tips: An Introduction To x64dbg - ScyllaHide
ollydbgやx64_dbgのプラグインとしてIsDebuggerPresent等のデバッガ検知を回避できるほか、マニュアルアンパックにも使える - WinDbg
64bitの実行ファイルの解析が可能
参考:WinDbg - マイクロソフト系技術情報 Wiki - cdb
WinDbgのコマンドライン版※未導入
参考:Windowsの開発環境を構築し、コンパイル・デバッグをやってみる - ももいろテクノロジー - Immunity Debugger
Pythonで機能拡張可能なデバッガ
64bitのバイナリは解析できない
Binary - PEヘッダ解析
- PEView
PEヘッダの確認 - Stud_PE
PEヘッダの確認 - PEstudio
PEヘッダの確認 - PE Tools
実行中プロセスのPEヘッダを確認 - FileAlyzer
PEヘッダ、自動アンパックや諸々ファイル情報表示 - CFF Explorer
PEヘッダの確認とファイルの識別、アドレスの変換、依存関係のスキャン、インポートされた関数をPEに追加など - Exeinfo PE
PEヘッダの確認およびパッカー識別(古いパッカーは対応していない)
Binary - デコンパイラ(C/C++)
Binary - デコンパイラ(Android)
- dex2jar/Java Decompiler(JD-GUI)
.apkファイルから、Javaのソースコードを抽出する - jad
JD-GUIで逆コンパイルできない(「//Byte code:」が出る)ケースで使用する - apktool
.apkファイルを文字化けせずに解凍する- apkファイルの展開
- > apktool d <apkファイル>
- apkファイルの再構築(処理を追加・変更したい場合にsmaliファイルを編集して再構築する)
- > apktoolb <apkファイル名(拡張子なし)>
- apkファイルの展開
- AXMLPrinter2.jar
AndroidManifest.xmlのバイナリをテキストに変換する - BYTECODE VIEWER
Androidアプリの逆コンパイル※未導入 - smali/baksmali
Androidアプリの逆コンパイル※未導入 - APK Studio
apkファイルを直接修正※未導入
Binary - デコンパイラ(.Net)
- ILSpy
.NETデコンパイラ - dnSpy
.NETデコンパイラ - JustDecompile
.NETデコンパイラ - dotPeek
.NETデコンパイラ - .NET CodeReflect
.NETデコンパイラ - Reflexil
ILSpy、JustDecompileのプラグインとして動作するアセンブリエディタ※未導入
参考:共にフリーで使えるJustDecompileとReflexilで、.NETアセンブリの編集
Binary - デコンパイラ(その他)
- unpy2exe.py
Python製のexeからpycファイルに変換※Python製のexeはfileコマンドでは判別できないがTrIDで推定できる - Easy Python Decompiler
pycファイルからpyファイルにデコンパイル - uncompyle2
Pythonのデコンパイル※未導入 - pycdc
Pythonのデコンパイル※未導入 - AS3 Sorcerer
flashデコンパイラ - jpexs-decompiler
flashデコンパイラ※未導入 - swftools
flashファイルの解析※未導入
Binary - プロセス・メモリ
- Processmonitor
プロセス監視 - Process Explorer
プロセス詳細表示 - API Monitor
WindowsAPIの呼び出し状況を確認し、プログラムの挙動を調べる - うさみみハリケーン
実行中のプロセスのメモリを抽出し、書き換えることができる
Forensic
- FTK Imager Lite
ディスクイメージを参照
NTFSマスターファイルテーブル($MFT)を抽出したり、削除済みファイルを復元したり - MFTDump
$MFTの情報を解析して表形式で出力- > mftdump.exe /o output.csv <MFTファイル/ディスクイメージ>
- Autopsy
ディスクイメージを解析して見やすく表示
FTK Imagerにはない「ファイルタイプ別」「削除されたファイル」「EXIFメタデータ」「Eメールメッセージ」などの観点で一覧できる - autoruns
システムで自動起動するように登録されたエントリを一覧できる
FTK Imagerなどでマウントしたドライブを対象に解析することもできる - Log Parser Studio
SQLでイベントログを参照し、テキスト出力できる - Bulk Extractor with Record Carving
ディスクイメージからファイルをカービングする - KaniVola
メモリダンプを解析する - OSForensics
ディスクイメージを解析して見やすく表示※有償・30日トライアル可能
日付を指定して操作履歴を確認できる
削除ファイルを含めてファイルを検索できる
メモリダンプの詳細が確認できる
ブラウザのパスワード、Windowsパスワードなどを探索できる - Sleuthkit
ディスクイメージのCUI解析ツール※未導入 - PhotoRec/TestDisk
ファイル復元ソフト※未導入 - pyOLEScanner
Office関連ファイルの解析で使えるツール※未導入 - NTFS Log Tracker
$LogFileからファイル操作記録を抽出(要SQLite)※未導入 - ADS Manaager
代替データストリームを表示※未導入
Forensic - レジストリ
- KaniReg
レジストリ解析
バイナリ配布サイトが消えている? - Windows Registry Recovery
レジストリ解析 - regripper(rrv)
レジストリからプログラム実行記録を抽出
pluginファイルもダウンロードしておく必要あり
参考:regripperの使い方メモ - でーたべーす- > rip.exe -p userassist -r NTUSER.DAT
- > rip.exe -p muicache -r NTUSER.DAT
- > rip.exe -p appcompatcache -r config\system
- Registry Explorer
レジストリハイブファイルを開く
Forensic - ステガノグラフィー/メディア
- F6Exif
jpgのEXIF情報を表示 - Exif読取り君
jpgのEXIF情報を表示 - PNG_Analyzer
pngのチャンクサイズを変更
IHDRのEditorタブで縦横のサイズを増やし、左のIHDR項目をクリックするとCRCが更新され、画像の表示領域を増やせる - Stegsolve
画像のビット要素を分解して様々なパターンで表示することができる - IrfanView
画像のプロパティ表示 - Steghide
画像(JPG,BMP)や音声(WAV,AU)にパスフレーズを使用してデータを埋め込み・取り出し- データファイルの隠ぺい
- > steghide.exe -cf <カバーファイル名> -ef <隠ぺいファイル名> -sf <ステゴファイル名>
- 隠ぺいファイルの抽出
- > steghide.exe extract [-xf <隠ぺいファイル名>] -sf <ステゴファイル名>
- 隠ぺいファイル情報表示
- > steghide.exe info <ステゴファイル名>
- データファイルの隠ぺい
- 初音
PNGにファイルを埋め込み・取り出し - MP3Stego
MP3にデータを埋め込み※未導入 - OpenStego
BMP,PNGにデータを埋め込み※未導入 - StegoShare
BMP, JPG, PNG, GIF, TIFFにデータを埋め込み※未導入 - Gimp
画像編集 - Audacity
音声ファイル操作 - Sonic Visualiser
音声ファイルの波形を視覚化する - VLC media player
動画再生 - GOM Player
動画再生 コマの静止画キャプチャーが可能
Forensic - ファイル
- Pika Zip
zipパス解析 - DiskInternals ZIP Repair
壊れたZIPファイルを自動的に修復する - HashTab
ファイルのプロパティウィンドウにハッシュを表示するタブを追加 - HashMyFile
複数ファイルのハッシュ値を一度に計算 - PDF Stream Dumper
PDF内のJavaScript解析 - Hexinator
ファイルの種類に応じたバイナリ構造のハイライト機能を持ったバイナリエディタ※一部機能は14日でトライアル切れとなる
Crypto
- ophcrack
WindowsパスワードをLMハッシュのレインボーテーブルを用いて解析する
解析にはdictionalyのダウンロードが必要 - CryptoCrack
様々な暗号タイプに対応し、暗号に使われている鍵が不明な場合でも復号結果を推測する - AesCrypter
AES 暗号/復号ツール - CrypTool
様々なアルゴリズムでの暗号化・復号ツール※未導入
その他
- 7zip
圧縮解凍 - Adobe Reader
ドキュメントビュアー - LibreOffice
オフィス互換 - DF
テキストファイルの差分表示
参考ページ
- CTF - A painter and a black cat
- wivern.com | 見る価値のある5つの PE 解析ツール
- セキュリティエンジニア向けツール(Windows編) - Qiita
- 画像および音声オブジェクトの内部に情報を隠す4つの方法 | OSDN Magazine
- マルウェア解析に必要な素養~導入編~ - HackMD
- C#で作られたプログラムをデコンパイルしてみよう - ほげほげー
- GitHub - SandySekharan/CTF-tool
- CTFに使用するツール類まとめ - ソースコード置き場
- CTF/Toolkit - 電気通信大学MMA
- セキュリティ担当者になったりCTF参加するときにインストールしたいツールまとめ - Qiita
参考書籍
セキュリティコンテストチャレンジブック -CTFで学ぼう! 情報を守るための戦い方-
- 作者: 碓井利宣,竹迫良範,廣田一貴,保要隆明,前田優人,美濃圭佑,三村聡志,八木橋優,SECCON実行委員会
- 出版社/メーカー: マイナビ出版
- 発売日: 2015/09/30
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (4件) を見る
- 作者: 清水祐太郎,竹迫良範,新穂隼人,長谷川千広,廣田一貴,保要隆明,美濃圭佑,三村聡志,森田浩平,八木橋優,渡部裕,SECCON実行委員会
- 出版社/メーカー: マイナビ出版
- 発売日: 2017/07/28
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る