EQL的全名是Event Query Language (EQL)。事件查询语言(EQL)是一种用于基于事件的时间序列数据(例如日志,指标和跟踪)的查询语言。在Elastic Security平台上,当输入有效的EQL时,查询会在
EQL 的全名是 Event Query Language (EQL)。事件查询语言(EQL)是一种用于基于事件的时间序列数据(例如日志,指标和跟踪)的查询语言。在 Elastic Security 平台上,当输入有效的 EQL 时,查询会在数据节点上编译,执行查询并返回结果。这一切都快速、并行地发生,让用户立即看到结果。 EQL优点
基础语法数据准备要运行 EQL 搜索,搜索到的数据流或索引必须包含时间戳和事件类别字段。默认情况下,EQL 使用 Elastic 通用模式(ECS)中的 @timestamp 和 event.category 字段。 @timestamp 表示时间戳,event.category 表示事件分类。
数据窗口搜索在事件响应过程中,有很多时候,了解特定时间发生的所有事件是很有用的。使用一种名为any的特殊事件类型,针对所有事件进行匹配,如果想要匹配特定事件,就需要指明事件分类名称
统计符合条件的事件
事件序列
安全检测EQL在 Elastic Securit 中被广泛使用。实际应用时,我们可以使用 EQL 语言来进行检测安全威胁和其他可疑行为。 数据准备regsvr32.exe 是一个内置的命令行实用程序,用于在Windows中注册.dll库。作为本机工具,regsvr32.exe 具有受信任的状态,从而使它可以绕过大多数允许列表软件和脚本阻止 程序。有权访问用户命令行的攻击者可以使用 regsvr32.exe 通过.dll库运行恶意脚本,即使在其他情况下也不允许这些脚本运行。 regsvr32 滥用的一种常见变体是Squfullydoo攻击。在 Squfullydoo 攻击中,regsvr32.exe 命令使用 scrobj.dll 库注册并运行远程脚本。 测试数据来自 Atomic Red Team 的测试数据集,其中包括模仿Squibledoo攻击的事件。 数据已映射到Elastic通用架构(ECS)字段:normalized-T1117-AtomicRed-regsvr32.json 将文件内容导入到ES软件中:
获取regsvr32事件的计数
检查命令行参数该查询将一个事件与创建的event.type相匹配,指示regsvr32.exe进程的开始。根据事件的 process.command_line值,regsvr32.exe 使用 scrobj.dll 注册了脚本 RegSvr32.sct.这符合Squibledoo攻击的行为
检查恶意脚本加载
检查攻击成功可能性在许多情况下,攻击者使用恶意脚本连接到远程服务器或下载其他文件。 使用EQL序列查询来检查以下一系列事件:
|
2022-08-26
2022-09-23
2022-09-30
2022-09-23
2022-09-17