// 红队渗透 · 2026-05-17

Windows两大劫持技术:服务路径劫持和映像劫持IFEO

一、前置基础:注册表架构理解

想要吃透服务路径劫持与映像劫持两类经典Windows劫持手法,必先掌握系统注册表核心架构,所有劫持、提权、后门持久化攻击,本质都是通过篡改注册表指定路径下的键值规则实现。

Windows注册表是系统层级的核心配置数据库,统一存放硬件驱动、系统服务、软件程序、用户权限、运行规则等全部底层配置,分为五大根项,日常渗透与系统运维最常用仅有三类。

  1. HKEY_LOCAL_MACHINE(HKLM 本机全局配置) 全系统所有用户共用配置,权限等级最高,修改后对整台设备生效,两类劫持攻击全部依托此根项完成,普通用户仅拥有读取权限,部分子项开放低权限写入权限,也是漏洞利用的核心突破口。

  2. HKEY_CURRENT_USER(HKCU 当前用户配置) 仅对当前登录用户生效,存放桌面布局、软件偏好、个人登录记录等个性化设置,权限较低,无法实现系统级提权。

  3. HKEY_CLASSES_ROOT 主要负责文件关联、程序打开方式绑定,多用于软件关联劫持,渗透中使用频率较低。

重点分支路径

1. 系统服务专属注册表分支

路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

这是Windows所有系统服务、第三方服务的专属配置仓库,系统开机启动、手动运行服务时,都会优先读取该目录下的配置参数。 每一个独立服务都会在此目录生成同名子项,子项内存储服务运行全套规则,其中两个键值为渗透核心:

  • ImagePath:服务启动执行程序的完整路径,对应命令sc qc查询结果中的二进制路径;
  • ObjectName:服务运行依托的权限账户,默认主流服务均以LocalSystem系统最高权限运行。 服务路径劫持提权,就是篡改该分支下的ImagePath启动路径实现权限提升。

2. 程序调试规则专属分支

路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

该分支为Windows原生程序调试功能预留目录,系统原生用途是为指定程序绑定调试工具,无任何服务相关配置,仅针对桌面exe可执行程序生效。 攻击者在此目录新建程序同名子项,写入Debugger调试器键值,即可篡改程序启动逻辑,实现打开正常程序、运行恶意程序的效果,也就是映像劫持IFEO,该目录默认开放普通用户写入权限,利用门槛极低。

简单总结:注册表是Windows系统的规则手册,服务劫持改动系统服务规则,映像劫持改动软件启动规则,理清两大分支架构,就能彻底分清两种劫持手法的底层区别。


二、服务路径劫持提权

1. 核心原理

利用第三方服务/自建服务注册表权限配置不当,普通用户拥有修改服务配置权限,直接篡改服务配置里的ImagePath启动路径,将原本正常启动的程序,替换为恶意后门、反弹Shell程序。 重启服务后,恶意程序会继承服务本身SYSTEM最高权限运行,直接完成本地权限提升。

2. 操作注册表位置

HKLM\SYSTEM\CurrentControlSet\Services\目标服务名 仅修改此路径下配置,和程序本身无关。

3. 利用必备条件

  1. 当前低权限用户,对目标服务注册表项拥有写入修改权限
  2. 目标服务运行账户为LocalSystem(SYSTEM权限)
  3. 可手动重启服务,或等待系统重启触发执行

4. 实战利用流程

  1. 权限探测:使用accesschk扫描可写入权限服务
accesschk.exe /accepteula -k "HKLM\SYSTEM\CurrentControlSet\Services" -w -s
  1. 上传恶意程序(反弹shell、cmd后门)至目标机器
  2. 篡改服务ImagePath启动路径
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\服务名" -Name ImagePath -Value "恶意程序完整路径"
  1. 重启服务触发执行
sc stop 服务名 && sc start 服务名
  1. 成功获取SYSTEM最高权限,完成提权

5. 特点总结

  • 核心用途:本地低权限→SYSTEM高权限提权
  • 权限上限高,渗透提权首选手法
  • 依靠服务重启触发,隐蔽性中等
  • 只会影响指定Windows服务,不劫持普通桌面程序

三、映像劫持 IFEO(Image File Execution Options)

1. 核心原理

这是Windows系统自带的程序调试机制,原本作用是给指定程序绑定调试器。 攻击者滥用该机制,在系统注册表中添加规则:只要系统启动指定exe程序,强制优先启动攻击者设定的恶意程序。 简单直白:打开A程序,实际运行B恶意程序。

2. 操作注册表位置

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\目标程序名.exe 和系统服务毫无关系,专门针对桌面应用、系统程序。

3. 核心修改键值

新建项后创建字符串值Debugger,数值填写恶意程序路径。

4. 利用必备条件

  1. 当前用户拥有IFEO注册表目录写入权限(Windows默认普通用户即可写入)
  2. 知晓目标常用启动程序(记事本notepad.exe、浏览器、任务管理器等)
  3. 等待用户主动启动被劫持程序,自动触发后门

5. 经典实战利用

劫持记事本,打开记事本自动弹出CMD:

  1. 定位注册表IFEO路径
  2. 新建项命名notepad.exe
  3. 新建字符串值Debugger,数值填入cmd.exe
  4. 用户双击打开记事本,直接弹出命令行

6. 特点总结

  • 核心用途:后门持久化、程序劫持、绕过安全软件
  • 无法直接提权,触发后权限=当前登录用户权限
  • 触发简单,用户日常打开软件即可运行后门
  • 不依赖服务、无需重启系统,驻留实用性极强

四、两大劫持手法对比

对比项 服务路径劫持提权 映像劫持IFEO
操作注册表路径 Services服务配置目录 IFEO程序调试目录
修改核心字段 ImagePath启动路径 Debugger调试器路径
核心作用 本地权限提升拿SYSTEM权限 后门持久化、程序劫持
权限效果 直接获取系统最高权限 仅继承当前用户权限,不能提权
触发方式 重启服务/重启电脑 用户手动启动被劫持EXE程序
权限门槛 需要服务注册表写入权限 普通用户默认即可写入
渗透定位 内网提权首选 持久化留后门首选
影响对象 Windows系统/第三方服务 任意桌面exe应用程序

五、实战使用场景区分

  1. 拿到服务器普通用户权限,想提升至高权限管理员 → 优先使用服务路径劫持提权
  2. 已经拿到权限,想长期留后门、悄悄驻留,不被轻易发现 → 优先使用映像劫持IFEO
  3. 攻防排查思路
    • 查提权痕迹:批量检测Services下异常ImagePath路径
    • 查后门痕迹:直接查看IFEO目录下异常Debugger劫持项

六、总结

  1. 服务路径劫持:改系统服务的启动命令,借服务最高权限上位,主打提权;
  2. 映像劫持:改软件打开规则,偷梁换柱运行后门,主打留后门持久化; 二者底层都是篡改Windows注册表实现,但作用、权限、用途完全不同,也是Windows渗透体系里最经典的两大劫持技术。

原文 https://blog.csdn.net/2301_79518550/article/details/161160238