Windowsフォレンジックアーティファクト:レジストリ、イベントログ、Prefetch
攻撃者の活動を明らかにする主要なWindowsアーティファクト、すなわちレジストリのRunキー、Securityイベントログのエントリ、実行内容と時刻を示すPrefetchファイルを特定します。
「Windowsフォレンジックアーティファクト:レジストリ、イベントログ、Prefetch」はCoddyKit上の無料Cloud & IT Cert Prepレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCloud & IT Cert Prep学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
Windowsアーティファクトが重要な理由
Windowsシステムは、ユーザーアクティビティ、プログラムの実行、ファイルアクセス、ネットワーク接続を記録する、豊富なフォレンジックアーティファクトを生成します。これらのアーティファクトが存在するのは、Windowsがパフォーマンスと機能性を重視して設計されているためです。Prefetch(アプリの起動高速化)やRegistry(構成の一元管理)などの機能が、副次的にフォレンジック記録を作成します。熟練したアナリストは、攻撃者が隠したり削除したりしようとする証拠をどこで探すべきかを理解しています。Windowsアーティファクトの理解は、エンドポイントフォレンジックの基本です。
フォレンジック情報源としてのWindows Registry
Windows Registryは、OSおよびアプリケーションの構成設定を保存する階層型データベースです。次の情報を記録するため、フォレンジック調査員にとって非常に価値の高い情報源です。最近アクセスしたファイルとURL、システムに接続されたことのあるUSBデバイス、インストールされたプログラムとアンインストール履歴、自動実行・スタートアップエントリ(永続化メカニズム)、ユーザーアクティビティのパターン、ネットワーク接続。Registryは、ディスク上に残るハイブファイル(NTUSER.DAT、SYSTEM、SOFTWARE、SAM、SECURITY)に保存されます。
# Key forensic Registry locations
# Persistence (autorun) locations:
# HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
# HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
# HKLM\SYSTEM\CurrentControlSet\Services (services/drivers)
# Recently accessed files (user activity):
# HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs
# HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RunMRU
# USB devices ever connected:
# HKLM\SYSTEM\CurrentControlSet\Enum\USBSTORRegistryの永続化キー
攻撃者はRegistryの自動実行キーを使用して永続化を確立し、再起動後もマルウェアが再び起動するようにします。最も悪用されるキーは、すべてのユーザーに対して実行されるHKLM\...\Runと、現在のユーザーに対してのみ実行されるHKCU\...\Runです。調査員はこれらのキーを調べて予期しないエントリを探し、ディフェンダーはAutoruns(Sysinternals)のようなツールを使ってエントリを列挙し、既知の正常なベースラインと比較します。%TEMP%や%APPDATA%など、疑わしい場所を指すエントリは調査が必要です。
# Examine autorun keys (PowerShell)
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run'
Get-ItemProperty -Path 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run'
# Look for entries pointing to unusual paths:
# 'svchost32' = 'C:\Users\User\AppData\Local\Temp\evil.exe'
# vs legitimate:
# 'SecurityHealth' = '%windir%\system32\SecurityHealthSystray.exe'
# Autoruns.exe (Sysinternals) shows ALL autostart locationsWindowsイベントログ
Windows Event Logは、システム、セキュリティ、アプリケーションのイベントを記録します。セキュリティフォレンジックでは、Securityイベントログが最も重要です。認証イベント、アカウント管理の変更、特権の使用、ポリシーの変更を記録するためです。主な保存場所は%SystemRoot%\System32\winevt\Logs\です。イベントログはバイナリ形式(.evtx)で、Event Viewerまたはフォレンジックツールで読み取れます。攻撃者はイベントログを消去しようとすることがよくあります。Securityログが消去されたこと自体がEvent ID 1102を生成するため、直ちにアラートを発報する必要があります。
# Query Security event log for failed logins (PowerShell)
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4625} |
Select-Object TimeCreated, Message |
Where-Object { $_.TimeCreated -gt (Get-Date).AddDays(-7) }
# Key Security Event IDs for forensics:
# 4624: Successful logon (logon type matters!)
# 4625: Failed logon
# 4634/4647: Logoff
# 4720: User account created
# 4732: Member added to security-enabled group
# 1102: Audit log cleared (attacker cleanup!)Event ID 4624のログオンの種類
Event ID 4624(ログオン成功)には、ログオンがどのように行われたかを示すログオンの種類フィールドがあります。ログオンの種類はフォレンジック上重要な意味を持ちます。Type 2=対話型(キーボードを操作するユーザー)、Type 3=ネットワーク(ファイル共有、リモートAPI)、Type 4=バッチ(スケジュールされたタスク)、Type 5=サービス(サービスの開始)、Type 7=ロック解除、Type 10=リモート対話型(RDP)、Type 11=キャッシュされた資格情報。外部IPからのネットワークログオン(Type 3)は、ラテラルムーブメントまたはリモートアクセスを示します。
# PowerShell: Find RDP logons (Type 10) from external IPs
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4624} |
Where-Object {
$msg = $_.Message
$msg -match 'Logon Type:\s+10' -and
$msg -match 'Source Network Address:\s+(?!192\.168|10\.|172\.1[6-9]|172\.2[0-9]|172\.3[0-1])'
} |
Select-Object TimeCreated, MessageWindows Prefetchファイル
Prefetchファイル(%SystemRoot%\Prefetch\*.pf)は、最近実行されたプログラムに関するデータをキャッシュし、アプリケーションの起動を高速化するためにWindowsが作成します。各Prefetchファイルには、実行ファイル名、完全パス、最終実行時刻、最大8件の実行時刻(Windows 8以降)、実行回数、実行ファイルが参照したファイルとディレクトリが記録されます。フォレンジックでは、プログラム自体が削除されていても実行されたことを証明できるため、マルウェアの実行を立証するうえで重要です。
# List Prefetch files with last run times (PowerShell)
Get-ChildItem C:\Windows\Prefetch\*.pf |
Select-Object Name, LastWriteTime, Length |
Sort-Object LastWriteTime -Descending
# Parse with PECmd (Eric Zimmerman's tool) for full details:
PECmd.exe -d C:\Windows\Prefetch --csv C:\forensics\prefetch_output
# Output shows: executable path, last 8 run times, run count,
# files and directories accessed during executionShimcacheとAmcache
Shimcache(AppCompatCache)は、システム上で実行された実行ファイルを記録し、HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCacheのRegistryに保存されます。ファイルパスと最終更新時刻を取得します。Amcache.hve(%SystemRoot%\AppCompat\Programs\内)は、実行されたプログラム、そのSHA-1ハッシュ、初回実行時刻を記録するRegistryハイブです。どちらも、マルウェアファイルが削除された後でも、その実行を立証するために役立ちます。
# Parse ShimCache with AppCompatCacheParser.exe (Eric Zimmerman)
AppCompatCacheParser.exe --csv C:\forensics
# Parse Amcache with AmcacheParser.exe
AmcacheParser.exe -f C:\Windows\AppCompat\Programs\Amcache.hve \
--csv C:\forensics
# Look for executables in unusual locations:
# C:\Users\username\AppData\Local\Temp\*.exe
# C:\Users\username\Downloads\*.exe
# C:\ProgramData\*.exe (malware staging area)Windowsイベントフォレンジック:ラテラルムーブメント
ラテラルムーブメントを検出するには、複数のシステムにまたがるイベントを相関分析する必要があります。重要なパターンは次のとおりです。送信元システムのEvent 4648(明示的な資格情報によるログオン)は、攻撃者がrunasまたはPass-the-Hashツールを使用したことを示します。標的システムのEvent 4624 Type 3は、ネットワーク認証が成功したことを示します。標的システムのEvent 7045(新しいサービスのインストール)は、攻撃者がPsExecなどのリモート実行ツールを介して永続化を確立したことを示します。SIEMでシステム間のタイムスタンプを相関させると、ラテラルムーブメントの経路が明らかになります。
# SIEM query: detect PsExec lateral movement pattern
# Source system: Event 4648 (explicit creds)
# Target system: Event 4624 Type 3 + Event 7045 (PSEXESVC service)
# PowerShell: find PSEXESVC service creation (attacker lateral movement)
Get-WinEvent -FilterHashtable @{LogName='System'; Id=7045} |
Where-Object { $_.Message -match 'PSEXESVC' } |
Select-Object TimeCreated, MessageLNKファイルとジャンプリスト
LNK(ショートカット)ファイルは、ユーザーがファイルを開くとWindowsによって自動的に作成され、対象ファイルのパス、作成日時と更新日時、ボリュームシリアル番号を記録します。対象ファイルが後で削除されていても記録は残ります。ジャンプリストは、アプリケーションごとに最近アクセスしたファイルや頻繁にアクセスしたファイルを記録し、%APPDATA%\Microsoft\Windows\Recent\AutomaticDestinations\に保存します。これらのアーティファクトから、攻撃者によるファイルアクセスを明らかにし、侵入中に持ち出された、またはアクセスされたファイルを、ファイル自体が削除された後でも特定できます。
MFTと削除ファイルの復旧
Master File Table(MFT)は、削除されたファイルを含む、すべてのファイルとディレクトリのメタデータを記録するNTFSファイルシステムのインデックスです。Windowsでファイルを「削除」すると、MFTエントリは再利用可能としてマークされますが、ファイルデータは上書きされるまでディスクに残っている可能性があります。フォレンジックツール(Autopsy、FTK)は、削除されたファイルのMFTエントリを復元し、その内容の復旧を試みることができます。これは、攻撃者が削除したマルウェア、ログ、または持ち出しデータのステージングファイルを復旧するうえで重要です。
# Analyze the MFT to find deleted files
# Using Autopsy or The Sleuth Kit (tsk)
fls -r /forensics/disk.img | grep '\*' # deleted files marked with *
# Recover a specific deleted file by inode number
icat /forensics/disk.img 12345 > /forensics/recovered_file
sha256sum /forensics/recovered_file
# Parse MFT with MFTECmd.exe (Eric Zimmerman)
MFTECmd.exe -f C:\$MFT --csv C:\forensics\mft_outputブラウザーアーティファクトとユーザーアクティビティ
Webブラウザーには、攻撃者や内部関係者のオンライン活動を明らかにするフォレンジックアーティファクトが残ります。ブラウザー履歴には、アクセスしたURLとタイムスタンプが記録されます。ダウンロード履歴には、Webから取得したファイルが示されます。キャッシュファイルには、攻撃者が閲覧したWebページやファイルのコピーが含まれている場合があります。ブラウザーに保存された資格情報から、攻撃者がアクセスしたアカウントが明らかになることがあります。これらのアーティファクトはプロファイルディレクトリ(%LOCALAPPDATA%\Google\Chrome\User Data\Default\)に保存され、ChromeCacheViewやBrowsingHistoryViewなどのツールで解析して、攻撃者のオンライン活動を再構成できます。
# Browser artifact locations (Windows)
# Chrome history database:
# %LOCALAPPDATA%\Google\Chrome\User Data\Default\History
# (SQLite database)
# Parse with sqlite3
sqlite3 History 'SELECT url, title, last_visit_time FROM urls ORDER BY last_visit_time DESC LIMIT 50'
# Firefox places.db (SQLite):
# %APPDATA%\Mozilla\Firefox\Profiles\*.default\places.sqlite
# BrowsingHistoryView.exe (Nirsoft) parses all browsers at onceクイックチェック
このレッスンで扱ったCompTIA Security+(SY0-701)の概念について、理解度を確認しましょう。
レッスンのまとめ
このレッスンでは、Windows Registryが永続化メカニズム、USBの履歴、ユーザーアクティビティを、フォレンジック上価値のあるハイブファイルに記録すること、Security Event LogのEvent ID 4624/4625/4720/1102が、認証とアカウントアクティビティのフォレンジックに不可欠であること、そしてPrefetch、Shimcache、Amcacheによって、マルウェアが削除された後でもプログラムの実行を証明できることを学びました。次は、ネットワークフォレンジックとメモリフォレンジックについて学びます。
AI チューターと学ぶ Cloud & IT Cert Prep — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 150
- レッスン
- 600
よくある質問
「Windowsフォレンジックアーティファクト:レジストリ、イベントログ、Prefetch」レッスンは無料ですか?
はい。「Windowsフォレンジックアーティファクト:レジストリ、イベントログ、Prefetch」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cloud & IT Cert Prepコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
「Windowsフォレンジックアーティファクト:レジストリ、イベントログ、Prefetch」で何を学びますか?
攻撃者の活動を明らかにする主要なWindowsアーティファクト、すなわちレジストリのRunキー、Securityイベントログのエントリ、実行内容と時刻を示すPrefetchファイルを特定します。 ブラウザで直接実行するハンズオンコードでCloud & IT Cert Prepを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cloud & IT Cert Prepを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCloud & IT Cert Prepは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「Windowsフォレンジックアーティファクト:レジストリ、イベントログ、Prefetch」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCloud & IT Cert Prepレッスンでコードを書いて実行できますか?
はい。すべてのCloud & IT Cert Prepレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 揮発性の順序と証拠の取得
- 証拠保全の連鎖と法的証拠能力
- Windowsフォレンジックアーティファクト:レジストリ、イベントログ、Prefetch
- ネットワークフォレンジックとメモリフォレンジック