
Windows におけるレジストリとファイルの変更監視 - Windows レジストリとファイルのフォレンジック分析
"fingerprint" は、ファイルとレジストリに関する Windows システムの状態を記録します。 このようなフィンガープリントを比較することで、変更されたデータをすべて見つけることができます。 データは procmon ログファイルで絞り込むことができ、どのプロセスが変更を引き起こしたかを確認できます。 Procmon ログファイルは、変更されたファイルやレジストリエントリに関するイベントのみを表示するようにフィルタリングできます。 これにより、システム変更の原因をはるかに簡単に見つけることができます。
すべてのフィンガープリントは CSV(Excel 互換形式)で保存され、フィルタリングや並べ替えなどに便利です。 サードパーティのツール("Meld"、"FC"、"diff" など)を使用してフィンガープリントを比較することもできます。
fingerprint はバッチファイルで使用でき、関心のあるイベントを自動的にフィルタリングできます。バッチフレンドリーです。
ソースは含まれていますが、Releases <https://github.com/bitranox/fingerprint/releases>_ から pyinstaller で作成された fp.exe ファイルをそのまま使用しても構いません。
ハニーポットの監視、システム変更の監視、デモ版の有効期限切れなど「隠された」レジストリエントリやファイルの発見、 ウイルス活動の分析、プライバシー侵害の有無の分析に使用できます。プログラムがメモリにのみ存在し、何も変更しない場合を除き、あらゆるスパイプログラム、ワーム、 またはシステムへのハッキングを見つけることができます。ただし、そのようなプログラムは非常に稀です。
Wiki <https://github.com/bitranox/fingerprint/wiki>_ を確認してください。
インストールは不要です。Releases <https://github.com/bitranox/fingerprint/releases>_ から fp.exe ファイルをそのまま使用してください。
以下のパッケージがインストール/必要となります(.py ファイルを使用する場合):
click
python-registry
pyinstaller(独自の .exe ファイルを作成する場合)
Regshot、InstallWatch Pro、SpyMe Tools、RegDiff、WhatChanged、RegFromApp、Uninstaller Pro などに触発されました。
このプロジェクトをフォークし、プルリクエストを送っていただけると嬉しいです。 ぜひご貢献ください。
このソフトウェアは MIT ライセンス <http://en.wikipedia.org/wiki/MIT_License>_ のもとでライセンスされています。
ライセンスファイル <https://github.com/bitranox/fingerprint/blob/master/LICENSE>_ を参照してください。
例を使ってウォークスルーをしてみましょう。「トライアル期間」があるソフトウェアがあり、トライアル期間が終了するとソフトウェアが動作しなくなると仮定します。
ソフトウェアをアンインストールして再インストールしても、まだ「トライアル期間が終了しました」と表示される場合、このソフトウェアは完全にアンインストールされておらず、いくつかのファイルやレジストリエントリが残っていることを意味します。
すべてのプログラムはコマンドラインから起動します。fp.exe [コマンド] --help で全コマンドラインパラメータのヘルプを表示します。
STEP1: クリーンなシステムでドライブ c:\ のフィンガープリントを作成: fp.exe files --fp_dir=c:\ --f_output=c:\fp\fp1.csv fp.exe reg --f_output=c:\fp\reg1.csv
STEP2: ソフトウェアのインストール、実行、アンインストール後にフィンガープリントを作成: fp.exe files --fp_dir=c:\ --f_output=c:\fp\fp2.csv fp.exe reg --f_output=c:\fp\reg2.csv
STEP3: 差分ファイルを作成。これらのファイルには、クリーンな状態とアンインストール後の状態の間のすべての変更が保存されます: fp.exe files_diff --fp1=c:\fp\fp1.csv --fp2=c:\fp\fp2.csv --f_output=c:\fp\fp1-fp2.csv fp.exe reg_diff --reg1=c:\fp\reg1.csv --reg2=c:\fp\reg2.csv --f_output=c:\fp\reg1-reg2.csv
STEP4: ソフトウェアを再インストール procmon を使用してすべてのシステムアクティビティをログに記録し、ログを CSV ファイル "c:\fp\reinstall_procmon.csv" として保存します。
Procmon ログファイルのフィルタリングについては、現在リファクタリング段階のため、後日説明します。 もし待ちきれない場合は、旧バージョン 1.6(リリースから)を使用しても構いません。
かなりのノイズを記録する可能性があります。現時点ではそれを除外するフィルターはありません。一方で、ノイズの中に隠れることもできるので、そのままにしています。
Procmon ログファイルは非常に大きくなる可能性があります。調査対象のプロセスやプログラムに適切なフィルターを設定してください。