web-dev-qa-db-ja.com

生のメモリダンプをボラティリティで認識される形式に変換する

基本的に機能したLiveKdを使用して、Windows 7 pcのRAM=)をダンプしました。メモリはダンプされましたが、バイナリダンプを「サマリーフォーマット」に変換できませんでした。次に、volatilityを使用してファイルを読み取ろうとしたところ、論理的な適切なアドレス空間マッピングがないことがわかりました。生のメモリダンプをボラティリティで認識される形式に変換する方法はありますか?

5
davidb

デフォルトでは、LiveKDは、completeの内容の生のダンプではなく、クラッシュダンプファイルとして表示されるkernelメモリダンプを取得します。羊。揮発性にはcompleteメモリダンプが必要です。 Windowsメモリイメージング用のこれらのツール のいずれかをお勧めします。 LiveKDの目的は、フォレンジック分析(KD =カーネルデバッグ)ではなく、デバッグ用です。これは、カーネルを「ライブ」でデバッグするためにシリアル接続を介してWinDbgとKDを使用する必要がある代わりです(そして、システムをデバッグモードで起動する必要はありません)。 LiveKDは、デバッガーが開くことができる「仮想」クラッシュダンプファイルを提示するファイルシステムフィルタードライバーを実装することにより、デバッガーをだまして、クラッシュダンプファイルを見ていると思い込ませます。

そうは言っても、LiveKDからのダンプは、技術的にはRAMの完全なダンプが含まれている可能性がありますが、正しいオプションが指定されていれば、その前にヘッダーがあるため、デバッガーはファイル形式をクラッシュダンプとして認識します。ファイル。クラッシュダンプファイルは、ファイルヘッダーの後に物理メモリの内容が続くだけなので、ドライバーは、仮想ダンプファイルの読み取りを物理メモリの内容で満たすことができ、ドライバーは\Device\Physical Memoryセクションオブジェクトから簡単に読み取ることができます。メモリマネージャが作成します。

The Art of Memory Forensicsが作成したVolatilityの作成者 では、96-98ページのWindowsクラッシュダンプの構造について説明しています。 「Windowsクラッシュダンプファイル形式はデバッグ目的で設計された」こと、および_DMP_HEADERまたは_DMP_HEADER64構造(p。96)で始まること。著者は、completeメモリダンプのみがVolatilityと互換性があり、kernelメモリダンプもsmallも互換性がないことを明確にしていますダンプ( 違いを説明するMS TechNetブログエントリです )。

私は個人的に、バイナリデータを含む多くのフォレンジック解析タスクに010 Hex Editorを使用しており、 2ビットのクラッシュダンプを解析するための既成のテンプレート を備えています。クラッシュダンプヘッダーの形式の詳細については、 ボラティリティのドキュメント を参照してください。

3
Dan