Manage-bde.wsf 利用分析:借助 BitLocker 管理脚本实现 Windows 代理执行(LOLBAS 实战指南)
应用安全渗透测试红蓝对抗【免费下载链接】LOLBASLiving Off The Land Binaries And Scripts - (LOLBins and LOLScripts)项目地址https://gitcode.com/gh_mirrors/lo/LOLBAS点击查看免费下载Manage-bde.wsf是 Windows 系统中随 BitLocker 驱动器加密功能一起分发的、由微软签名的 WSF 脚本本指南以 LOLBAS 仓库中的 Manage-bde.wsf 条目 为主体结合仓库中的 YAML 元数据档案完整讲解该脚本被滥用的两种代理执行Proxy Execution技巧%COMSPEC%环境变量劫持与同目录同名可执行文件劫持。读完本文你将掌握这两条可复现的命令行载荷的构造方式、适用前提与权限要求并理解如何通过进程与文件事件对其进行检测与防御。一、认识 Manage-bde.wsfBitLocker 管理脚本为何成为 LOLScriptLOLBASLiving Off The Land Binaries And Scripts项目的目标是系统化记录所有可被用于Living Off The Land技术的二进制、脚本与库文件。按照 README.md 中的收录标准一个 LOLBin/LOLScript 必须满足是微软签名的文件要么原生随系统分发要么来自微软官方下载具备意外的额外功能即超出其设计用途的利用价值具备对 APT 或红队有用的功能。manage-bde.wsf正是这类文件的典型代表。它的正常职责是通过 Windows Script HostWSH对 BitLocker 驱动器加密进行命令行管理manage-bde.exe的脚本化入口完整路径为C:\Windows\System32\manage-bde.wsf由于它是系统自带、微软签名的脚本许多应用白名单AWL方案会默认放行对它的调用而仓库文档揭示了它可以被改造成任意可执行文件执行的代理这正是它被收录为 LOLScript 的核心原因。当前仓库对它的记载有两处历史 Markdown 条目Archive-Old-Version/OSScripts/Manage-bde.wsf.md保留了最初的利用命令、资源与致谢信息现行 YAML 档案yml/OSScripts/Manage-bde.yml是该条目的结构化数据源。根据 CONTRIBUTING.md 的说明yml/目录下的 YAML 是用于生成其他一切的源文件因此后续章节会同时引用这两份档案确保命令与元数据一一对应。二、技巧一通过%COMSPEC%环境变量劫持执行任意 EXE2.1 原理概述COMSPEC%COMSPEC%是 Windows 中用于定位命令行解释器的标准环境变量正常情况下指向C:\Windows\System32\cmd.exe。系统进程或脚本在需要以命令行方式启动子进程时会读取该变量来确定要启动的解释器。Manage-bde.wsf 在执行过程中同样会依赖该环境变量。攻击者只要在调用脚本之前把COMSPEC覆盖为攻击者控制的可执行文件路径脚本间接启动的子进程就会变成攻击者指定的载荷——整个执行链的表面入口依然是微软签名的manage-bde.wsf而真正执行的却是任意 EXE。2.2 命令与操作步骤仓库档案中给出的原始命令如下set comspecc:\windows\system32\calc.exe cscript c:\windows\system32\manage-bde.wsf执行链路拆解set comspecc:\windows\system32\calc.exe在当前 cmd 会话中将COMSPEC环境变量临时指向calc.exe实战中可替换为任意攻击者可控的 EXE 路径顺序连接两条命令cscript c:\windows\system32\manage-bde.wsf调用 WSH 主机cscript.exe执行系统目录下的 BitLocker 管理脚本脚本运行时通过被劫持的COMSPEC启动子进程最终拉起的是calc.exe。在 yml/OSScripts/Manage-bde.yml 中这条命令被规范化为带占位符的形式便于自动化工具链直接替换载荷路径set comspec{PATH_ABSOLUTE:.exe} cscript c:\windows\system32\manage-bde.wsf其中{PATH_ABSOLUTE:.exe}表示要替换为待执行 EXE 的绝对路径。该技巧由 Jimmybohops发现并贡献文档的 Notes 字段将其标注为 Comspec。2.3 利用特点Usecase利用场景Proxy execution from script以脚本为代理执行Privileges所需权限User普通用户权限即可无需管理员TagExecute: EXE——最终执行的对象是任意 EXE。三、技巧二同目录同名文件劫持Path Hijack执行载荷3.1 原理概述第二种技巧不依赖环境变量而是利用脚本对辅助可执行文件的相对路径解析顺序。manage-bde.wsf在工作时会在其运行目录中查找并执行名为manage-bde.exe的程序系统原本位于C:\Windows\System32\manage-bde.exe。攻击者将载荷复制为与脚本同目录的同名文件manage-bde.exe再调用 cscript 执行系统目录中的脚本本体。由于 Windows 在解析相对路径时遵循当前目录优先的顺序脚本实际加载并执行的是攻击者放置在当前目录中的同名载荷而不是 System32 中的原始程序。这一思路由 Daniel Bohannondanielhbohannon贡献Notes 字段将其标注为 Path Hijack。3.2 命令与操作步骤仓库文档中的原始命令如下copy c:\users\person\evil.exe c:\users\public\manage-bde.exe cd c:\users\public\ cscript.exe c:\windows\system32\manage-bde.wsf执行链路拆解copy c:\users\person\evil.exe c:\users\public\manage-bde.exe把攻击者控制的evil.exe复制为公共目录下的manage-bde.exe即载荷重命名为脚本期望的同名文件cd c:\users\public\将当前工作目录切换到载荷所在的C:\Users\Publiccscript.exe c:\windows\system32\manage-bde.wsf从系统目录调用签名脚本脚本在当前目录中解析manage-bde.exe并执行攻击者文件。3.3 利用特点与技巧一相同该命令的元数据同样标注为UsecaseProxy execution from scriptPrivilegesUser普通用户权限TagExecute: EXE。两条技巧都符合 MITRE ATTCK 中T1216Signed Script Proxy Execution签名脚本代理执行的手法定义攻击者不直接运行自己的可执行文件而是借道受信任的签名脚本来承载执行从而规避依赖签名的应用白名单策略。四、YML 档案中的完整技术元数据两份档案中记载的信息可以合并成一张完整的技术卡片字段值NameManage-bde.wsfDescriptionScript for managing BitLocker用于管理 BitLocker 的脚本AuthorOddvar MoeCreated2018-05-25CategoryExecuteMitreIDT1216Signed Script Proxy ExecutionPrivilegesUserOperatingSystemWindows Vista、Windows 7、Windows 8、Windows 8.1、Windows 10、Windows 11Full_PathC:\Windows\System32\manage-bde.wsfDetectionSigma 规则 IOC见下文几点值得注意系统覆盖范围广档案标注该技巧适用于 Windows Vista 到 Windows 11 的全部主流版本意味着这条 LOLScript 在几乎所有现存 Windows 客户端上都成立权限要求低两条命令均只需 User 权限这使它们在没有提权路径的受限环境中同样可用分类口径Usecase 统一归类为 Proxy execution from script与 CategoryList.md 中的Execute类别一致这也说明该条目与 Pubprn.vbs、Pester.bat 等同属脚本代理执行这一家族YML 规范该档案遵循仓库统一的 YML-Template.yml 模板格式字段完整Commands、Full_Path、Detection、Resources、Acknowledgement 一应俱全是可直接被前端门户解析的标准条目。五、检测与防御5.1 官方标注的 IOCyml/OSScripts/Manage-bde.yml 的 Detection 字段给出了明确的行为指标Manage-bde.wsf should not be invoked by a standard user under normal situations 正常情况下普通用户不应调用 Manage-bde.wsf这是一条高信噪比的检测信号BitLocker 管理脚本很少由普通用户在日常操作中手动触发一旦在终端上观察到cscript拉起manage-bde.wsf的进程链就值得深入调查。5.2 Sigma 规则该条目同样引用了社区维护的 Sigma 检测规则对应rules/windows/process_creation下的proc_creation_win_lolbin_manage_bde规则文件该规则关注进程创建事件中cscript.exe携带manage-bde.wsf参数的可疑组合可无缝导入 Splunk、Elastic 等 SIEM 平台。5.3 防御与监控建议结合两种技巧的执行特征可落地如下监控点监控维度关注信号进程创建cscript.exe/wscript.exe的参数中出现manage-bde.wsf且调用方为普通用户进程环境变量命令行中出现的set comspec...指向非cmd.exe的路径技巧一特征文件事件C:\Users\Public等公共可写目录中出现新落地的manage-bde.exe技巧二特征进程链由manage-bde.wsf派生的子进程为calc.exe等非预期程序在 Windows Defender Application ControlWDAC等白名单场景下应把manage-bde.wsf纳入仅允许预期调用方式的管控范围并对%COMSPEC%的异常覆盖保持告警。六、同类 LOLScript 横向参考与致谢manage-bde.wsf并非孤例在 Archive-Old-Version/OSScripts/ 目录中同一代 LOLScript 记录还包含大量同类代理执行手法可对照学习Pubprn.vbs通过第二个参数注入 Script COM moniker 完成 WSH 注入执行远程 SCT 载荷Slmgr.vbs劫持Scripting.DictionaryCOM 对象执行远程脚本Winrm.vbs利用 WinRM 协议实现横向移动与远程命令执行SyncAppvPublishingServer.vbs通过参数注入 PowerShell 脚本代码CL_Invocation.ps1导入 PowerShell 诊断脚本后调用SyncInvoke启动可执行文件CL_Mutexverifiers.ps1调用runAfterCancelProcess代理执行载荷。最后根据文档 Notes 与 YML 的 Acknowledgement 字段向本条目做出贡献的研究者致谢Jimmybohops发现并贡献%COMSPEC%劫持技巧Daniel Bohannondanielhbohannon发现并贡献同目录路径劫持Path Hijack技巧John LambertJohnLaTwC在后续讨论中参与验证与传播。需要强调的是本文内容仅用于安全研究与防御体系建设。manage-bde.wsf作为微软签名脚本被滥用的两条路径提醒蓝队成员签名并不等于可信白名单放行的脚本同样可能成为红队代理执行的跳板。赞分享应用安全渗透测试红蓝对抗【免费下载链接】LOLBASLiving Off The Land Binaries And Scripts - (LOLBins and LOLScripts)项目地址https://gitcode.com/gh_mirrors/lo/LOLBAS点击查看免费下载相关推荐LOLBAS 系列解析ie4uinit.exe——借助 ie4uinit.inf 实现隐蔽代码执行的 LOLBin 实战指南LOLBAS 系列解析ie4uinit.exe——借助 ie4uinit.inf 实现隐蔽代码执行的 LOLBin 实战指南 导读 本文围绕 LOLBAS 仓应用安全渗透测试红蓝对抗代理执行三连击利用 Windows 程序兼容性助手 pcalua.exe 执行 EXE / DLL / CPLLOLBAS 实战指南代理执行三连击利用 Windows 程序兼容性助手 pcalua.exe 执行 EXE / DLL / CPLLOLBAS 实战指南 本篇技术指南围绕 L应用安全渗透测试红蓝对抗ATBroker.exe 滥用指南利用 Windows 辅助技术机制实现代码执行LOLBAS 项目深度解析ATBroker.exe 滥用指南利用 Windows 辅助技术机制实现代码执行LOLBAS 项目深度解析 ATBroker.exe 是 Windows应用安全渗透测试红蓝对抗创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考