setodaNote

忘れる用のメモ書き

Sysmon で DNS クエリのログを取得する

Sysmon

f:id:soji256:20190615090247p:plain
Sysmon - Windows Sysinternals | Microsoft Docs

Sysmon が DNS クエリのロギングに対応したそうなので、実際にログを取得してみました。なお、今回の手順は VMware 上に構築された Windows 10 で確認しています。

Sysmon のインストール手順

  • Sysmon 公式サイト から Sysmon をダウンロードします。
  • 適当なフォルダにファイルを展開します。
  • 管理者権限でコマンドプロンプトを起動します。
  • Sysmon を展開したフォルダに移動し Sysmon -i と入力します。(初回起動時には利用規約の確認が求められます。)

f:id:soji256:20190615094952p:plain
Sysmon install - cmd.exe

以上でインストール完了です。

イベントログの保存先

Sysmon のログは アプリケーションとサービスログ > Microsoft > Windows > SysmonOperational にすべて記録されています。

f:id:soji256:20190615095555p:plain
Sysmon Event Log

DNS クエリのログ取得設定手順

初期状態では DNS クエリのログ取得はされないようになっているので、設定変更をして取得されるようにします。

メモ帳などで以下の内容のファイルを作成し、config-dnsquery.xmlというファイル名で保存します。

<Sysmon schemaversion="4.21">
 <EventFiltering>
  <DnsQuery onmatch="exclude" />
 </EventFiltering>
</Sysmon>

このファイルを Sysmon を展開したのと同じフォルダにもっていき、Sysmon.exe -c config-dnsquery.xmlと入力して設定を反映させます。

f:id:soji256:20190615100530p:plain
Update configuration

これで DNS クエリのログが開始されます。

イベントログの保存先

Sysmon のログは アプリケーションとサービスログ > Microsoft > Windows > SysmonOperational にすべて記録されています。イベントID が 22 となっているものが DNS クエリのログです。

f:id:soji256:20190615101032p:plain
Sysmon EventLog DNS Query

DNSクエリのログが多すぎる

以下のサイトで Sysmon のコンフィグファイルが掲載されています。

テスト版ですが、DNSログについていくつかの頻出ドメインを除外設定を含めた設定が作成されています。 一般に DNS クエリのログは大量になることが想定されます。 巨人の肩に乗りたい場合には以下の設定ファイルを適用するのがよいかもしれません。

DNS over HTTPS (DoH) のログは取得できるのか

私はまだ試せてはいないのですが、取得できないよと伝えているブログがありました。

  • Sysmon 10.0 - New features and changes – Olaf Hartong – Medium

    設定によっては、EventID 3(NetworkConnection)でアクティビティを確認できる場合がありますが、 リクエスト自体は表示されません。あなたが見ることができるかもしれない唯一の事は DoHプロバイダーの1つに呼びかけている予期しないプロセスです。

 
 

以上

参考文献

付録

Sysmon のアンインストール

管理者権限で実行したコマンドプロンプトにおいて Sysmon.exe -u と入力することでアンインストールできます。

なお、アンインストール後にうまくインストールできない場合には以下の手順で関連ファイルなどを削除します。

  1. regedit.exe を実行して HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Sysmondrv を削除します
  2. 同様に HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Sysmon を削除します
  3. 端末を再起動してから C:\windows\sysmondrv.sysC:\windows\sysmon.exe を削除します

仮想環境における Sysmon の動作について

今回、VMware 上で Sysmon を試した際に、Windows 7 環境でうまく動かない場合がありました。

  • Windows 7:サポートしてないプロセッサだねと言われて Sysmon が起動せず
  • Windows 7:Sysmon は起動するも DNS クエリのログだけ取得できず&アンインストールを試みたらBSoD
  • Windows 10:これまでが嘘のように素直に DNS クエリのログが出力される

f:id:soji256:20190615102459p:plain
Erro: Unsupported Processor - Windows 7

1つ目と2つ目の Windows 7 は別環境です。原因までは確認できていません。

更新履歴

  • 2019/06/15 新規作成
  • 2019/06/16 DNS over HTTPS (DoH) のログに関する記載を追加
  • 2019/06/17 コンフィグファイルの適用コマンドに誤りがあったため修正。