analyzing-windows-prefetch-with-python について
セキュリティ調査向けに Windows Prefetch ファイルを分析する Python スキルです。windowsprefetch ライブラリを使って実行タイムラインを再構成し、不審なプログラムや名前を変更したプログラムを特定します。
主な機能
- 01Prefetch 実行記録の解析
- 02実行回数とタイムスタンプの抽出
- 03不審な実行ファイルや改名の検出
- 04実行タイムラインの再構成
- 05JSON レポートの生成
活用シーン
- 01エンドポイントのセキュリティインシデント調査
- 02不審なプログラム実行のハンティング
- 03脅威検出ルールの作成
- 04セキュリティ監視範囲の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill analyzing-windows-prefetch-with-pythonインストール後、Claude Code で/analyzing-windows-prefetch-with-pythonを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEreferences/api-reference.mdscripts/agent.py詳細
Python による Windows Prefetch の分析
概要
Windows Prefetch ファイル(.pf)には、実行可能ファイル名、実行回数、タイムスタンプ、読み込まれた DLL、アクセスされたディレクトリなどのアプリケーション実行データが記録されています。このスキルでは、windowsprefetch Python ライブラリを使用した Prefetch ファイルの解析、実行タイムラインの再構築、実行可能ファイル名と読み込まれたリソースを比較した名前変更または偽装バイナリの検出、マルウェアの実行やラテラルムーブメントを示唆する不審なプログラムの特定について説明します。
使用する場面
- Python を使って Windows Prefetch を分析する必要があるセキュリティインシデントを調査する場合
- この分野の検出ルールや脅威ハンティングクエリを作成する場合
- SOC アナリストが、この種の分析のための体系的な手順を必要とする場合
- 関連する攻撃手法に対するセキュリティ監視のカバレッジを検証する場合
前提条件
windowsprefetchライブラリを含む Python 3.9 以降(pip install windowsprefetch)C:\Windows\Prefetch\にある Windows Prefetch ファイル(バージョン 17~30 に対応)- Windows Prefetch ファイルの命名規則(EXECUTABLE-HASH.pf)の理解
手順
手順 1:Prefetch ファイルを収集する
対象システムの C:\Windows\Prefetch\ ディレクトリから .pf ファイルを収集します。
手順 2:実行履歴を解析する
実行可能ファイル名、実行回数、最終実行タイムスタンプ、ボリューム情報を抽出します。
手順 3:不審な実行を検出する
既知の攻撃ツール(mimikatz、psexec など)、名前が変更されたバイナリ、通常とは異なる実行パターンを検出対象としてマークします。
手順 4:実行タイムラインを作成する
すべての Prefetch ファイルから、時系列順の実行タイムラインを再構築します。
期待される出力
実行履歴、不審な実行可能ファイル、名前が変更されたバイナリの兆候、タイムラインの再構築を含む JSON レポート。
出力例
$ python3 prefetch_analyzer.py --dir /evidence/Windows/Prefetch --output /analysis/prefetch_report
Windows Prefetch Analyzer v2.1
================================
Source: /evidence/Windows/Prefetch/
Prefetch Format: Windows 10 (MAM compressed, version 30)
Files Found: 234
--- Execution Timeline (Incident Window: 2024-01-15 to 2024-01-18) ---
Last Executed (UTC) | Run Count | Filename | Hash | Path
------------------------|-----------|-----------------------------|----------|------------------------------------------
2024-01-15 14:33:15 | 1 | Q4_REPORT.XLSM-2A1B3C4D.pf | 2A1B3C4D | C:\Users\jsmith\Downloads\Q4_Report.xlsm
2024-01-15 14:35:44 | 1 | POWERSHELL.EXE-A2B3C4D5.pf | A2B3C4D5 | C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
2024-01-15 14:36:30 | 3 | UPDATE_CLIENT.EXE-B3C4D5E6.pf| B3C4D5E6| C:\ProgramData\Updates\update_client.exe
2024-01-15 15:10:22 | 1 | NETSCAN.EXE-C4D5E6F7.pf | C4D5E6F7 | C:\Users\jsmith\Downloads\netscan.exe
2024-01-16 02:28:00 | 1 | PROCDUMP64.EXE-D5E6F7A8.pf | D5E6F7A8 | C:\Windows\Temp\procdump64.exe
2024-01-16 02:30:15 | 2 | MIMIKATZ.EXE-E6F7A8B9.pf | E6F7A8B9 | C:\Windows\Temp\mimikatz.exe
2024-01-16 02:40:00 | 4 | PSEXEC.EXE-F7A8B9C0.pf | F7A8B9C0 | C:\Users\jsmith\AppData\Local\Temp\psexec.exe
2024-01-17 02:45:00 | 1 | SDELETE64.EXE-A8B9C0D1.pf | A8B9C0D1 | C:\Windows\Temp\sdelete64.exe
2024-01-18 03:00:45 | 1 | WEVTUTIL.EXE-B9C0D1E2.pf | B9C0D1E2 | C:\Windows\System32\wevtutil.exe
--- Renamed Binary Detection ---
ALERT: UPDATE_CLIENT.EXE loaded DLLs consistent with Cobalt Strike beacon:
Referenced DLLs: wininet.dll, ws2_32.dll, advapi32.dll, dnsapi.dll, netapi32.dll
Volume: \VOLUME{01d94f2a3b5c7d8e-A4E73F21} (C:)
Directories referenced:
C:\ProgramData\Updates\
C:\Windows\System32\
--- Execution Frequency Analysis ---
Most Executed (Top 5):
1. SVCHOST.EXE (267 runs)
2. CHROME.EXE (189 runs)
3. EXPLORER.EXE (156 runs)
4. RUNTIMEBROKER.EXE (134 runs)
5. OUTLOOK.EXE (98 runs)
First-Time Executions (Never seen before incident window):
6 executables first run between 2024-01-15 and 2024-01-18
Summary:
Total prefetch files: 234
Suspicious executables: 6
Renamed binary indicators: 1 (update_client.exe)
Anti-forensics tools: 2 (sdelete64.exe, wevtutil.exe)
JSON report: /analysis/prefetch_report/prefetch_timeline.json