news 2026/10/15 17:25:20

LOLBAS 条目深度解析:利用 Notepad++ 更新程序 Gpup.exe 实现任意命令执行的 Living-Off-the-Land 技巧

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LOLBAS 条目深度解析:利用 Notepad++ 更新程序 Gpup.exe 实现任意命令执行的 Living-Off-the-Land 技巧
  • 应用安全
  • 渗透测试
  • 红蓝对抗

【免费下载链接】LOLBAS

Living Off The Land Binaries And Scripts - (LOLBins and LOLScripts)

项目地址:https://gitcode.com/gh_mirrors/lo/LOLBAS
点击查看免费下载

Gpup.exe 是 Notepad++ 安装目录updater子目录下随附的更新辅助程序,其具备"代执行其他程序"的能力,被 LOLBAS 项目收录为一条典型的第三方签名组件滥用型 LOLBin。本篇以仓库归档条目 Gpup.exe.md 为主干,结合其 YAML 源文件与项目收录标准,系统讲解该条目的命令用法、参数语义、条目数据结构与检测思路,读完即可掌握"通过 Gpup.exe 执行任意程序"这条技术点的原理与落地细节。

Gpup.exe 是什么:Notepad++ 更新器中的"意外"执行入口

Gpup.exe 是 Notepad++ 软件包自带的一个程序,默认安装路径为:

C:\Program Files (x86)\Notepad++\updater\gpup.exe

从路径结构看,它位于 Notepad++ 的updater(更新器)目录下,属于随 Notepad++ 安装而分发的第三方可执行文件。LOLBAS 归档条目将其功能定义为Execute(执行),与仓库 CategoryList.md 中列出的功能分类(ADS、AWL bypass、Compile、Copy、Credentials、Download、Execute 等)中的Execute类别对应。

之所以值得收录,是因为它具备了超出"更新程序"本职之外的能力——可以代为启动另一个进程。这正符合 README.md 中描述的 LOLBAS 项目收录标准:"具备额外的、意料之外的功能(extra 'unexpected' functionality),且该功能对 APT 或红队实战有用"。不过需要注意:该条目收录于Archive-Old-Version归档目录(第三方软件二进制分区),并未出现在当前yml/主目录中,属于项目早期(2018 年)收录并保留下来的历史资源。

利用原理与命令实例:一行命令拉起 calc.exe

归档条目给出的核心命令非常简洁:

Gpup.exe -w whatever -e c:\Windows\System32\calc.exe

其描述为:"Execute another command through gpup.exe (Notepad++ binary)"——即通过 Gpup.exe 代为执行另一个命令/程序。

从命令行为可以推断出两个关键参数的作用:

参数示例值语义(推断)
-wwhatever接收一个工作类参数,示例中为任意字符串占位(可替换为任意内容)
-ec:\Windows\System32\calc.exe指定要代为执行的程序路径,是真正被拉起的目标

其中-e指向的路径可以被替换为任意可执行程序,例如系统自带工具或其他脚本宿主。示例中选择calc.exe(计算器)作为无害的验证目标,用于证明该二进制确实具备"代执行"能力;在实战场景中,-e参数完全可以指向攻击者需要的程序(如反弹 Shell、下载器或攻击载荷)。由于代执行的是完整程序路径,该技巧不依赖内存注入或反射加载,落地方式直接而稳定。

仓库条目结构:Markdown 与 YAML 双版本对照

Gpup.exe 在仓库中有两个记录文件,内容互为镜像:

  • Markdown 版(面向人读的归档文档):Gpup.exe.md
  • YAML 版(面向机器解析的源数据):Gpup.yml

YAML 版把条目拆解为标准的字段结构,与仓库模板 YML-Template.yml 及 NOTICE.md 中描述的字段规范一一对应:

--- Name: Gpup.exe Description: Execute Author: '' Created: 2018-05-25 Commands: - Command: Gpup.exe -w whatever -e c:\Windows\System32\calc.exe Description: Execute another command through gpup.exe (Notepad++ binary). Full_Path: - 'C:\Program Files (x86)\Notepad++\updater\gpup.exe ' Code_Sample: [] Detection: [] Resources: - https://twitter.com/pabraeken/status/997892519827558400 Acknowledgement: - Person: Pierre-Alexandre Braeken Handle: '@pabraeken'

各字段含义如下:

  • Name/Description:LOL 资源名称与一句话功能描述(合法用途视角);
  • Created:条目创建时间,此条为 2018-05-25;
  • Commands:利用命令及行为描述,是整条记录的技术核心;
  • Full_Path:该二进制常见的文件系统路径,用于蓝队定位与脚本化收集;
  • Code_Sample/Detection:代码样例与检测规则链接,此条目均为空(见下文检测章节);
  • Resources:原始发现来源链接(Twitter 帖子 status/997892519827558400);
  • Acknowledgement:技术发现者署名——Pierre-Alexandre Braeken(@pabraeken)。

根据 CONTRIBUTING.md 的说明,yml/下的 YAML 源文件是项目"生成其他一切内容"的源头,归档区的 Markdown 与此 YAML 即同一信息的两种呈现形态。

使用前提与边界

从条目本身可以明确的使用前提如下:

  1. 目标主机需安装 Notepad++(32 位):默认完整路径位于C:\Program Files (x86)\下,说明该程序随 32 位安装布局分发;未安装 Notepad++ 的主机自然不存在该入口;
  2. 文件是否被篡改不影响代执行能力:-e机制是更新程序自身提供的参数化启动能力,而非依赖 DLL 劫持或文件替换(与同归档中 AcroRd32、ROCCAT_Swarm 等"替换组件"类条目原理不同);
  3. 权限要求:条目未标注特权要求,按执行型 LOLBin 的通用形态推断,通常在普通用户上下文即可触发,但实际可用性以运行环境为准。

值得说明的是,LOLBAS 项目文档(NOTICE.md)明确声明:项目不保证任何条目附带或引用的检测资源能提供完整、正确的防御覆盖,条目内容仅供教育与情报参考使用。因此上述推断结论在实战落地前,应在受控环境中自行验证。

检测与防御思路

该条目的 YAML 中Detection: []为空,即仓库层面没有为 Gpup.exe 提供现成的 Sigma/Elastic/Splunk 规则或 IOC。结合代执行行为的本质,以下检测思路属于通用实践推断,供防御侧参考:

  • 进程创建命令行监控:关注gpup.exe的启动命令行中是否出现-e参数,且其指向的路径不是 Notepad++ 更新流程常规涉及的进程;Windows 事件 4688(进程创建)配合命令行记录(CommandLineProcessCreation 策略)是捕捉该行为的最直接手段;
  • 进程树分析:gpup.exe正常情况下是更新链的一部分,其子进程应为更新相关程序;一旦观察到其派生出calc.exe、cmd.exe、powershell.exe等非预期子进程,即为异常信号;
  • 路径白名单/应用控制:在允许 Notepad++ 安装的环境中,对updater\gpup.exe可执行代启动的参数组合进行约束,或直接将该目录加入执行限制策略。

同类发现:同一研究者的"签名组件滥用"系列

Gpup.exe 并非孤例。归档区中由 Pierre-Alexandre Braeken(@pabraeken)在同一时期(2018 年 5 月)提交的多个条目,共同勾勒出"第三方签名软件组件被滥用"这一技法家族:

  • Setup.exe.md:劫持 hpbcsiServiceMarshaller.exe 并运行 Setup.exe 拉起载荷;
  • AcroRd32.exe.md:替换 Adobe Reader 的 RdrCEF.exe 以实现启动时执行;
  • ROCCAT_Swarm.exe.md:替换 ROCCAT_Swarm_Monitor.exe 后随主程序启动执行。

与上述"替换组件"模式不同,Gpup.exe 的核心价值在于参数化代执行:无需替换或劫持任何文件,一条命令行即可借道完成执行,隐蔽性与落地便捷性都更高。这类"签名软件自带执行通道"的技法,正是 LOLBAS 项目持续追踪与归档的核心对象。

小结

Gpup.exe 条目虽短,却完整呈现了一个第三方签名组件的 LOLBin 利用模型:更新器类程序往往自带"启动其他程序"的能力,-w/-e参数组合使其成为任意命令的启动代理。通过本条目,读者既能掌握具体命令与参数语义,也能理解 LOLBAS 仓库"Markdown 归档 + YAML 结构化数据"的双轨条目组织方式,以及检测与防御层面的基本思路。实际评估该技巧时,请以受控环境验证为准,并遵循项目文档中的教育与授权使用边界。

  • 应用安全
  • 渗透测试
  • 红蓝对抗

【免费下载链接】LOLBAS

Living Off The Land Binaries And Scripts - (LOLBins and LOLScripts)

项目地址:https://gitcode.com/gh_mirrors/lo/LOLBAS
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/15 17:25:20

Go分布式爬虫实战:从单机到亿级并发的架构演进

1. 项目概述:为什么“Go分布式爬虫”正在成为工程实践中的刚需最近在几个技术社区和某高校实验室的协作项目里,反复看到“Go分布式爬虫”这个组合词被高频提及。它不是某个新出的框架名字,而是一类解决实际问题的技术方案代称——用Go语言构建…

作者头像 李华
网站建设 2026/10/15 17:25:06

2026Git 下载、安装、使用完整教程(附安装包)

Git 下载、安装、使用完整教程一、Git 简介(与SVN区别)二、Git 下载三、Git 安装教程1. 安装(关键步骤已标注注意事项)2. 验证安装是否成功四、Git 基础配置(安装后必须配置,否则无法正常提交代码&#xff…

作者头像 李华
网站建设 2026/10/15 17:24:07

图像处理中的回眸女郎:测试基准与算法流水线解析

1. 从一张“回眸”图说起:这个视觉梗到底在讲什么第一次看到“图像处理的回眸女郎”这个说法,很多人会愣一下:这到底是一张图、一个算法,还是某个圈子里流传的梗?我最早接触到类似概念,是在做图像风格迁移和…

作者头像 李华
网站建设 2026/10/15 17:23:56

MATLAB量子计算仿真:从态矢量到Grover算法的数值验证实践

简介:本资源是面向量子计算初学者与MATLAB实践者的算法实现入门包,聚焦量子位建模、量子门操作、电路仿真及主流算法验证等核心环节,助力科研人员和工科学生在经典计算环境中理解并动手复现量子计算原理。压缩包共5个文件,含4个MA…

作者头像 李华
网站建设 2026/10/15 17:23:33

JavaWeb教务管理系统开发:权限控制、事务处理与上线加固实践

简介:一份适合JavaWeb初学者的教务管理系统项目,基于MVC设计模式与DAO分层思想,整合Servlet、JSP、Filter及MySQL数据库,可通过完整业务场景理解Web请求处理与权限控制。系统含登录、找回密码、修改密码、注销等机制,并…

作者头像 李华
网站建设 2026/10/15 17:23:00

微信小程序分享海报生成实战:canvas 2d与二维码绘制全解析

简介:面向微信小程序开发者的分享海报生成方案,基于原生组件与画布绘图实现二维码合成,适用于电商裂变、活动推广等需要用户转发带参二维码的场景。资源共5个文件,压缩包仅4KB,包含wxml页面结构、wxss样式、json配置、…

作者头像 李华