【CobaltStrike】CobaltStrike简介与使用

CobaltStrike简介与使用

0x00 简介

1. 什么是CobaltStrike?可以用来做什么?

CobatStrike是一款基于java编写的全平台多方协同后渗透攻击框架。CobaltStrike集成了端口转发、端口扫描、socket代理、提权、钓鱼、远控木马等功能。该工具几乎覆盖了APT攻击链中所需要用到的各个技术环节。

 

2. CobaltStrike的文件结构

│  agscript 拓展应用的脚本
│  c2lint  检查profile的错误异常
│  cobaltstrike
│  cobaltstrike.jar 客户端程序
│  icon.jpg
│  license.pdf
│  readme.txt
│  releasenotes.txt
│  teamserver  服务端程序
│  update
│  update.jar
│
└─third-party 第三方工具
     README.vncdll.txt
     vncdll.x64.dll
     vncdll.x86.dll

 

3. CobaltStrike支持个人定制

  • 修改源码进行深度的裁剪定制(如免杀)
  • 修改c2配置,改变协议原本流量特征以躲避各种ids/ips拦截
  • 使用AggressorScript脚本来加强自身,能够扩展菜单栏,Beacon命令行,提权脚本等
  • 可以引用其他的通讯框架ExternalC2,ExternalC2是由Cobalt Strike提出的一套规范/框架,它允许黑客根据需要对框架提供的默认HTTP(S)/DNS/SMB C2 通信通道进行扩展。

 

0x01 使用CobaltStrike

以下为CobaltStrike软件包里面所包含的内容,要开始使用运行软件包里的程序,需要在服务器和客户端都安装并配置好java运行环境

1. 启动CobaltStrike

CobaltStrike分为客户端和服务端。Cobalt Strike 需要团队服务器才能使用,服务端被称为团队服务器,是Beacon有效负载的控制器,团队服务器还会存储CobaltStrike收集的数据,并管理日志记录teamserver就为服务端的运行程序。

1) 启动teamserver

CobaltStrike团队服务器teamserver必须以root身份运行在所支持的操作系统上。 需要文件 teamserver 与 cobaltstrike.jar。

要启动团队服务器,必须以root方式启动运行,如下:

sudo ./teamserver   [/path/to/c2.profile] [YYYY-MM-DD]

# 执行./teamserver的时候,有两个必要参数和两个可选参数
#  :是团队服务器的 IP 地址。Cobalt Strike 使用此值作为其默认的服务器主机
#  :是团队成员用于将 Cobalt Strike 客户端连接到团队服务器的密码
# [/path/to/c2.profile] :指定 Malleable C2 通信配置文件
# [YYYY-MM-DD] :此参数指定以 YYYY-MM-DD 为格式的结束日期。团队服务器会将此结束日期嵌入其生成的每个 Beacon 中。 Beacon 有效负载将拒绝在此结束日期或之后运行。如果 Beacon 有效载荷在此结束日期或之后唤醒,它也将被运行退出。

 

备注:如上截图,当团队服务器启动时,它将发布团队服务器 SSL 证书的 SHA256 哈希值。您应 该将此哈希值分发给您的团队成员。当您的团队成员连接时, Cobalt Strike 客户端会在向团队服务器进行身份验证之前询问是否验证此哈希。这是防止中间人攻击的重要保护。

 

2) 启动Cobalt Strike Client

使用Cobalt Strike 客户端(也就是安装包里的cobaltstrike.jar程序)连接到团队服务器 ,运行的时候不用添加任何参数。具体方式如下:

java -jar cpbaltstrike.jar   # 直接双击或者执行该命令

 

 

备注:客户端需要填入参数的含义

Host:指定团队服务器的 ip 地址

Port: 默认端口是 50050.很少有人更改此设置。

User:团队服务器上的用户名称,此处可任意填写自己想使用的用户名。

Password:填入团队服务器的密码,也就是我们启动团队服务器使得第二个参数值。

点击Connect 连接到 CobaltStrike 团队服务器。如果这是您与此团队服务器的第一次连接, Cobalt Strike将询问您是否识别此团队服务器的 SSL 证书的 SHA256 哈希值。如果需要,请点击 OK, Cobalt Strike 客户端将连接到服务器。 Cobalt Strike 还会记住这个SHA256 哈希,以便以后方便连接。

可以通过 Cobalt Strike - > Preferences - > Fingerprints 管理这些哈希值。

 

Cobalt Strike 会跟踪您连接的团队服务器并记住您的信息。从连接对话框的左侧选择其中一个团队服务器配置文件,以使用其信息自动填充连接对话框。我们也可以通过 Cobalt Strike - > Preferences - > Team Servers 修改此连接。

 

到此呢,对于CobaltStrike的服务端和客户端都已经启动完成。接下来就是对CobaltStrike的各个功能模块进行详细的了解。

 

0x02 参考来源

404师傅:https://github.com/aleenzz/Cobalt_Strike_wiki

backlion师傅:https://www.cnblogs.com/backlion/

klion师傅:https://t.zsxq.com/JufyZzj

转载于:https://www.cnblogs.com/ldhbetter/p/10684279.html

你可能感兴趣的:(【CobaltStrike】CobaltStrike简介与使用)