ATT&CK实战 | 红队评估一(上)
字数 2136 2025-08-18 11:39:26

ATT&CK实战 | 红队评估一(上) - 教学文档

1. 环境搭建

1.1 网络拓扑与IP规划

  • 靶场组成

    • Kali攻击机(外网网卡,DHCP自动获取IP)
    • Windows 7(双网卡):
      • 外网IP:DHCP自动获取
      • 内网IP:192.168.52.143(运行yxcms)
    • Windows 2003(内网网卡):192.168.52.141
    • Windows Server 2008 R2(内网网卡):192.168.52.138(域控主机)
  • 网络配置

    • Windows 7通过NAT模式连接Kali攻击机
    • 内网主机通过VMnet2自定义网络连接
    • Kali攻击机应与Web服务器外网网卡同网段

1.2 连通性测试

  • Windows 7可ping通其他主机,但其他主机ping Windows 7超时(防火墙过滤ICMP)
  • 后续信息收集时不能使用-sP参数进行活跃主机探测

2. 信息收集

2.1 初步探测

  1. 使用nmap探测活跃主机
  2. 发现192.168.92.130主机开放80端口
    • 获取管理员邮箱(可用于社工/钓鱼)
    • 收集版本信息(漏洞利用)
    • 获取绝对路径(SQL注入写shell)

2.2 目录扫描

  • 使用御剑扫描发现:
    • phpmyadmin登录界面
    • beifen.rar(疑似yxcms备份文件)

3. 漏洞利用

3.1 yxcms漏洞利用

3.1.1 信息泄露+弱口令

  • 访问默认后台地址(默认URL和管理员账号密码)
  • 成功登录后台

3.1.2 phpmyadmin弱口令

  • 尝试root/root弱口令成功登录

3.1.3 存储型XSS漏洞

  • 在留言板测试XSS
  • 成功触发存储型XSS(后台审核后其他用户访问也会触发)

3.1.4 后台任意文件读写

  1. 在前台模板创建新模板(内容为一句话木马)
  2. 根据备份文件查找文件路径
  3. 使用菜刀连接一句话木马获取后门

3.1.5 SQL盲注

  • 碎片删除时抓包
  • 不存在的碎片ID无返回结果(可能存在盲注)
  • 尝试使用load_file和DNS请求(失败)

3.1.6 SQL文件写入

  • 尝试outfile写入一句话木马
  • 失败(secure-file-prive变量为NULL且只读)

3.1.7 全局日志getshell

  1. 查询general_log变量配置
  2. 开启general_log并指定可访问文件
  3. 写入一句话木马到日志文件
  4. 使用菜刀连接

3.2 后渗透技巧

3.2.1 上传大马

  • 通过菜刀上传大马文件获取命令执行环境

3.2.2 反弹shell

  1. 使用msfvenom生成payload并上传
  2. 使用handler模块监听
  3. 访问test.php获取meterpreter会话

3.2.3 免杀payload

  • 使用msfvenom生成shellcode方式payload
  • 多层编码/解码
  • 关键字拆解免杀
  • 使用C语言编译器编写代码执行shellcode

3.2.4 MSF提权

  1. 绕过UAC模块提权
  2. 利用Windows漏洞提权(MS13-081、MS15-051等)
  3. 假冒令牌提权(域环境中)

3.2.5 Cobalt Strike使用

  1. 安装配置CS(服务端+客户端)
  2. 创建监听器和payload
  3. 通过cmd创建用户并开启远程桌面
  4. 防火墙绕过技巧
  5. 使用ngrok的frp创建TCP隧道

3.2.6 CS与MSF联动

  1. 通过CS的socks功能开启代理
  2. 在MSF中设置全局代理
  3. 通过SSH隧道派生meterpreter
  4. 使用psexec_command模块上线beacon

3.3 系统信息收集

  • 收集系统信息、补丁信息、安装软件
  • 使用hashdump和logonpasswords获取密码
  • 使用LaZagne工具查找本地存储密码

4. 内网渗透

4.1 内网信息收集

  1. 添加路由使MSF能访问内网
  2. ARP扫描内网
  3. 关闭防火墙后重新探测
  4. 使用nmap扫描内网主机端口和漏洞

4.2 内网攻击手法

4.2.1 MS08-067漏洞

  • 利用NetPathCanonicalize函数逻辑错误
  • 使用MSF模块攻击(注意使用正向payload)

4.2.2 SMB远程桌面口令猜测

  • 使用MSF的smb口令猜解模块爆破

4.2.3 Oracle数据库TNS服务漏洞

  1. TNS Listener远程投毒(CVE-2012-1675)
  2. TNS缓冲区漏洞(CVE-2009-1979、CVE-2002-0965)

4.2.4 RPC DCOM服务漏洞

  • 利用RPC框架处理畸形消息时的缓冲区溢出

4.2.5 MS17-010漏洞

  • 使用nmap脚本扫描确认漏洞
  • 使用MSF相关模块攻击

4.2.6 钓鱼攻击

  • 快捷方式钓鱼
  • 克隆网站钓鱼

5. 总结

本实战演练涵盖了从外网渗透到内网横向移动的完整流程,涉及多种漏洞利用和后渗透技术,包括但不限于:

  1. Web应用漏洞利用(XSS、SQL注入、文件读写)
  2. 权限提升技术(UAC绕过、假冒令牌)
  3. 内网渗透手法(MS08-067、MS17-010等)
  4. 工具联动使用(CS与MSF)
  5. 免杀技术(shellcode、多层编码)

关键点在于信息收集的全面性和漏洞利用的针对性,以及在内网环境中如何通过多种技术手段实现横向移动和权限维持。

ATT&CK实战 | 红队评估一(上) - 教学文档 1. 环境搭建 1.1 网络拓扑与IP规划 靶场组成 : Kali攻击机(外网网卡,DHCP自动获取IP) Windows 7(双网卡): 外网IP:DHCP自动获取 内网IP:192.168.52.143(运行yxcms) Windows 2003(内网网卡):192.168.52.141 Windows Server 2008 R2(内网网卡):192.168.52.138(域控主机) 网络配置 : Windows 7通过NAT模式连接Kali攻击机 内网主机通过VMnet2自定义网络连接 Kali攻击机应与Web服务器外网网卡同网段 1.2 连通性测试 Windows 7可ping通其他主机,但其他主机ping Windows 7超时(防火墙过滤ICMP) 后续信息收集时不能使用 -sP 参数进行活跃主机探测 2. 信息收集 2.1 初步探测 使用nmap探测活跃主机 发现192.168.92.130主机开放80端口 获取管理员邮箱(可用于社工/钓鱼) 收集版本信息(漏洞利用) 获取绝对路径(SQL注入写shell) 2.2 目录扫描 使用御剑扫描发现: phpmyadmin登录界面 beifen.rar(疑似yxcms备份文件) 3. 漏洞利用 3.1 yxcms漏洞利用 3.1.1 信息泄露+弱口令 访问默认后台地址(默认URL和管理员账号密码) 成功登录后台 3.1.2 phpmyadmin弱口令 尝试root/root弱口令成功登录 3.1.3 存储型XSS漏洞 在留言板测试XSS 成功触发存储型XSS(后台审核后其他用户访问也会触发) 3.1.4 后台任意文件读写 在前台模板创建新模板(内容为一句话木马) 根据备份文件查找文件路径 使用菜刀连接一句话木马获取后门 3.1.5 SQL盲注 碎片删除时抓包 不存在的碎片ID无返回结果(可能存在盲注) 尝试使用load_ file和DNS请求(失败) 3.1.6 SQL文件写入 尝试outfile写入一句话木马 失败(secure-file-prive变量为NULL且只读) 3.1.7 全局日志getshell 查询general_ log变量配置 开启general_ log并指定可访问文件 写入一句话木马到日志文件 使用菜刀连接 3.2 后渗透技巧 3.2.1 上传大马 通过菜刀上传大马文件获取命令执行环境 3.2.2 反弹shell 使用msfvenom生成payload并上传 使用handler模块监听 访问test.php获取meterpreter会话 3.2.3 免杀payload 使用msfvenom生成shellcode方式payload 多层编码/解码 关键字拆解免杀 使用C语言编译器编写代码执行shellcode 3.2.4 MSF提权 绕过UAC模块提权 利用Windows漏洞提权(MS13-081、MS15-051等) 假冒令牌提权(域环境中) 3.2.5 Cobalt Strike使用 安装配置CS(服务端+客户端) 创建监听器和payload 通过cmd创建用户并开启远程桌面 防火墙绕过技巧 使用ngrok的frp创建TCP隧道 3.2.6 CS与MSF联动 通过CS的socks功能开启代理 在MSF中设置全局代理 通过SSH隧道派生meterpreter 使用psexec_ command模块上线beacon 3.3 系统信息收集 收集系统信息、补丁信息、安装软件 使用hashdump和logonpasswords获取密码 使用LaZagne工具查找本地存储密码 4. 内网渗透 4.1 内网信息收集 添加路由使MSF能访问内网 ARP扫描内网 关闭防火墙后重新探测 使用nmap扫描内网主机端口和漏洞 4.2 内网攻击手法 4.2.1 MS08-067漏洞 利用NetPathCanonicalize函数逻辑错误 使用MSF模块攻击(注意使用正向payload) 4.2.2 SMB远程桌面口令猜测 使用MSF的smb口令猜解模块爆破 4.2.3 Oracle数据库TNS服务漏洞 TNS Listener远程投毒(CVE-2012-1675) TNS缓冲区漏洞(CVE-2009-1979、CVE-2002-0965) 4.2.4 RPC DCOM服务漏洞 利用RPC框架处理畸形消息时的缓冲区溢出 4.2.5 MS17-010漏洞 使用nmap脚本扫描确认漏洞 使用MSF相关模块攻击 4.2.6 钓鱼攻击 快捷方式钓鱼 克隆网站钓鱼 5. 总结 本实战演练涵盖了从外网渗透到内网横向移动的完整流程,涉及多种漏洞利用和后渗透技术,包括但不限于: Web应用漏洞利用(XSS、SQL注入、文件读写) 权限提升技术(UAC绕过、假冒令牌) 内网渗透手法(MS08-067、MS17-010等) 工具联动使用(CS与MSF) 免杀技术(shellcode、多层编码) 关键点在于信息收集的全面性和漏洞利用的针对性,以及在内网环境中如何通过多种技术手段实现横向移动和权限维持。