CyberStrikeLab-Lab16 靶场渗透测试教学文档
一、靶场概述与信息搜集
本靶场为一个包含多个网络节点的综合渗透测试环境,包含web1、web2、cslab和DC(域控制器)等多个目标系统。
1.1 初始信息搜集与端口扫描
使用fscan工具对目标IP(10.66.5.2)进行全端口扫描,识别出以下开放端口及服务:
- 135端口:Windows RPC服务
- 139端口:NetBIOS服务
- 445端口:SMB文件共享服务
- 3306端口:MySQL数据库(版本5.7.26)
- 3389端口:Windows远程桌面服务(RDP)
- 5000端口:HTTP服务(Joomla CMS)
- 5985端口:WinRM服务(HTTP API)
- 8012端口:HTTP服务(kkFileView文件预览系统)
目标系统主机名为:WIN-AJIGQ5JSPVF
网络接口IP地址:10.66.5.2 和 10.50.38.5
二、Web1系统渗透测试
2.1 kkFileView系统探测
8012端口运行的kkFileView系统经过测试,常见的公开漏洞无法利用,需要寻找其他攻击路径。
2.2 Joomla CMS漏洞利用
5000端口运行的是Joomla内容管理系统,通过以下步骤进行渗透:
识别阶段:
- 通过网页图标特征识别出Joomla框架
- 访问
/administrator路径确认后台管理界面
漏洞利用:
使用API信息泄露漏洞获取数据库凭据:
- 访问URL:
http://10.66.5.2:5000/api/index.php/v1/config/application?public=true - 从响应中获取MySQL数据库连接信息
数据库访问:
- 使用Navicat或类似工具连接MySQL数据库
- 查看用户表中的密码字段
- 发现远程桌面服务(RDP)凭据
横向移动:
- 使用获取的凭据通过3389端口RDP登录系统
- 成功获取第一个flag
三、Web2系统渗透测试
3.1 建立Cobalt Strike代理
首先建立Cobalt Strike会话,作为后续攻击的跳板。
3.2 端口扫描发现
对IP地址10.50.38.66进行端口扫描,发现以下开放端口:
- 135端口
- 139端口
- 445端口
- 3389端口
- 5985端口
目标系统主机名:WIN-TS1PMC919E8
网络接口IP地址:10.50.38.66 和 10.35.9.7
3.3 Astrbot系统弱口令利用
- 发现常见的Astrbot漏洞无法利用
- 尝试弱口令登录后台:用户名
astrbot,密码admin123 - 成功进入后台系统
3.4 信息搜集与凭据获取
在后台系统中搜集到管理员密码:cs1ab@ow
3.5 横向移动
使用获取的凭据进行Pass-the-Hash攻击,成功横向移动到目标系统。
四、CSLAB系统渗透测试
4.1 建立二层代理
在已控制的主机上建立二层网络代理,实现对内网的进一步探测。
4.2 Tomcat漏洞利用
发现Tomcat 9.0.97版本存在CVE-2024-50379条件竞争RCE漏洞
漏洞利用步骤:
- 使用专门编写的Python exploit脚本
- 脚本通过并发请求触发条件竞争漏洞
- 利用AES加密的JSP Webshell实现代码执行
Exploit关键代码特征:
- 使用多线程并发请求
- 自定义JSP Webshell包含AES加密解密功能
- 通过HTTP头传递payload长度信息
- 支持从url.txt文件批量读取目标
攻击结果:
- 成功上传Webshell
- 通过TCP Beacon建立Cobalt Strike会话
- 获得系统控制权限
五、域控制器渗透测试
5.1 权限信息搜集
通过信息搜集发现域用户cslab属于Backup Operators Group组
5.2 Backup Operators权限滥用
Backup Operators组成员具有备份文件权限,可利用此权限进行特权提升。
利用工具:
使用BackupOperatorToolkit工具进行利用,该工具可从GitHub获取:
https://github.com/improsec/BackupOperatorToolkit/releases/tag/release
攻击命令:
BackupOperatorToolkit.exe DUMP C:\ \DC.cyberstrike.lab
攻击原理:
- Backup Operators组成员可以备份任意文件
- 通过备份域控制器的系统文件
- 从备份中提取敏感信息(如NTDS.dit数据库)
- 获取域管理权限
5.3 最终权限获取
成功利用Backup Operators权限获取域控制器上的flag,完成整个靶场的渗透测试。
六、关键技术总结
- 信息泄露漏洞利用:Joomla API配置信息泄露导致数据库凭据获取
- 弱口令攻击:Astrbot系统管理员弱口令爆破
- 条件竞争漏洞:Tomcat CVE-2024-50379漏洞利用
- 权限滥用攻击:Backup Operators组成员权限提升到域管理员
- 横向移动技术:Pass-the-Hash、RDP凭据重用等
- 代理与隧道技术:Cobalt Strike代理、二层网络穿透
七、防御建议
- API安全:避免在生产环境开启调试或信息泄露接口
- 密码策略:实施强密码策略,避免使用默认或弱口令
- 权限最小化:严格控制Backup Operators等特权组的成员
- 补丁管理:及时更新Tomcat等中间件,修复已知漏洞
- 网络隔离:实施网络分段,限制横向移动路径
- 日志监控:加强对特权操作和异常登录的监控
文档未详述所有技术细节,但基于我所掌握的知识,本次渗透测试涉及了从外部侦察到域控提权的完整攻击链,展现了现实环境中攻击者可能使用的多种技术和工具组合。