
仮想マシン内省、トレーシング、デバッグ
Iceboxは、任意のプロセス(カーネルまたはユーザー)をステルス的にトレースおよびデバッグできる仮想マシン内部調査(VMI)ソリューションです。 これはプロジェクトWinbagilityに基づいています。
役立つファイル:
完全なスタートガイドはこちらに書かれています。
それ以外の場合は、samplesフォルダを確認してください。要件をインストールした後、これらの手順に従ってサンプルをビルドできます。
Windowsゲストを使用している場合は、環境変数_NT_SYMBOL_PATHをゲストのpdbを含むフォルダに設定するとよいでしょう。iceboxのセットアップは、ゲストのカーネルのpdbが見つからない場合に失敗することに注意してください。
vm_resume:
vm_resumeはVMを一時停止してから再開します。
cd icebox/bin/$ARCH/
./vm_resume <vm_name>
nt_writefile:
nt_writefileは、プロセスがntdll!NtWriteFileを呼び出したときにブレークし、書き込まれた内容をホスト上の現在のディレクトリにファイルとしてダンプします。
cd icebox/bin/$ARCH/
./nt_writefile <vm_name> <process_name>
heapsan:
heapsanは、プロセスからのntdllメモリ割り当てをブレークし、すべてのポインタの前後にパディングを追加します。まだ不完全で、チェックは行いません。
cd icebox/bin/$ARCH/
./heapsan <vm_name> <process_name>
wireshark:
wiresharkは、NDISドライバがネットワークパケットを読み取りまたは送信したときにブレークし、Wiresharkトレース(.pcapng)を作成します。送信された各パケットは、必要に応じてカーネルランドからユーザーランドまでのコールスタックに関連付けられます。
cd icebox/bin/$ARCH/
./wireshark <name> <path_to_capture_file>