DNS関連のログに迫ってみる。 Sysmon | MS:AD:DNS | Stream(DNS)
はじめに
- sysmonにdnsクエリログが出力されるようになって(2019.06)からようやっと検証することができました。
- (Win2012Serverの検証環境ではsysmonにDNSイベントが記録されなかったため。後回しにしていましたが、ようやくWin10とWin2019Serverの環境を準備できました)
- 検証きっかけは以下の良記事をみて、splunkで各種DNS関連のログを比較して見てみたくなり試してみました
- せっかくなのでちまたでよく使われるDNSログ収集先2種も合わせて比較
- Splunk Stream DNS:ネットワークLayer
- Active DirectoryサーバのDNSログ:サーバLayer
- Sysmon:エンドポイントLayer
構成イメージ
- 余談だが、Splunk Streamは収集ポイントによって①クライアント→DNSサーバ間、②DNSサーバ→上位DNSサーバ間のクエリログも取得できる。今回はActive Directoryサーバ上のNICにIN/OUTするトラフィックをモニターして収集したため、①②両方のDNSクエリログを収集。
検証データ
ケース①: エンドポイントにて、[blackhat.com]ページをGoogleChromeで表示
- 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
ケース②: エンドポイントにて、[blackhat.com]ページをcmd上でpingを実施
- 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結果(ケース①と差はない)
ケース③: エンドポイントにて、[blackhat.com]とnslookupコマンドで実行
- 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
- nslookupコマンドはDnsQuery_A等のAPIを利用していないためsysmonのdnsクエリイベントに記録されなかった模様。
ケース④: エンドポイントにて、Powershellスクリプトを実行
- ポイントはpoweshellスクリプトのencodeされた文字列の中にもC&Cサーバに対するCallBack URL(AWSのパブリックDNS名)が記載されています。
- 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結果
- sysmonのみに拡大
- 一番上のイベントがsysmonデータです。powershell.exeがDNSクエリーをかけていることが分かります。つまり不審なドメインアクセス調査を行う際に、sysmonのログから影響のある端末のリストアップと、DNSクエリを行うプロセスを特定できる可能性があります。
おまけ
-
sysmon v10以降を使ってDNSクエリを収集する際に利用してもらいやすいように以下2つのアイテムを紹介
- sysmonダッシュボード(DNSクエリ対応)
- sysmonのconfig(splunkプロセスのロギングを除外)
Author And Source
この問題について(DNS関連のログに迫ってみる。 Sysmon | MS:AD:DNS | Stream(DNS)), 我々は、より多くの情報をここで見つけました https://qiita.com/odorusatoshi/items/1e26ef607dcd68457c26著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .