吉沃运营专员 发表于 2022-3-18 16:26:12

查询语言

对安全事件进行分类和调查是任何 SOC 分析师的主要工作,在进行调查之前,我们必须首先要了解两件事:定义攻击和安全相关活动的通用术语以及将我们引导至该活动的搜索。

一、事件搜索语言和规则
不管是像 Elastic Stack 这样的开源工具,还是像 Splunk 这样的专有工具,每个数据挖掘或安全事件生成工具都有自己的工作语言。特别是对于 SIEM、EDR 和数据挖掘平台,它们需要广泛、灵活的语言来搜索具有用户可能具有的多种条件的数据。编写有效的搜索是一种艺术形式,强烈建议在部署之前进行大量研究和测试,蓝队博客有一个很棒的用例编写指南以及一些免费的很棒的用例。

二、Sigma
所有可用语言的语法和格式都是庞大而复杂的,尤其是当你必须将搜索参数从一种工具转换为另一种工具时,Sigma 来了。

Sigma 是一种通用且开放的签名格式,以一种直接的方式描述相关的日志事件。规则格式非常灵活,易于编写,适用于任何类型的日志文件。本项目的主要目的是提供一种结构化的形式,研究人员或分析师可以在其中描述他们曾经开发的检测方法并使其与他人共享。Sigma 用于日志文件,Snort 用于网络流量,YARA 用于文件。

Sigma 是一款出色的工具,可将规则逻辑与供应商术语分离。Sigma 以 YAML 格式存储,并与 MISP intel 工具兼容。

请记住两件事:首先,Sigma 查询可能并不完美,但它们应该让你 90-95% 的方式接近你正在寻找的东西。准备好调整!

其次,在线转换器可能无法轻松地从一个平台进行翻译。示例:LogRhythm -> Splunk。有时需要查看各种 Github 存储库以获取转换为 Sigma 的代码,然后转换为选择的平台。示例:LogRhythm -> Sigma -> Splunk。


[*]GitHub - Neo23x0/sigma: Generic Signature Format for SIEM Systems
[*]GitHub - socprime/SigmaUI: SIGMA UI is a free open-source application based on the Elastic stack and Sigma Converter (sigmac)
[*]How to Write Sigma Rules - Nextron Systems
[*]GitHub - LogRhythm-Labs/Sigma: Convert Sigma rules to LogRhythm searches

为了使 Sigma 更易于使用,Uncoder.io 之类的工具可以轻松地将规则语法从一个平台免费转换到另一个平台。如上所述,如果无法从一个平台直接翻译到另一个平台,请先尝试将源搜索更改为 Sigma,然后再更改为你选择的平台。


[*]Online translator for SIEM saved searches, filters, queries and Sigma rules - Uncoder.IO

二、Lucene (ElasticSearch)
Apache 的搜索语言,用于许多技术,包括 Elastic Stack 和 Palo Alto 的 XSOAR


[*]https://logz.io/blog/elasticsearch-queries/
[*]https://lucene.apache.org/core/2_9_4/queryparsersyntax.html
[*]KQL: Kibana search language based on Lucene. - https://www.elastic.co/guide/en/kibana/master/kuery-query.html
[*]Elasticsearch: The Definitive Guide (fork it on GH)
[*]Threat Hunting in Elastic Stack: Lucene - pg. 212

Solr - Solr 是基于 Apache Lucene 构建的流行、超快、开源的企业搜索平台


[*]https://github.com/hectorcorrea/solr-for-newbies

KQL - Kibana 查询语言,Elastic Stack 中 Kibana 搜索和警报实用程序的默认查询语言


[*]Threat Hunting in Elastic Stack: KQL - pg. 216

EQL - Elastic Query Language,一种由 Elastic 开发的高级查询语言,用于其安全应用程序


[*]Threat Hunting in Elastic Stack: EQL - pg. 220

三、Splunk SPL:搜索处理语言

[*]https://docs.splunk.com/Documentation/Splunk/8.2.1/SearchTutorial/Usethesearchlanguage
[*]https://gosplunk.com/
[*]https://wiki.splunk.com/images/2/2b/Cheatsheet.pdf
[*]https://www.splunk.com/pdfs/solution-guides/splunk-quick-reference-guide.pdf
[*]https://www.splunk.com/pdfs/solution-guides/splunk-dashboards-quick-reference-guide.pdf
[*]https://docs.splunk.com/Documentation/Splunk/8.1.0/SearchReference/ListOfSearchCommands
[*]Operator Handbook: Splunk - pg. 277

四、Graylog
Graylog 的查询语言非常接近 Lucene,注意语法错误


[*]https://docs.graylog.org/en/3.3/pages/searching/query_language.html

五、Windows O365

[*]https://docs.microsoft.com/en-us/microsoft-365/security/defender/advanced-hunting-query-language?view=o365-worldwide

六、Windows Defender ATP

[*]https://docs.microsoft.com/en-us/windows/security/threat-protection/
[*]https://github.com/alexverboon/WindowsDefenderATP-Hunting-Queries
[*]Operator Handbook: Windows Defender ATP - pg. 417

页: [1]
查看完整版本: 查询语言