☰
Windows提权实战:计划任务与服务漏洞利用技巧
2026/10/28 22:44:49 网站建设 项目流程

1. Windows提权速胜技巧解析

在渗透测试和红队行动中,Windows系统提权(Privilege Escalation)是最关键的环节之一。当获得初始立足点后,快速从普通用户提升到SYSTEM或管理员权限往往能决定整个行动的成败。本文将分享几个实战中验证有效的Windows提权"速胜"技巧,这些方法在TryHackMe等CTF平台和真实环境中都屡试不爽。

2. 计划任务漏洞利用

2.1 schtasks命令滥用

计划任务(Scheduled Tasks)是Windows提权的经典突破口。通过schtasks命令可以查看系统中配置的所有计划任务:

schtasks /query /fo LIST /v

重点关注以下特征的任务:

  • 运行身份为SYSTEM或管理员
  • 触发器设置为"登录时"或"系统启动时"
  • 操作指向可修改的脚本或可执行文件

注意:某些系统会显示"schtasks 错误: 无法加载列资源",这通常意味着权限不足或系统语言包问题,可以尝试添加/nh参数跳过表头。

2.2 实战案例:可写任务劫持

假设发现一个以SYSTEM权限运行的清理任务:

任务名: \Microsoft\Windows\Cleanup 运行方式: SYSTEM 任务执行: C:\Program Files\Cleanup\clean.exe

检查目标文件权限:

icacls "C:\Program Files\Cleanup\clean.exe"

如果显示"BUILTIN\Users:(F)"(完全控制),可直接替换该exe文件:

copy /y C:\malware.exe "C:\Program Files\Cleanup\clean.exe"

等待任务触发或手动重启系统即可获得SYSTEM shell。

3. 服务配置漏洞挖掘

3.1 服务权限审计

Windows服务是另一个常见提权点,使用以下命令枚举服务配置:

sc query state= all | findstr SERVICE_NAME wmic service get name,displayname,pathname,startmode | findstr /i "auto"

重点关注:

  • 启动类型为"自动"的服务
  • 二进制路径包含空格且无引号
  • 路径指向可写目录

3.2 服务路径劫持

当发现类似以下配置时:

C:\Program Files\Vulnerable Service\service.exe -start

检查路径权限:

icacls "C:\Program Files\Vulnerable Service"

如果Users组有写权限,可以创建恶意service.exe文件,然后重启服务:

sc stop "Vulnerable Service" sc start "Vulnerable Service"

4. 注册表提权技巧

4.1 自动运行项检查

注册表中的自动运行项常被忽视:

reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run reg query HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

4.2 映像劫持

检查映像劫持配置:

reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options"

如果发现可写项,可以劫持常见管理工具如:

  • sethc.exe (粘滞键)
  • utilman.exe (轻松访问)
  • osk.exe (屏幕键盘)

5. 文件系统权限滥用

5.1 icacls深度利用

icacls是Windows权限审计的神器,递归检查关键目录:

icacls C:\Windows\System32\*.exe /T /C | findstr "(F)" icacls C:\Program Files\* /T /C | findstr "(F)"

5.2 可写服务DLL

某些服务会加载可写的DLL文件,使用Process Monitor可以捕捉这些加载行为。发现后可制作恶意DLL进行替换:

copy /y evil.dll C:\Windows\System32\vuln.dll sc stop DepSvc sc start DepSvc

6. 环境变量劫持

6.1 PATH变量检查

查看系统PATH变量:

echo %PATH%

如果包含可写目录,可以将恶意程序放在这些目录中,并命名为常见管理工具如ping.exe、net.exe等。

6.2 临时目录滥用

检查临时目录权限:

icacls %TEMP% icacls C:\Windows\Temp

高权限进程有时会从这些目录加载文件,可尝试放置恶意文件等待系统或管理员进程调用。

7. 其他快速提权技巧

7.1 未引用的服务路径

当服务路径包含空格但未用引号包裹时,Windows会按空格分隔尝试执行。例如:

C:\Program Files\Some Folder\Service.exe

系统会依次尝试:

  1. C:\Program.exe
  2. C:\Program Files\Some.exe
  3. C:\Program Files\Some Folder\Service.exe

如果在可写位置放置恶意Program.exe文件,服务启动时将执行该文件。

7.2 AlwaysInstallElevated

检查注册表项:

reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated

如果两项都设置为1,可以使用msi包直接提权:

msiexec /quiet /qn /i C:\evil.msi

8. 防御与检测建议

8.1 系统加固措施

  • 定期审计计划任务和服务配置
  • 使用组策略限制普通用户的schtasks和sc命令使用
  • 对系统目录和关键注册表项设置严格ACL

8.2 监控建议

  • 监控敏感目录的文件创建/修改事件
  • 记录服务启动/停止日志
  • 启用Windows审计策略中的"对象访问"审计

在实际渗透测试中,这些方法往往需要组合使用。我遇到过最棘手的系统需要连续利用服务路径+计划任务+DLL劫持三种技术才能最终提权成功。关键是要有耐心,逐步收集信息,像拼图一样把各个漏洞点连接起来。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询