基于 T1548 提权控制机制滥用狩猎模板:从 UAC Bypass 到 sudo/setuid 的完整检测实践

发布时间:2026/9/13 6:09:22
基于 T1548 提权控制机制滥用狩猎模板:从 UAC Bypass 到 sudo/setuid 的完整检测实践
基于 T1548 提权控制机制滥用狩猎模板从 UAC Bypass 到 sudo/setuid 的完整检测实践【免费下载链接】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导读本文以 Anthropic-Cybersecurity-Skills 仓库中skills/detecting-t1548-abuse-elevation-control-mechanism技能所附的威胁狩猎模板assets/template.md为核心骨架系统讲解如何针对 MITRE ATTCK T1548Abuse Elevation Control Mechanism滥用提权控制机制开展端到端狩猎。读完本文你将掌握如何填写标准化的狩猎假设与取证记录表、如何通过注册表修改与自动提权进程链检测 Windows UAC Bypassfodhelper/eventvwr/sdclt 等向量、如何通过 sudo/setuid/setgid 检测 Linux 提权滥用以及如何用 Splunk、KQL、Sigma 规则和仓库内附 Python 检测脚本落地为可重复的检测能力。狩猎模板的价值把一次狩猎变成可复用的工作流T1548 覆盖了多种绕过系统提权控制机制的手段——包括 Windows 的 UAC BypassT1548.002、Linux/macOS 的 setuid 与 setgid 滥用T1548.001、sudo 与 sudo 缓存滥用T1548.003以及 macOS 的带提示提权执行T1548.004。这类攻击的共性是攻击者无需触发用户确认弹窗即可获得管理员/root 权限因此传统的告警例如 UAC 弹窗拦截对其完全失效必须靠日志侧的主动狩猎来发现。仓库中的assets/template.md正是为此设计的标准化狩猎模板。它把一个完整的狩猎行动拆解为四大部分Hunt Metadata狩猎元数据记录狩猎编号、分析师、日期与状态Hypothesis狩猎假设将威胁情报翻译成可验证的假设句发现记录表分别针对注册表修改与自动提权进程滥用两类迹象建立取证表格Recommendations处置建议把发现转化为 Remediate → Investigate → Harden → Monitor 四步闭环。使用模板的价值在于当同一攻击模式再次出现例如某 APT 团伙再次使用 fodhelper.exe 做 UAC Bypass时分析师可以直接复用既有假设、查询与记录结构显著缩短从发现异常到得出结论的时间。模板结构速览模板各字段的填写要点如下模板区块关键字段填写说明Hunt MetadataHunt ID建议格式TH-UAC-YYYY-MM-DD-NNN按天递增序号Hunt MetadataStatus用复选标记勾选 In Progress / CompleteHypothesis假设句默认假设聚焦绕过 UAC 或其它提权机制且不触发用户同意弹窗Registry Modification FindingsRegistry Key / Value Set / Modifying Process记录被篡改的注册表键、写入的值与写入进程Auto-Elevate Process AbuseAuto-Elevate Binary / Unexpected Parent / Child Process记录自动提权二进制、异常父进程与衍生子进程Recommendations4 步清单还原修改 → 调查提权后的动作 → 加固 → 持续监控默认假设狩猎的起点模板给出了可直接使用的默认假设Adversaries are bypassing User Account Control or other elevation mechanisms to gain administrative privileges without triggering user consent prompts.这句话定义了整个狩猎的取证重点不关注攻击者是否提权成功弹窗可能根本不出现而是关注提权机制本身是否被绕过。围绕这一假设后续所有检测查询都指向两类高价值证据——UAC 相关注册表键的异常写入以及自动提权二进制的异常进程链。发现记录一注册表修改Registry Modification Findings大量 UAC Bypass 的本质是注册表键劫持registry hijack攻击者把用户可写的HKCU\Software\Classes下的命令处理器键指向恶意载荷然后启动一个微软签名的自动提权二进制系统会以高完整性级别执行被劫持的命令且全程无 UAC 弹窗。模板中该表的取证字段为Time / Host / Registry Key / Value Set / Modifying Process / Severity。填写时应重点覆盖以下被反复利用的注册表路径注册表键对应绕过向量说明HKCU\Software\Classes\ms-settings\shell\open\commandfodhelper / computerdefaults最常见的 ms-settings 处理器劫持HKCU\Software\Classes\mscfile\shell\open\commandeventvwr事件查看器 MSC 文件处理器劫持HKCU\Software\Classes\exefile\shell\open\commandsdclt / sluiexefile 处理器劫持HKCU\Software\Classes\Folder\shell\open\commandFolder 处理器文件夹处理器劫持HKLM\...\Policies\System\EnableLUAUAC 整体关闭值被改为 0 说明 UAC 被禁用HKLM\...\Policies\System\ConsentPromptBehaviorAdminUAC 级别被降低值被改为 0 即静默提权用 Sysmon 事件捕获注册表写入模板配套的 SKILL.md 与 references/workflows.md 给出了两条关键检测链路Sysmon Event ID 12注册表键创建KeyCreate——可用于发现被新建的...\shell\open\command键Sysmon Event ID 13注册表值修改ValueSet——用于发现对现有键的写入。对应的 Splunk 检测查询如下Phase 1 主查询indexsysmon (EventCode12 OR EventCode13) | where match(TargetObject, (?i)(ms-settings|mscfile|exefile|Folder)\\\\shell\\\\open\\\\command) | table _time Computer User Image TargetObject Details EventCode若想进一步确认攻击者是否同时下调了 UAC 安全级别典型的降低防护 绕过组合拳可叠加针对策略键的查询indexsysmon EventCode13 | where match(TargetObject, (?i)Policies\\\\System\\\\(EnableLUA|ConsentPromptBehaviorAdmin)) | table _time Computer User Image TargetObject DetailsMicrosoft 365 Defender (KQL) 视角在非 Splunk 环境中可用 KQL 对DeviceRegistryEvents表做等价检测模板配套 SKILL.md 提供DeviceRegistryEvents | where Timestamp ago(7d) | where RegistryKey has_any (ms-settings\\shell\\open\\command, mscfile\\shell\\open\\command) | where ActionType RegistryValueSet | project Timestamp, DeviceName, RegistryKey, RegistryValueData, InitiatingProcessFileName该查询的要点是限定ActionType RegistryValueSet值写入并结合InitiatingProcessFileName确认写入进程是否为合法系统进程从而过滤大量由正常软件安装触发的注册表噪音。发现记录二自动提权进程滥用Auto-Elevate Process Abuse注册表写入只是攻击的第一步真正的提权动作发生在自动提权二进制被启动并衍生出 shell 子进程的那一刻。模板中该表的取证字段为Time / Host / Auto-Elevate Binary / Unexpected Parent / Child Process / Severity。常见自动提权向量清单references/api-reference.md 与 references/standards.md 汇总了被公开研究的自动提权二进制社区已文档化 60 种绕过方法本仓库收录常见子集二进制绕过方法检测要点fodhelper.exems-settings 注册表键劫持注册表写入 进程创建computerdefaults.exems-settings 处理器劫持注册表写入 进程创建eventvwr.exemscfile 处理器劫持注册表写入 进程创建sdclt.exeexefile/App Paths 劫持注册表写入 进程创建slui.exeexefile 处理器劫持注册表写入 进程创建cmstp.exeINF 文件执行/s /ni参数进程创建带/s /nicleanmgr.exe环境变量劫持环境变量 进程创建wsreset.exe可绕过 Defender 相关限制进程创建两条进程链检测规则针对自动提权二进制的检测分为两个互补视角Phase 2 工作流视角一异常父进程启动自动提权二进制。正常情况下 fodhelper、eventvwr 等由explorer.exe、svchost.exe或services.exe启动若其父进程出乎意料如 cmd.exe、powershell.exe则高度可疑indexsysmon EventCode1 | where match(Image, (?i)(fodhelper|computerdefaults|eventvwr|sdclt|slui)\.exe$) | where NOT match(ParentImage, (?i)(explorer\.exe|svchost\.exe)$) | stats count by Image ParentImage Computer User视角二自动提权二进制衍生出 shell 子进程。这是 UAC Bypass 得逞的最强信号——提权后的进程立即拉起cmd.exe/powershell.exe执行载荷indexsysmon EventCode1 | where match(ParentImage, (?i)(fodhelper|computerdefaults|eventvwr|sdclt|slui)\.exe$) | where match(Image, (?i)(cmd|powershell|wscript|cscript|mshta)\.exe$) | table _time Computer Image CommandLine ParentImage User常见利用场景填充 Severity 时的参考结合 SKILL.md 的 Common Scenarios 部分填写严重级别时可参照以下典型剧情fodhelper.exe 注册表劫持把ms-settings\shell\open\command指向恶意可执行文件随后启动 fodhelper.exe 触发自动提权执行——Severity 建议 Criticaleventvwr.exe MSC 绕过篡改mscfile\shell\open\command截获事件查看器的自动提权行为——High/Criticalsdclt.exe 绕过利用 Windows 备份工具的自动提权执行任意命令——HighCMSTP.exe INF 绕过用恶意 INF 文件配合/s /ni参数绕过 UAC——High自动提权进程中的 DLL 劫持把恶意 DLL 放入自动提权可执行文件的搜索路径——High。处置建议Remediate → Investigate → Harden → Monitor模板的 Recommendations 部分给出了四步闭环这也是整个狩猎模板的出口Remediate还原还原被篡改的注册表键删除或恢复HKCU\Software\Classes\...\shell\open\command等异常项Investigate调查追查攻击者用提权后权限执行了哪些动作——通常需要回溯高完整性级别进程的完整子进程树与网络连接Harden加固将 UAC 提升至最高级别Always Notify部署针对 UAC Bypass 的 Attack Surface Reduction (ASR) 规则收紧 sudo 与 setuid 配置Monitor监控持续监控上述注册表键与自动提权进程链防止同一手法复发。加固细节UAC 级别核查Windows 侧可先确认当前 UAC 策略是否处于安全水平api-reference.mdGet-ItemProperty HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System # EnableLUA 1 (UAC enabled) # ConsentPromptBehaviorAdmin 0-5ConsentPromptBehaviorAdmin各取值含义直接决定暴露面值行为安全评估0静默提权不提示极不安全应修复1安全桌面下提示输入凭据较安全2安全桌面下提示同意较安全5提示同意Windows 默认默认安全水平若发现EnableLUA0或ConsentPromptBehaviorAdmin0即为明显的防护降级迹象应纳入模板Registry Modification Findings表并标记高严重级别。Linux 侧的扩展sudo 与 setuid/setgid 滥用T1548 并不局限于 Windows。模板建议的Harden/Monitor同样适用于 Linux 提权路径配套 workflows.md 的 Phase 3 给出了实操方法。sudo 配置核查sudo -l # 列出当前用户被允许执行的命令 cat /etc/sudoers # 查看完整 sudoers 配置 visudo -c # 校验 sudoers 语法重点排查NOPASSWD条目与可被滥用的白名单命令。GTFOBins 类sudo 逃逸经典示例仅用于检测与防御评估切勿在未授权环境使用二进制sudo 逃逸示例vimsudo vim -c :!/bin/bashfindsudo find . -exec /bin/bash \;pythonsudo python -c import os; os.system(/bin/bash)nmapsudo nmap --interactive旧版本setuid/setgid 二进制排查find / -perm -4000 -type f 2/dev/null # SUID 二进制 find / -perm -2000 -type f 2/dev/null # SGID 二进制sudo 日志狩猎Linux 侧可用 syslog 中的 sudo 记录做狩猎将非常规 sudo 执行筛选出来indexlinux sourcetypesyslog | where match(_raw, (?i)sudo.*COMMAND) | where NOT match(_raw, (?i)(apt-get|yum|systemctl|service)) | table _time host user command用仓库内 Python 脚本把狩猎自动化模板与查询规则解决怎么查而仓库内 scripts/agent.py 与 scripts/process.py 则把检测逻辑固化为可重复执行的代码进一步印证模板各字段的数据来源。agent.py跨平台检测 Agentscripts/agent.py 是一个平台自适应的检测 Agent按平台自动切换检测分支Windows 分支check_uac_bypass_registry()用reg query逐个检查模板中的 UAC 注册表键是否被写入命中即 HIGHcheck_uac_bypass_processes()通过Get-WinEvent拉取最近 500 条 Sysmon Event 1按UAC_BYPASS_BINARIES列表fodhelper、computerdefaults、eventvwr、sdclt、slui、cmstp、mmc、wsreset、changepk、dism 等过滤并排除explorer.exe/svchost.exe为父进程的正常启动——这与模板Auto-Elevate Process Abuse表的 Unexpected Parent 字段一一对应Linux 分支check_linux_sudo_abuse()扫描/var/log/auth.log与/var/log/secure用SUDO_ABUSE_PATTERNS正则匹配sudo -u #-1、NOPASSWD、env_keep、sudo find -exec、sudo vim -c ...!、sudo python -c等滥用模式并运行sudo -l -n探测 NOPASSWD 条目check_setuid_binaries()用find / -perm -4000枚举 SUID 文件并与已知安全白名单/usr/bin/sudo、passwd、su、mount、umount、ping比对超出白名单即记入unusual_suid。Agent 会汇总全部发现并依据数量输出风险等级CRITICAL≥5 条→ HIGH≥2 条→ MEDIUM≥1 条→ LOW0 条支持-o参数输出 JSON 报告可直接归档为狩猎证据python3 scripts/agent.py -o t1548_hunt_report.jsonprocess.py离线事件批量检测scripts/process.py 面向已导出的 Sysmon 事件JSON 或 CSV做离线批处理其detect_elevation_abuse()实现了模板两张发现表的全部三类检测逻辑对Event 12/13用UAC_REGISTRY_PATTERNS含Policies\System\EnableLUA与ConsentPromptBehaviorAdmin匹配TargetObject输出UAC_Registry_ModificationCritical / T1548.002对Event 1检查自动提权二进制是否由非预期父进程启动输出Auto_Elevate_AbuseHigh / T1548.002对Event 1检查自动提权进程是否衍生cmd/powershell/wscript/cscript/mshta子进程输出Elevated_Child_ProcessCritical / T1548.002。结果按严重级别排序并写入elevation_abuse_findings.json同时自动生成与模板一致的 Hunt IDTH-UAC-日期python3 scripts/process.py -i events.json -o ./elevation_hunt_output从源码结构看EXPECTED_PARENTSexplorer/svchost/services/winlogon与UAC_REGISTRY_PATTERNS的设计与 SKILL.md 中 Splunk 查询的过滤逻辑保持一致说明模板、查询与脚本三者共用同一套检测语义可以相互印证。结果记录与输出格式狩猎结论建议按模板配套 SKILL.md 的 Output Format 结构化输出方便与 mappings/attack-navigator-layer.json 中的 MITRE 技术映射T1548 及 T1548.001–.004 均已在层文件中登记对齐Hunt ID: TH-UAC-[DATE]-[SEQ] Host: [Hostname] Bypass Method: [Registry hijack/DLL hijack/Token manipulation] Auto-Elevate Binary: [fodhelper.exe/eventvwr.exe/etc.] Registry Key Modified: [Full registry path] Payload Executed: [Command or binary path] User Context: [Account] Risk Level: [Critical/High/Medium] ATTCK Technique: [T1548.00x]框架映射与合规视角该技能在元数据SKILL.md frontmatter中已声明其与多个安全框架的对应关系可作为狩猎覆盖度汇报的引用依据MITRE ATTCKT1548.001Setuid and Setgid、T1548.002Bypass User Account Control、T1548.003Sudo and Sudo Caching、T1548.004Elevated Execution with Prompt均已在 mappings/attack-navigator-layer.json 中登记NIST CSF 2.0DE.CM-01持续监控、DE.AE-02异常与事件分析、DE.AE-07攻击向量关联、ID.RA-05威胁情报D3FENDExecutable Denylisting可执行文件黑名单、Execution Isolation执行隔离、File Metadata Consistency Validation文件元数据一致性校验、Restore Access、Password Authentication。在 mappings/owasp/README.md 中T1548Abuse Elevation Control还被映射到 OWASP 的 A01: Broken Access Control访问控制失效——这意味着该狩猎模板的成果不仅能证明 ATTCK 检测覆盖也能为应用/基础设施层面的访问控制审计提供证据支撑。落地清单从模板到常态化狩猎最后把本文内容收敛为可直接执行的落地步骤环境准备启用 Sysmon Event 1/12/13含命令行与父进程记录开启 Windows Security Event 4688 进程追踪与 4657 注册表审计并确保 Linux 主机 syslog 覆盖 sudo 记录基线确认核对EnableLUA1、ConsentPromptBehaviorAdmin5确认无异常HKCU\Software\Classes\...\shell\open\command键首次狩猎复制 assets/template.md 填写元数据与默认假设运行本文给出的 Splunk/KQL/Sigma 查询将命中写入两张发现表自动化将 scripts/agent.py 加入周期任务用 scripts/process.py 对离线事件做回溯批检闭环处置按模板 Recommendations 执行还原、调查、加固UAC 最高级别 ASR 规则 sudo 收紧与持续监控并将结论回填到发现表与输出格式形成可复用的检测知识资产。【免费下载链接】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),仅供参考