内网安全学习从入门到入狱-工具-CS基础.md

内网安全学习从入门到入狱-工具-Cobalt Strike(CS)基础.md

前言

  • 本文主要是看了 Cobalt Strike 各种资料后记的笔记。

  • 参考过于杂乱,如有问题请联系我

  • 手上虽然没有4.0 ,但是也要提前学习了

Cobalt Strike简介

官网收费软件 https://www.cobaltstrike.com/,Cobalt Strike许可费用为每位用户3500美元,其他的不说了

  • Cobalt Strike是用于“对手模拟”和“红队行动”的软件

  • C/S架构的商业渗透软件,适合多人进行团队协作,可模拟APT做模拟对抗,进行内网渗透

  • 个人感觉是内网利器,所以放到内网里面了

  • Cobalt Strike 主要用于团队作战,可谓是团队渗透神器,能让多个攻击者同时连接到团体服务器上,共享攻击资源与目标信息和sessions。

  • Cobalt Strike 作为一款协同APT工具,针对内网的渗透测试和作为apt的控制终端功能,使其变成众多APT组织的首选。

在这里插入图片描述

基本名词解释

C2

C2 就是 Command & Control Server 的简称,也就是命令与控制服务器。

Listener

攻击者在C2上运行的服务,可以监听Beacon的请求(check in)。

Beacon

Beacon 是 Cobalt Strike 的 Payload

植入到受感染系统中的恶意程序,可以请求C2服务器并在受感染系统中执行命令

  • 有两种通信策略(与团队服务器,CS 中以团队服务器作为 C2)

    • 异步式通信 = 频率低、速度慢
    • 交互式通信 = C2 对 Beacon 实时控制
  • 使用 HTTP/S 或 DNS 来出口网络数据

agent

agent的本意为代理。当攻击者通过代码执行,有一个agent运行在目标网络中,就可以对目标网络进行命令与控制。所以agent` 实际上相当于 Beacon payload。

服务器(Team Server)

Cobalt Strike的服务器组件。Team Server(TS)是配置和启动Listener的地方

  • 控制 - Team Server是Cobalt Strike中所有payload的主控制器,与受害者的所有连接bind/reverse都由Team Server管理。

客户端(Client GUI)

团队成员使用的图形化界面


搭建基本的流程

  1. (可选步骤)选取C2域名
  2. (可选步骤)扩展Team Server - 选取或自定义一个C2通信配置文件Malleable C2 profile 可设置有效的SSL证书等
  3. (可选步骤)扩展Client功能 - 使用AggressorScripts修改或扩展Cobalt Strike 3.* 的客户端功能
  4. 启动团队服务器Team Server
  5. Client 登录Team Server
  6. 启动监听器Listener
  7. 生成payload
  8. (可选步骤)对payload进行免杀 尽量避免杀毒软件报毒
  9. 使用任意途径以实现受害者主机执行payload
  10. 对victim主机所在网络进行后渗透操作

注:2这个后续可能另外写

C2通信配置文件 - Malleable C2 profile

  • 定义C2的通信格式,修改CS默认的流量特征,以对抗流量分析
  • 使用前强烈推荐使用团队服务器上的脚本对配置文件进行本地的单元测试以检查语法./c2lint my.profile
  • 每个Cobalt Strike团队服务器只能加载一个配置文件,如果需要多个配置文件,可以启动多个团队服务器,每个都有自己的配置文件,可从同一个Cobalt Strike客户端连接到这些服务器

简单的使用

先启动team sever

启动Team Server
 # team server 必须以 root 权限运行 以便于监听端口号为0–1023的listener
 # 默认使用50050端口 监听来自团队成员CS Client的连接请求

例如 sudo ./teamserver 192.168.0.100 123456
## 注意要给可以执行权限
## chmod 777 teamserver
image-20200304184201215
启动参数
./teamserver <host> <password> [/path/to/c2.profile] [YYYY-MM-DD]
- 1 - 必填参数`host` 本服务器外网IP/域名
- 2 - 必填参数`password` Client GUI连接时需要输入的密码
- 3 - 可选参数`Malleable C2 communication profile` 指定C2通信配置文件 该功能体现了CS的强大扩展性
- 4 - 可选参数`kill date` 指定所有payload的终止日期

启动Client客户端

./Cobalt Strike

## 注意要给可以执行权限
## chmod 777 teamserver

Client GUI 图形界面

登陆成功

发布了46 篇原创文章 · 获赞 12 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/god_zzZ/article/details/104690519