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

iar*_*gue 1 kql azure-sentinel

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

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

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

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

DnsEvents
| where Name contains "xmr-au1.nanopool.org"
Run Code Online (Sandbox Code Playgroud)

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

Yon*_*i L 5

你可以尝试这样的事情:

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)
Run Code Online (Sandbox Code Playgroud)