包含来自另一个查询的数据的 Azure Sentinel Kusto 查询表

问题描述

我正在尝试找到一种方法,使用 Azure Sentinel 根据安全警报将所有 DNS 结果提取到域中。

在安全警报表下,它们提供事件的域名作为 JSON 的一部分,这是用于提取该数据的表。

SecurityAlert
| where parse_json(ExtendedProperties).AnalyticDescription == "Usage of digital currency mining pool"
| extend DomainName_ = tostring(parse_json(ExtendedProperties).DomainName);

我想做的是获取查询,然后查询 DnsEvents 表以查找与表 Name 上的域名匹配的所有查询查询一个例子是

DnsEvents
| where Name contains "xmr-au1.nanopool.org"

如何执行第二个查询但使用第一个查询中的数据进行过滤?

解决方法

你可以试试这样的:

let domain_names = 
   SecurityAlert
   | where ExtendedProperties has 'Usage of digital currency mining pool' // this line is optional,but may improve performance
   | extend props = parse_json(ExtendedProperties).
   | where props.AnalyticDescription == "Usage of digital currency mining pool"
   | project DomainName_ = tostring(props.DomainName)
;
DnsEvents
| where Name has_any (domain_names)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...