LoginSignup
1
1

More than 3 years have passed since last update.

DNS関連のログに迫ってみる。 Sysmon | MS:AD:DNS | Stream(DNS)

Last updated at Posted at 2020-05-07

はじめに

  • sysmonにdnsクエリログが出力されるようになって(2019.06)からようやっと検証することができました。
    • (Win2012Serverの検証環境ではsysmonにDNSイベントが記録されなかったため。後回しにしていましたが、ようやくWin10とWin2019Serverの環境を準備できました)
  • 検証きっかけは以下の良記事をみて、splunkで各種DNS関連のログを比較して見てみたくなり試してみました
  • せっかくなのでちまたでよく使われるDNSログ収集先2種も合わせて比較
    • Splunk Stream DNS:ネットワークLayer
    • Active DirectoryサーバのDNSログ:サーバLayer
    • Sysmon:エンドポイントLayer

構成イメージ

スクリーンショット 2020-05-07 18.01.07.png

  • 余談だが、Splunk Streamは収集ポイントによって①クライアント→DNSサーバ間、②DNSサーバ→上位DNSサーバ間のクエリログも取得できる。今回はActive Directoryサーバ上のNICにIN/OUTするトラフィックをモニターして収集したため、①②両方のDNSクエリログを収集。

検証データ

ケース①: エンドポイントにて、[blackhat.com]ページをGoogleChromeで表示

スクリーンショット 2020-05-01 22.38.48.png

  • SPLは3つのデータソースを一度に検索して必要なフィールドにtableコマンドで絞った結果を出力比較
SPL
(source=win*sysmon* OR sourcetype=stream:dns OR sourcetype="msad:nt6:dns") blackhat.com earliest=1588339080 latest=1588339110
|eval bytes_size = len(_raw)
|table _time bytes_size sourcetype Image query QueryName host_addr{} QueryResults questiontype record_type QueryStatus
  • 各DNSログの見え方を整理 スクリーンショット 2020-05-07 17.32.04.png

ケース②: エンドポイントにて、[blackhat.com]ページをcmd上でpingを実施

スクリーンショット 2020-05-01 22.36.31.png

  • SPLは3つのデータソースを一度に検索して必要なフィールドにtableコマンドで絞った結果を出力比較
SPL
(source=win*sysmon* OR sourcetype=stream:dns OR sourcetype="msad:nt6:dns") blackhat.com earliest=1588339864 latest=1588340164
|eval bytes_size = len(_raw)
|table _time bytes_size sourcetype EventID Image CommandLine query QueryName host_addr{} QueryResults questiontype record_type QueryStatus
  • SPL結果(ケース①と差はない)

スクリーンショット 2020-05-07 18.10.53.png

ケース③: エンドポイントにて、[blackhat.com]とnslookupコマンドで実行

スクリーンショット 2020-05-01 22.44.13.png

  • SPLは3つのデータソースを一度に検索して必要なフィールドにtableコマンドで絞った結果を出力比較
SPL
(source=win*sysmon* OR sourcetype=stream:dns OR sourcetype="msad:nt6:dns") blackhat.com earliest=1588340403 latest=1588340523
|eval bytes_size = len(_raw)
|table _time bytes_size sourcetype EventID Image CommandLine query QueryName host_addr{} QueryResults questiontype record_type QueryStatus
  • SPL結果
    スクリーンショット 2020-05-07 18.15.08.png

  • sysmonイベントはあるが、実はDNSクエリイベント(EventCode=22)ではなく、Process Creation(EventCode=1)のみ記録された。

スクリーンショット 2020-05-07 18.17.29.png

ケース④: エンドポイントにて、Powershellスクリプトを実行

スクリーンショット 2020-05-07 18.25.10.png

  • ポイントはpoweshellスクリプトのencodeされた文字列の中にもC&Cサーバに対するCallBack URL(AWSのパブリックDNS名)が記載されています。

スクリーンショット 2020-05-07 18.49.37.png

  • SPLは3つのデータソースを一度に検索して必要なフィールドにtableコマンドで絞った結果を出力比較
SPL
(source=win*sysmon* OR sourcetype=stream:dns OR sourcetype="msad:nt6:dns") ec2-13-52-103-131.us-west-1.compute.amazonaws.com earliest=1588817760 latest=1588817784
|eval bytes_size = len(_raw)
|table _time bytes_size sourcetype EventID Image CommandLine query QueryName host_addr{} QueryResults questiontype record_type QueryStatus
|sort - _time
  • SPL結果

スクリーンショット 2020-05-07 18.55.25.png

  • sysmonのみに拡大

スクリーンショット 2020-05-07 18.59.57.png

  • 一番上のイベントがsysmonデータです。powershell.exeがDNSクエリーをかけていることが分かります。つまり不審なドメインアクセス調査を行う際に、sysmonのログから影響のある端末のリストアップと、DNSクエリを行うプロセスを特定できる可能性があります。

おまけ

1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1