Cobalt Strike学习

比较流行的三款后渗透工具:

Cobalt Strike Metasploit (图形化:Armitage) Empire

Cobalt Strike简介

Cobalt Strike是一款由Java编写的全平台多方协同渗透测试框架,在3.0版本之前它基于Metasploit框架工作,相当于增强版的Armitage,在3.0后的版本已独立成一个为目标攻击和模拟对抗而设计的渗透测试平台,主要用于执行有目标的攻击和模拟高级威胁者的后渗透行动。Cobalt Strike集成了端口转发、端口扫描、socket代理、提权、钓鱼、远控木马等功能。该工具几乎覆盖了APT攻击链中所需要用到的各个技术环节,且其最大的优点在于可以进行团队合作和优越的UI界面。

Cobalt Strike架构

Cobalt Strike分为服务器(TeamServer)组件和客户端(Client)组件。在Cobalt Strike工作中,服务器可以有多个,客户端也可以有多个,客户端与团队服务器是多对多的关系,实现了团队的分布式协作。

团队服务器(TeamServer)

服务器组件,也就是团队服务器,是Beacon payload的控制器,也是Cobalt Strike社会工程功能的托管主机。

团队服务器还存储由Cobalt Strike收集的数据,并管理日志记录。

Cobalt Strike团队服务器必须在受支持的Linux系统上运行。要启动一个Cobalt Strike团队服务器,需要使用Cobalt Strike Linux安装包中的teamserver脚本文件。

客户端(Client)

Cobalt Strike客户端是团队成员实现各种攻击功能的主体,也是Cobalt Strike的核心。

使用Cobalt Strike客户端,必须要连接至团队服务器,Cobalt Strike客户端支持Windows、Linux、MacOS多个平台。

分布式的团队协作

Cobalt Strike可以协同红队的分散行动,使用一个或更多的teamServer并让你的团队与其建立连接,分阶段的筹划整个攻击流程。

一旦连接至同一个teamServer,client将:

  1. 使用相同的会话
  2. 分享主机、捕获的数据和下载的文件
  3. 通过一个共享的事件日志交流

当连接到多个团队服务器,Cobalt Strike客户端会汇总所有它连接的团队服务器的监听器。这种聚合允许攻击者从一台团队服务器引用托管在另一台团队服务器上的恶意网站、钓鱼邮件等资源。在你行动的末期,Cobalt Strike的报告功能会查询所有你连接到的团队服务器,合并这些数据来描述一个完整的事件。

多台团队服务器

架构多台团队服务器(例如钓鱼、攻击、后渗透、持久化),也就是分解整个攻击链,这是分布式行动模型的基本思想。

启动Cobalt Strike

启动团队服务器

1
2
3
4
5
chmod 777 teamserver                       #如teamserver没权限需要赋予权限
./teamserver 团队服务器ip 密码 #密码是客户端连接团队服务器需要提供的密码

For Example:
./teamserver 192.168.230.148 123456 #建议公网不要采用弱密码
image-20220426142418722

针对teamserver的特征隐藏下面再讲。

启动客户端连接

Windows中,运行start.bat;Linux中,运行start.sh

或者

1
java -XX:+AggressiveHeap -XX:+UseParallelGC -jar cobaltstrike.jar

输入团队服务器ip、端口、用户名(随意)、密码(上面设置的密码),点击“连接”。

image-20220426143150725

出现指纹校验对话框,显示服务端SSL 证书的SHA256哈希值,每次创建Cobalt Strike团队服务器时生成的指纹都不一样,请确认它是否和你的服务端启动时显示的指纹相匹配,以防止中间人攻击。Cobalt Strike还会记住这个SHA256哈希,方便以后连接。点击 “是” 。

image-20220426143558578

进入操作界面,Cobalt Strike就启动成功了。

image-20220426143640053

Cobalt Strike Client界面功能

Cobalt Strike Client界面分为两部分,界面的顶部是会话或目标的视觉化展示,底部展示了与之交互的Cobalt Strike功能或会话的标签页。可以点击这两部分之间的区域调整这两个区域的大小。

菜单栏

Cobalt Strike

New Connection 创建新连接,加入服务端
Preferences 偏好设置,设置界面样式
Visualization 视图模式,包括Pivot GraphSession TableTarget Table三种
VPN Interfaces VPN接口管理
Listenrs 监听器管理
Script Manager 脚本管理

View-视图

Applications 靶机的应用信息
Credentials 查看从靶机获取的账户密码
Downloads 查看从靶机下载的文件
Event Log 事件日志,可用于团队聊天
Keystrokes 键盘记录
Proxy Pivots 查看代理
Screenshots 查看屏幕截图
Script Console 脚本控制台,用于加载脚本
Targets 显示目标靶机
Web Log Web日志

Attacks-攻击

Packages 生成各种后门,包括HTA、OFFICE宏病毒、多种语言的Payload、EXE木马等
Web Drive-by Web服务配置与管理,包括管理Web服务、克隆网站、开启Web服务供下载文件等
Spear Phish 鱼叉式攻击

Reporting-报告

Activity report 生成操作报告
Hosts report 生成主机报告
Indicators of Compromise 生成威胁报告
Sessions report 生成会话报告
Social engineering report 生成社会工程学报告
Tactics, Techniques, and Procedures 生成策略、技巧和程序报告
Reset Data 重置数据
Export Data 导出数据

工具栏

工具栏

可视化展示

Cobalt Strike提供三种可视化展示,包括Pivot GraphSession TableTarget Table,可以通过工具栏的Cobalt StrikeVisualization 在不同的可视化形式之间切换。

Pivot Graph(拓扑图模式)

可以很清楚地查看各主机之间的关系,该视图在大规模内网渗透和APT中非常直观和实用。

image-20220429135321016

Session Table(会话列表模式)

这个视图是我们渗透测试中最为常用的,它主要显示的是当前所有的会话,会话的权限,会话运行在目标机上的pid等等

Target Table(目标列表模式)

显示在beacon中执行主机存活扫描/端口扫描后探测出的存活的主机。

image-20220429135452128

Cobalt Strike使用

监听器listener

通过 Cobalt StrikeListeners 打开监听器标签页,这里会列举出所有配置的监听器,并可以对监听器进行管理。

image-20220429141619873

选择Add,添加一个监听器。

image-20220429141743364

监听器分为

内部的Listener

  1. Beacon DNS
  2. Beacon HTTP
  3. Beacon HTTPS
  4. Beacon SMB
  5. Beacon TCP

内部的Listener

  1. External C2
  2. Foreign HTTP
  3. Foreign HTTPS

如下创建一个HTTP监听器。

image-20220429142800393

创建攻击Attacks

Packages生成后门

Packages生成的后门包括:

HTML Application 生成一个恶意HTML Application木马,后缀格式为 .hta。
MS Office Macro 生成office宏病毒文件
Payload Generator 生成各种语言版本(C、C#、COM Scriptlet、Java等)的payload
Windows Executable 生成32位或64位的exe和基于服务的exe、DLL等后门程序
Windows Executable(S) 生成exe、DLL等后门程序,其中包含Beacon的完整payload,不需要阶段性的请求。

如下生成一个32位Windows Executable。选择刚创建的监听器,点击Generate,保存生成的后门文件。

image-20220429143810603 image-20220429144651928

Beacon上线

将生成的后门程序拷贝到受控主机上,点击运行。Cobalt Strike上线成功。

默认sleep为60s,可以通过右键对象 → 会话Sleep… 修改。

image-20220429144923834

参考

https://blog.ateam.qianxin.com/CobaltStrike4.0%E7%94%A8%E6%88%B7%E6%89%8B%E5%86%8C_%E4%B8%AD%E6%96%87%E7%BF%BB%E8%AF%91.pdf
https://hstechdocs.helpsystems.com/manuals/cobaltstrike/current/userguide/content/topics/welcome_main.htm#_Toc65482705


Cobalt Strike学习
http://wangchenchina.github.io/2022/04/29/Cobalt-Strike学习/
作者
Demo
发布于
2022年4月29日
许可协议