Sysmonは自分自身のイベントログチャネルに書き込みます。Event Viewerにおいてそれは Applications and Services Logs → Microsoft → Windows → Sysmon → Operationalです。コマンドラインではMicrosoft-Windows-Sysmon/Operational、ディスクではC:WindowsSystem32winevtLogsMicrosoft-Windows-Sysmon%4Operational.evtxです。これをエクスポートするには、昇格されたプロンプトから次のコマンドを実行します:
wevtutil epl "Microsoft-Windows-Sysmon/Operational" C:logssysmon.evtx
チャネルが存在しない場合、Sysmonはインストールされていません。ほとんどのマシンでは、それは依然として誰かが配備しなければならない別個のSysinternalsツールです。
SysmonはWindowsが持つフライトレコーダーに最も近いものです。プロセスツリーをフルコマンドラインとハッシュで、ネットワーク接続、DNSクエリ、ファイルとレジストリの変更をプロセスごとにキャプチャします。Prime Coreには、Sysmonデータに対して書かれた12074のシグマルールがあり、645のMITRE ATT&CK手法にマッピングされています。ここでは、それが動いているかどうかを確認し、記録された内容をエクスポートし、LogTotalで調査する方法を紹介します。
始める前に
それは動いていますか? サービスを確認:
sc query sysmon64
32ビットシステムではサービスは sysmonと呼ばれます。求めるのは STATE: RUNNING.
何を記録しているのですか? Sysmonはその設定が指示する内容のみをログします。構成ファイルがなければ、プロセス作成に基づいて構築された小さなデフォルトセットが得られます。価値の大部分は調整された設定、例えばSwiftOnSecurityのものやOlaf Hartongのsysmon-modularから来ます。現在の設定を確認するには、次を実行します sysmon64 -c (バイナリは C:Windowsにあります)。その出力をエクスポートの隣に保存します。ファイルを分析する人はなぜネットワークイベントがないのかを尋ねるでしょうが、設定がその答えを示します。
どのくらい前までさかのぼることができますか? Sysmonはおしゃべりです、そしてそのチャネルは他のログと同様にサイズ制限があります。次を実行します wevtutil gl “Microsoft-Windows-Sysmon/Operational” そして maxSizeを確認します。忙しいサーバーでは、デフォルトサイズのログが驚くほど短い時間をカバーすることがあります。
エクスポートするには昇格されたプロンプトが必要です。
ログをエクスポート
Event Viewerで、右クリックしてください Operational Sysmonの下にある すべてのイベントを名前を付けて保存…を選択し、 .evtx タイプを保持します。コマンドラインからは、フィルタを使用してエクスポートすることができます:
:: 最新の24時間
wevtutil epl "Microsoft-Windows-Sysmon/Operational" C:logssysmon_24h.evtx /q:"*[System[TimeCreated[timediff(@SystemTime) <= 86400000]]]"
:: プロセス作成のみ
wevtutil epl "Microsoft-Windows-Sysmon/Operational" C:logssysmon_proc.evtx /q:"*[System[(EventID=1)]]"
探すべきもの
| イベントID | それが記録するもの | なぜ重要か |
|---|---|---|
| 1 | プロセス作成、コマンドライン、ハッシュ、および親 | ほぼすべての調査のバックボーン |
| 3 | プロセスによるネットワーク接続 | ボリュームのために構成でよくフィルタリングされる |
| 10 | 1つのプロセスが別のプロセスを開く | lsass.exeへのアクセスは古典的な資格情報ダンピング信号(T1003.001) |
| 11 | ファイルが作成されました | 投入されたペイロード、設置されたアーカイブ |
| 12,13,14 | レジストリの変更 | ランキーやその他の持続性 |
| 22 | プロセスによるDNSクエリ | どのプロセスがそのドメインを検索したか |
| 4,16 | Sysmonサービスの状態と設定が変更されました | 攻撃者がSysmonをオフにしたり、設定を弱体化させたりする |
イベントがある時点で単純に止まる場合、ギャップの直前のイベント16または4を探します。それからSystemログでSysmonサービスが停止されたかどうかを確認します。
LogTotalにアップロードしてレビューします
LogTotalはEVTXをネイティブに読めるので、変換の必要はありません。まず知っておくべき1つのこと: LogTotalはまだEVTXファイルをサニタイズしません。 EVTXのアップロードは生のファイルの引き渡しと同じように扱ってください。テストマシンでは自由に使えますが、生産ホストの場合、データを扱う人の承諾をまず得ておいてください。
- アップロード。 開く logtotal.com そしてファイルをドロップします。
- レビュー。 [PROOF: what the results screen shows for Sysmon data, and how findings map to rules and ATT&CK techniques]
問題が発生した時
| 症状 | 考えられる原因 | Fix |
|---|---|---|
| 指定されたチャネルが見つかりませんでした | Sysmonがインストールされていません | sc query sysmon64で確認 |
| チャネルが存在するがほとんど何も含まれていない | 設定がない、またはほとんどすべてをフィルタリングする設定がある | sysmon64 -cで確認 |
| プロセスイベントはあるがネットワークイベントはない | 構成がイベント3を除外している、これは一般的 | 意図的に; 何も起こらなかったと決めつける前に設定を確認 |
| イベントがある時点で止まる | Sysmonが停止、アンインストール、または再設定された | イベント4と16、およびSystemログを確認 |
| 最後の数時間しかない | ログがいっぱいで上書きされている | maxSizeを確認; 履歴にはSIEMを使用 |
| アクセスが拒否されました | プロンプトが昇格されていない | 管理者として実行 |
FAQ
Sysmonはデフォルトでインストールされていますか?
ほとんどのマシンでは、いいえ。自分で配備して構成する無料のSysinternalsダウンロードです。Microsoftは新しいWindowsリリース向けに組み込みのSysmonを発表したので、実際に出荷される内容を確認してください。
アナリストは私のSysmon設定を必要としますか?
イベントを読むためには必要ないが、ギャップを説明します。sysmon64 -cの出力をエクスポートと共に送信してください。
Linux用のSysmonはありますか?
はい。EVTXチャンネルの代わりにsyslogに書き込みます。別のガイドでそれについて説明します。