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 弱密钥漏洞利用

  1. 信息收集:访问目标IP,识别出目标系统使用了Apache Shiro框架进行身份认证。
  2. 漏洞探测与利用
    • 使用综合渗透工具(如ShiroAttack2、shiro_rce_tool等)对Shiro的rememberMe Cookie进行弱密钥爆破。
    • 关键操作:工具会尝试使用常见的Shiro默认密钥列表进行AES解密和反序列化探测。
  3. 结果:成功匹配到有效的加密密钥,证实存在Shiro反序列化漏洞,为后续攻击铺平道路。

2.2 内存马注入与权限维持

为了规避安全软件的文件扫描,采用无文件内存马技术。

  1. 注入内存马:利用已识别的Shiro反序列化漏洞,将Behinder(冰蝎)或AntSword(蚁剑)的Java内存马Payload注入到目标JVM中。
  2. 获取初始权限
    • 使用蚁剑客户端连接注入的内存马WebShell,成功获取第一个Flag(Flag1),证明漏洞利用成功。
  3. 建立持久化控制
    • 考虑到后续内网渗透需要更强大的C2(命令与控制)功能,通过蚁剑上传Cobalt Strike的artifact.exe木马文件。
    • 在蚁剑中执行该木马,使目标主机上线到Cobalt Strike团队服务器,建立Beacon会话。这提供了更稳定的反向连接、丰富的内网渗透模块和团队协作能力。

第三章:内网横向移动

获得边界主机权限后,进行内网信息收集和横向扩展。

3.1 内网探测与代理搭建

  1. 发现双网卡:在已控的边界主机上执行ipconfig /all,发现其除了外网IP,还存在内网网卡,IP属于10.10.10.0/24网段。这证实该主机是通往内网的跳板。
  2. 建立隧道:为了从攻击机直接访问内网资源,需要在跳板机上搭建代理。
    • 方法:上传gost等代理工具到跳板机,并执行命令建立SOCKS5代理隧道。
    • 示例命令gost -L socks5://:1080,在跳板机的1080端口启动SOCKS5服务。
  3. 配置攻击机:在攻击机(Kali)上配置proxychains,将网络流量导向该SOCKS5代理,从而所有扫描和攻击流量都能穿透到内网。

3.2 横向移动 - 攻陷苹果CMS主机 (10.10.10.8)

  1. 主机发现与端口扫描:通过代理使用fscan等内网扫描工具对10.10.10.0/24网段进行扫描,发现10.10.10.8主机开放Web服务,并识别出苹果CMS (Maccms)应用。
  2. 后台弱口令爆破
    • 定位到Maccms后台登录页面(通常为/admin/admin.php)。
    • 使用常见弱口令字典进行爆破,成功使用admin / cslab(安全码也为cslab)登录后台管理系统。
  3. 任意文件读取漏洞利用
    • 通过对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。
  4. 发现遗留WebShell并提权
    • 通过任意文件读取漏洞,发现网站目录下已存在一个他人遗留的WebShell文件(如1.php)。
    • 读取该WebShell文件内容,获取连接密码(maccms)。
    • 使用蚁剑直接连接此WebShell,获得该主机的控制权。
  5. 权限提升与信息收集
    • 通过已获取的WebShell,上传并执行Cobalt Strike的木马,使10.10.10.8主机上线CS。
    • 在CS会话中执行hashdumpmimikatz命令,成功抓取该Windows主机的本地用户密码哈希(NTLM Hash)。

第四章:横向移动 - 攻陷Joomla主机 (10.10.10.66)

  1. 服务识别:扫描发现10.10.10.66:8080运行着Joomla 3.6.x版本。该版本存在已知的漏洞。
  2. 漏洞利用(后台模板编辑RCE)
    • 访问Joomla后台登录页(如/administrator)。
    • 由于目标可能存在默认口令或通过其他信息推测出的口令,尝试登录后台。(文档未明确说明如何获取后台密码,但此步骤是前提)
    • 登录后台后,找到“模板管理”->“模板编辑”功能。
    • 通过编辑模板文件(如index.php),插入PHP系统命令执行代码,例如:<?php system($_GET[‘cmd’]); ?>
    • 保存后,访问该模板文件即可执行系统命令。这是一种通过后台编辑功能实现的远程代码执行(RCE)。
  3. 自动化脚本利用
    • 为提高效率,可编写Python脚本自动化此过程。脚本需实现:
      1. 通过代理(proxychains)访问目标。
      2. 模拟登录Joomla后台。
      3. 定位模板编辑接口,发送POST请求创建或修改一个包含恶意代码的PHP文件(如cmd.php)。
  4. 获取权限
    • 成功执行whoami命令,显示权限为nt authority\system,即最高系统权限。
    • 通过此RCE漏洞,上传CS木马并执行,使10.10.10.66主机上线,并获取Flag3。

第五章:域环境渗透与攻克域控

在控制多台内网主机后,最终目标指向域控制器(10.10.10.5)。

5.1 信息收集与攻击面发现

  1. 发现Active Directory证书服务(AD CS):在已控制的10.10.10.66主机上,通过服务枚举或端口扫描,发现其安装了AD CS服务器角色。这开启了基于证书的攻击面,如ESC1、ESC8等提权漏洞。
  2. 域内关系分析:使用BloodHound等域环境分析工具,收集已控主机的会话、本地管理员组、域组成员关系等信息,绘制攻击路径,寻找通往域管理员的最短路径。

5.2 非预期解法:针对性弱口令爆破

由于AD CS攻击路径可能较为复杂,攻击者尝试了更直接的方案。

  1. 字典生成:观察整个靶场环境,发现多处使用了cslabcs1ab等字符串作为密码或安全码。基于此信息,生成针对性字典,例如包含cslabcs1abcs1ab@iwucslab@123等变体的字典。
  2. 对域管理员账户爆破
    • 目标:域控制器10.10.10.5上的Administrator账户。
    • 工具:使用hydramedusacrackmapexec等工具,通过SMB、WinRM或RDP协议进行爆破。
    • 结果:成功爆破出域管理员密码为cs1ab@iwu
  3. 横向连接域控
    • 使用Impacket工具包中的wmiexec.py脚本,凭借获取的域管理员凭据(用户名Administrator,密码cs1ab@iwu)在域控制器上建立命令执行会话。
    • 命令示例python3 wmiexec.py domain/administrator:cs1ab@iwu@10.10.10.5
  4. 完全控制域控
    • 通过wmiexec获得的Shell,上传CS木马并执行,最终在域控制器10.10.10.5上成功上线Beacon会话。
    • 在域控制器上执行ntdsutil或使用mimikatzlsadump::dcsync功能,导出整个Active Directory域的所有用户哈希(NTLM Hash),标志着对整个域环境的完全控制,渗透任务完成。

第六章:总结与关键知识点

  1. 弱口令是致命弱点:贯穿整个渗透测试,从RuoYi后台、苹果CMS后台到域管理员账户,弱口令是突破口的关键。
  2. 框架与组件漏洞:Apache Shiro的弱密钥、老旧版本Joomla的后台RCE,是获取初始权限和内网横向移动的重要抓手。
  3. 攻击链构建:外网突破 -> 代理搭建 -> 内网扫描 -> 漏洞利用 -> 凭据窃取 -> 横向移动 -> 域信息收集 -> 最终攻击,形成完整闭环。
  4. 工具链协同:综合使用了蚁剑(WebShell管理)、Cobalt Strike(C2与横向移动)、Impacket(协议利用)、fscan(内网扫描)、BloodHound(域分析)等多种工具,各司其职。
  5. 免杀与持久化:使用Java内存马规避文件查杀,并快速迁移到功能更强大的C2框架进行持久化控制。
  6. 灵活的攻击思路:在发现AD CS这条“预期”路径时,同时尝试基于已有信息生成字典进行爆破的“非预期”解法,体现了渗透测试中多线并行的思维。
相似文章
相似文章
 全屏