Windowsイベントログ(EVTX)のエクスポート方法

Windowsイベントログ(EVTX)のエクスポート方法

SOC Prime Team
SOC Prime Team linkedin icon フォローする

短い答え:イベントビューアを開き、必要なログを右クリックします(例えば Windows ログ → セキュリティ)、選択 すべてのイベントを別名で保存…、そして .evtx 形式を維持します。管理者権限のコマンドプロンプトから、同じ操作は1行で実行されます:`wevtutil epl Security C:logssecurity.evtx`。`C:WindowsSystem32winevtLogs` からエクスプローラーでファイルをコピーしないでください。イベントログサービスがそれらを開いたまま保持するため、通常はエラーや役に立たないものになります。

EVTX はテキストエクスポートと比べて余分な数分の価値があります。それはネイティブな形式であり、すべてのフィールド、レコードID、正確な UTC タイムスタンプが保持されます。SIEM ではそれを戻すことはできません、なぜならそれはレンダリングされたテキストを保存するからです。Prime Core は Windows イベントログ用に 11,632 のシグマルールを持ち、MITRE ATT&CK テクニックの 643 に関連付けています。それらはパスワード推測 (T1110) や悪意のあるサービス (T1543.003) から攻撃者が背後でログをクリアする (T1070.001) ものまで範囲があります。以下は適切なログをエクスポートし、正規化し、LogTotal で無料で調査する方法です。

1 分の平均調査時間、無料

要点

ルート 使用すべきとき 必要なもの
イベントビューア → すべてのイベントを別名で保存 1台のマシン、1つか2つのログ、デスクトップセッションを持っている 管理者権限、またはほとんどのログ用のイベントログリーダー
wevtutil epl フィルタ適用されたエクスポート、スクリプト、またはGUIのないサーバが欲しい 昇格されたプロンプト
wevtutil を /r: オプションまたは PowerShell ループで使用 複数のログ、またはリモートマシン ターゲット上の管理者権限、およびファイアウォールを介したリモートイベントログアクセス

開始する前に

エクスポートが期待する内容を含むかどうかを決定する3つの要素があります。

権限。 管理者は任意のログをエクスポートできます。ローカルのイベントログリーダーグループのメンバーは、完全な管理者権限なしでほとんどのログを読むことができます。セキュリティログについては、昇格されたプロンプトが信頼できる選択です。詳細は弊社の [Windows イベントログ権限ガイド] をご覧ください。

監査ポリシー。 Windows は指示されたことのみを記録します。プロセス作成(イベント4688)はデフォルトでは監査されません。そうであっても、コマンドラインが記録されるのは別のポリシーが有効な場合のみです。決して書かれなかったイベントを探しに行く前に確認してください:

auditpol /get /category:*

ログサイズと上書き。 すべてのログには最大サイズがあります。デフォルトでは、Windows はログがいっぱいになると最古のイベントを上書きし、ビジーなサーバーやドメインコントローラでは数時間の履歴しか残さないことがあります。どのような情報を扱っているかを確認してください:

wevtutil gl Security

maxSize と保持を確認します。攻撃がログ内の最古のイベントより前に発生した場合それはそこにはありません。その場合は SIEM または転送されたイベントを確認してください。

そして一般的なリマインダー:イベントログはユーザー名、ホスト名、IPアドレスでいっぱいです。LogTotal はアップロードを正規化しますが、データハンドリングポリシーにはなおかつ対応してください。

どのログをエクスポートするか

「Windowsのログ」は現代のシステムには数百のチャンネルがあります。セキュリティ関連の作業では、これらが通常ストーリーを伝えます:

ログ(チャンネル名) 提供されたもの ノート
セキュリティ ログオン(4624、4625)、アカウント変更(4720、4728)、ログクリア(1102)、プロセス作成(4688) 4688 は監査がオンの場合のみ
システム 新しいサービス(7045)、サービス変更(7036)、システムログクリア(104)
Microsoft-Windows-Sysmon/Operational ハッシュとコマンドライン付きのプロセス作成、ネットワーク接続など Sysmon がインストールされている場合のみ
Microsoft-Windows-PowerShell/Operational スクリプトブロックの記録(4104)、実行された実際のコード スクリプトブロックの記録が有効な場合のみ
Microsoft-Windows-Windows Defender/Operational 検知(1116)と取られた行動(1117)
Microsoft-Windows-TaskScheduler/Operational 新しいスケジュールされたタスク(106)、よく使われる持続手段
Microsoft-Windows-TerminalServices-LocalSessionManager/Operational RDP セッションのログオン、切断、再接続(21、24、25)

マシンに何があるか分からない?`wevtutil el` がすべてのチャンネルを一覧表示します。興味のある特定のものを見つけるには、`findstr /i sysmon`(または検索したいもの)でパイプします。

オプション1: イベントビューア

1つのマシンといくつかのログに最適。

  1. Win+Rを押し、`eventvwr.msc`と入力し、管理者として実行します。
  2. ログを見つけます。古典的なものは Windows ログの下にあります。それ以外のものはすべて アプリケーションとサービスログ → Microsoft → Windowsの下にあります。Sysmon の例だと、…WindowsSysmonOperational にあります。
  3. ログを右クリックして選択 すべてのイベントを別名で保存…
  4. このままにして イベントファイル (*.evtx) として ファイルに、例えば `dc-01_security_2026-10-20.evtx` のような構造を示す名前を付けます。
  5. その後、Windows は表示情報について尋ねます。それは、別のマシンで Event Viewer を開く際にフォルダの横にメッセージテキストを含む LocaleMetaData フォルダを保存するかどうかを決定します。LogTotal のアップロードに関しては、.evtx ファイルが重要です。

ログの一部だけが必要ですか? 現在のログをフィルタリング… (イベントID、時間範囲)、その後 フィルタされたログファイルを別名で保存…します。そのフィルタダイアログの XML タブは構築された正確な XPath クエリを示します。コピーしてください。wevtutil で分解する時に必要になります。

オプション 2: コマンドラインからの wevtutil

wevtutil は、見かける可能性のあるすべての Windows バージョンに搭載されています。GUI なしで動作し、エクスポートしながらフィルターをかけることができます。昇格されたプロンプトから実行します。

全ログ:

mkdir C:logs
wevtutil epl Security C:logsdc-01_security.evtx

過去24時間のみ(数字はミリ秒):

wevtutil epl Security C:logsdc-01_security_24h.evtx /q:”*[System[TimeCreated[timediff(@SystemTime) <= 86400000]]]"

正確なウィンドウ、UTC で:

wevtutil epl Security C:logsdc-01_security_1019.evtx /q:”*[System[TimeCreated[@SystemTime>=’2026-10-19T00:00:00.000Z’ and @SystemTime<'2026-10-20T00:00:00.000Z']]]"

ログオン、成功と失敗のみ:

wevtutil epl Security C:logsdc-01_logons.evtx /q:”*[System[(EventID=4624 or EventID=4625)]]”

スペースを含むチャンネル名には引用符が必要:

wevtutil epl “Microsoft-Windows-Windows Defender/Operational” C:logsdefender.evtx

ターゲットファイルが既に存在する場合、wevtutil は /ow:true を追加しない限り上書きを拒否します。手で XPath を書くのはすぐに面倒になります。Event Viewer でフィルタを設定し、XML タブからクエリをコピーしてください、上記の説明のように。

ドメインコントローラー上ではフィルタリングします。ビジーな DC からの未フィルタのセキュリティエクスポートはギガバイト単位まで達することがあり、ほとんどの場合不要なアップロードをすることになります。

オプション3: 複数のログ、またはリモートマシン

トリアージでは、通常、すべてのホストから同じ一握りのログを取得したいです。この PowerShell スニペットは、それらを1つのフォルダにマシンごとにエクスポートし、存在しないチャンネル(たとえば Sysmon がない場合)をスキップしてエラーにはしません:

$out = “C:logs$env:COMPUTERNAME”
New-Item -ItemType Directory -Force -Path $out | Out-Null

$logs = ‘Security’, ‘System’,
‘Microsoft-Windows-Sysmon/Operational’,
‘Microsoft-Windows-PowerShell/Operational’,
‘Microsoft-Windows-Windows Defender/Operational’,
‘Microsoft-Windows-TaskScheduler/Operational’

foreach ($l in $logs) {
$file = Join-Path $out (($l -replace ‘[\/ ]’, ‘_’) + ‘.evtx’)
wevtutil epl $l $file /ow:true 2>$null
if ($LASTEXITCODE -ne 0) { Write-Warning “Skipped: $l” }
}

リモートマシン。 wevtutil は /r: を受け入れますが、人々が見出す難しい問題があります:出力ファイルは リモート マシンのディスク上に書かれ、あなたのものではありません。その後でフェッチすることを計画してください:

wevtutil epl Security C:logssrv-01_security.evtx /r:srv-01
copy \srv-01C$logssrv-01_security.evtx .

これにはターゲット上での管理者権限および リモートイベントログ管理 ファイアウォールルールが有効であることが必要です。それらのルールがオフであり、それに触れたくない場合は、PowerShell リモーティングが同じ仕事をします:スニペットを Invoke-Command を介して実行し、その後で Copy-Item -FromSession を使ってファイルを戻します。

LogTotal へのアップロードと確認

LogTotal は EVTX をネイティブに読み取るので、何も変換する必要はありません。それはログファイルに対して検出ロジックを走らせ、何も設定なしで SOC Prime の無料サービスです。

  1. アップロード。 開く logtotal.com と .evtx ファイルをドロップします。 [証拠:アップロード画面、サイズ制限、複数のファイルが一度に入れられるかどうか]
  2. 確認。 [PROOF: what the results screen shows and how findings map to rules and ATT&CK techniques]

これが実データでどのように見えるか。 私たちは [証拠:サンプルソース、例えば模擬攻撃チェーン後の使い捨て Windows VM からの Security.evtx: 失敗したログオン、新しいローカル管理者、新しいサービス、その後アプリケーションログがクリアされる] を使用しました。ファイルは [証拠:N イベント、X MB] でした。LogTotal は [証拠:実際の発見、一致したルール、ATT&CK テクニック] をフラグしました。

最初に試してみたいですか? [証拠:サンプルファイルへのリンク] は私たちが上で使用したのと同じファイルです。

何かがうまくいかない時

症状 考えられる原因 Fix
アクセスが拒否されました プロンプトが昇格されていない、またはそのログに対するアカウントの権限が不足している 管理者として実行
指定されたチャンネルが見つかりません チャンネル名の入力ミス、またはコンポーネントがインストールされていない(通常は Sysmon) wevtutil el | findstr /i で確認
wevtutil がファイルの存在を訴える デフォルトで上書きしない /ow:true を追加するか、新しいファイル名を選択
指定されたクエリが無効です XPath のクォートまたは構文 Event Viewer でフィルタを構築して XML タブからコピー
winevtLogs からのコピーが「他のプロセスによって使用中」として失敗 イベントログサービスがライブファイルを保持している Event Viewer または wevtutil でエクスポート
4625 または 4688 イベントがまったくない そのカテゴリは監査されていない auditpol /get /category:* を確認; これは将来のイベントに対処し、過去のイベントには対処しません
ログが数時間だけ遡及する ログは満杯で上書きされている wevtutil gl Security をチェック; アーカイブが有効な場合は Archive-Security-*.evtx ファイルを探す
/r: で RPC サーバーが利用できない リモートイベントログ管理ファイアウォールルールがオフ ターゲットでそれらを有効にするか、PowerShellリモーティングを使用
リモートエクスポートが「成功」したが、ファイルがない /r: はリモートマシンの上にファイルを書く ターゲットのディスク上で確認、例:\srv-01C$logs

FAQ

EVTX ファイルはディスク上のどこに保存されている?

C:WindowsSystem32winevtLogs、1チャンネルにつき1ファイル。スラッシュを含むチャンネル名はファイル名にエンコードされるので、Microsoft-Windows-Sysmon/Operational は Microsoft-Windows-Sysmon%4Operational.evtx になります。フォルダを読むことができますが、コピーする代わりに Event Viewer または wevtutil を通してエクスポートしてください。

ブートしないマシンからログを取得できますか?

はい、これはコピーが動作する唯一のケースです。ディスクを別のシステムにマウントするか、外部メディアからブートします。Windows が実行されていない場合、何もファイルを保持していないため、WindowsSystem32winevtLogs から直接コピーできます。

EVTX、XML、またはテキストのどれに保存するべきですか?

EVTXです。イベントビューアは他の形式も提供しますが、それらは構造を失ったりファイルを膨らませたりします。EVTXは全てのフィールドを保持し、LogTotalがネイティブに読み取ります。

前のログを取得できるのはどれくらい前ですか?

最大ログサイズが許す限りであり、それ以上は日を遡れません。wevtutil gl はサイズと保持設定を示します。イベントビューアでは、日付で並べ替えて最も古いイベントを見てください。それが役に立たないほど最近である場合は、次回のためにサイズを上げるか、より良い方法としてイベントを SIEM に転送してください。

イベントログをオンラインツールにアップロードしても安全ですか?

LogTotalは分析前にアップロードを正規化し、ファイルを保持しません。

SOC PrimeのDetection as Codeプラットフォームに参加し ビジネスに最も関連性のある脅威に対する可視性を向上させましょう。開始して即座に価値をもたらすためには、今すぐSOC Primeの専門家とのミーティングを予約してください。