Sysmon
- Sysmon - Windows Sysinternals | Microsoft Docs
https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon
Sysmon が DNS クエリのロギングに対応したそうなので、実際にログを取得してみました。なお、今回の手順は VMware 上に構築された Windows 10 で確認しています。
Sysmon のインストール手順
- Sysmon 公式サイト から Sysmon をダウンロードします。
- 適当なフォルダにファイルを展開します。
- 管理者権限でコマンドプロンプトを起動します。
- Sysmon を展開したフォルダに移動し
Sysmon -i
と入力します。(初回起動時には利用規約の確認が求められます。)
以上でインストール完了です。
イベントログの保存先
Sysmon のログは アプリケーションとサービスログ > Microsoft > Windows > Sysmon
の Operational
にすべて記録されています。
DNS クエリのログ取得設定手順
初期状態では DNS クエリのログ取得はされないようになっているので、設定変更をして取得されるようにします。
メモ帳などで以下の内容のファイルを作成し、config-dnsquery.xml
というファイル名で保存します。
<Sysmon schemaversion="4.21"> <EventFiltering> <DnsQuery onmatch="exclude" /> </EventFiltering> </Sysmon>
このファイルを Sysmon を展開したのと同じフォルダにもっていき、Sysmon.exe -c config-dnsquery.xml
と入力して設定を反映させます。
これで DNS クエリのログが開始されます。
イベントログの保存先
Sysmon のログは アプリケーションとサービスログ > Microsoft > Windows > Sysmon
の Operational
にすべて記録されています。イベントID が 22 となっているものが DNS クエリのログです。
DNSクエリのログが多すぎる
以下のサイトで Sysmon のコンフィグファイルが掲載されています。
- SwiftOnSecurity/sysmon-config: Sysmon configuration file template with default high-quality event tracing
https://github.com/SwiftOnSecurity/sysmon-config
テスト版ですが、DNSログについていくつかの頻出ドメインを除外設定を含めた設定が作成されています。 一般に DNS クエリのログは大量になることが想定されます。 巨人の肩に乗りたい場合には以下の設定ファイルを適用するのがよいかもしれません。
- z-AlphaVersion.xml
https://raw.githubusercontent.com/SwiftOnSecurity/sysmon-config/master/z-AlphaVersion.xml(削除されていました)
DNS over HTTPS (DoH) のログは取得できるのか
私はまだ試せてはいないのですが、取得できないよと伝えているブログがありました。
- Sysmon 10.0 - New features and changes – Olaf Hartong – Medium
設定によっては、EventID 3(NetworkConnection)でアクティビティを確認できる場合がありますが、 リクエスト自体は表示されません。あなたが見ることができるかもしれない唯一の事は DoHプロバイダーの1つに呼びかけている予期しないプロセスです。
以上
参考文献
Microsoft Releases Sysmon 10 With DNS Query Logging Feature
https://www.bleepingcomputer.com/news/microsoft/microsoft-releases-sysmon-10-with-dns-query-logging-feature/SYSMON Uninstall Issue
https://social.technet.microsoft.com/Forums/en-US/142239d8-9e08-4719-908d-1be9b1d91ae6/sysmon-uninstall-issue?forum=miscutils(削除されていました)Sysmon 10.0 - New features and changes – Olaf Hartong – Medium
https://medium.com/@olafhartong/sysmon-10-0-new-features-and-changes-e82106f2e00
付録
Sysmon のアンインストール
管理者権限で実行したコマンドプロンプトにおいて Sysmon.exe -u
と入力することでアンインストールできます。
なお、アンインストール後にうまくインストールできない場合には以下の手順で関連ファイルなどを削除します。
- regedit.exe を実行して
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Sysmondrv
を削除します - 同様に
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Sysmon
を削除します - 端末を再起動してから
C:\windows\sysmondrv.sys
とC:\windows\sysmon.exe
を削除します
仮想環境における Sysmon の動作について
今回、VMware 上で Sysmon を試した際に、Windows 7 環境でうまく動かない場合がありました。
- Windows 7:サポートしてないプロセッサだねと言われて Sysmon が起動せず
- Windows 7:Sysmon は起動するも DNS クエリのログだけ取得できず&アンインストールを試みたらBSoD
- Windows 10:これまでが嘘のように素直に DNS クエリのログが出力される
1つ目と2つ目の Windows 7 は別環境です。原因までは確認できていません。
更新履歴
- 2019/06/15 新規作成
- 2019/06/16 DNS over HTTPS (DoH) のログに関する記載を追加
- 2019/06/17 コンフィグファイルの適用コマンドに誤りがあったため修正。
- 2020/08/31 一部の削除されていたページについて記載に反映。