web-dev-qa-db-ja.com

Windowsハイバネーションファイル(hiberfil.sys)を読み取ってデータを抽出する方法は?

休止状態ファイルに格納されているすべてのデータを解析して見つける必要があります。ただし、これまでは、16進エディターで開いてテキストを検索することにより、手動で行うことしかできませんでした。 SandMan Libraryについて見つけましたが、リソースがありません。ファイルを読み取る方法はありますか?または、そうするためのツール/ライブラリまたは他の方法はありますか?

8
coder

Hiberfil.sysに関する多くの情報は ForensicWikiページ にあります。

ファイル形式の解析に必要なデータ構造のほとんどはMicrosoftWindowsデバッグシンボルで利用できますが、使用される圧縮(Xpress)は、MatthieuSuicheによってリバースエンジニアリングされるまで文書化されていませんでした。彼はNicolasRuffと一緒に、Sandmanというプロジェクトを作成しました。これはWindowsの休止状態ファイルを読み書きできる唯一のオープンソースツールです。

プロジェクトサンドマンのPDFが見つかりました ここ

Sandmanプロジェクトの作成者は、メモリとHiberfil.sysファイルをダンプする(そしてXPress圧縮形式から抽出する)ツールも作成しました。 MoonSols Windowsメモリツールキット

ForensicWikiページの他のリンクのいくつかはもう機能しませんが、ここに私が見つけたものがあります:(フォーマット構造に直接飛び込みたい場合は、このリソースを使用できます。ヘッダーには、ヘッダーの最初の8192バイトファイル、あなたはそれらを解凍する必要はありません)

ハイバネーションファイル形式.pdf

ForensicWikiページのこの最後のPDFおよび 最後のリンク は、Hiberfil.sysの構造に関する十分な情報を提供するはずです。

ハイバネーションファイルは、標準ヘッダー(PO_MEMORY_IMAGE)、CR3(_KPROCESSOR_STATE)などのカーネルコンテキストとレジスタのセット、および圧縮/エンコードされたXpressデータブロックのいくつかの配列(_IMAGE_XPRESS_HEADERと_PO_MEMORY_RANGE_ARRAY)で構成されます。

標準ヘッダーはファイルのオフセット0に存在し、以下に示されています。通常、Signatureメンバーは、有効と見なされるために「hibr」または「wake」のいずれかである必要がありますが、まれにPO_MEMORY_IMAGEヘッダー全体がゼロになっているため、ほとんどのツールで休止状態ファイルを分析できません。これらの場合、ボラティリティはブルートフォースアルゴリズムを使用して、必要なデータを特定します。

これらのドキュメントの参照は、他にも多くの情報源を提供するはずです。

7
Rik

http://code.google.com/p/volatility/downloads/list を使用して、hiberfil.sysファイルを生の画像に変換します。現在の最新バージョンは2.3.1です。具体的には、次のコマンドラインを使用して、最初にrawイメージを作成できます:-f imagecopy -O hiberfil_sys.raw。これにより、ボラティリティを実行するための生のイメージが作成され、プロセス、接続、ソケット、レジストリハイブなどの情報を抽出するのに役立ちます(ほんの数例)。プラグインの完全なリストはここにあります: https://code.google.com/p/volatility/wiki/Plugins 。もちろん、強制レッドラインはその機能を提供する別のツールです。これがお役に立てば幸いです。

3
labgeek

security.stackexchange.com からこの回答を確認することを強くお勧めします。これは、データを抽出する方法とアルゴリズム自体に関する情報を示す優れた方法を示しています。

重要な部分を強調表示しました。

はい、暗号化せずにディスクに保存します。これはC:\hiberfil.sysの隠しファイルであり、休止状態が有効になっているすべてのシステムで常に作成されます。 内容はXpressアルゴリズムを使用して圧縮され、そのドキュメントは MicrosoftからのWord文書 として入手できます。 Matthieu Suicheは、2008年にBlackHatプレゼンテーションとして包括的な分析を行いました。これは PDFとして取得 できます。 MoonSols Windows Memory Toolkit というツールもあり、ファイルの内容をダンプできます。ただし、元に戻すことができるかどうかはわかりません。あなたはそれを自分で行う方法に取り組む必要があるかもしれません。

データを取得したら、手順を含め、データを抽出または変更することができます。緩和策の観点から、最善の解決策は、BitLockerやTrueCryptなどのフルディスク暗号化を使用することです。

ソース

3
Christian