渗透测试神器CobaltStrike使用详解

2021-10-27|

CobaltStrike是一款渗透测试神器,被业界人称为CS神器。CobaltStrike分为客户端与服务端,服务端是一个,客户端可以有多个,可被团队进行分布式协团操作。

CobaltStrike集成了端口转发、服务扫描,自动化溢出,多模式端口监听,windows exe 木马生成,windows dll 木马生成,java 木马生成,office 宏病毒生成,木马捆绑。钓鱼攻击包括:站点克隆,目标信息获取,java 执行,浏览器自动攻击等等强大的功能!

一、安装使用

安装

系统环境:需要java环境Oracle Java 1.8,Oracle Java 11

下载解压就可以使用


使用

首先要运行服务端,如果你有个外网的机器,可以把服务端运行于外网的机器上,也可以运行于本地


服务端启动命令

windows
运行teamserver.bat
teamserver.bat 1.1.1.1 123456


linux

需要有足够权限,可以通过chmod +x teamserver 来提高权限
./teamserver 1.1.1.1 123456

这里为设定一个服务端,前面为服务端所在机器的ip ,后面为密码

启动服务端后,我们就可以启动客户端去连接了


运行

windows

双击start.bat运行客户端,选择相应服务器连接

linux

需要有足够权限,可以通过chmod +x start.sh 来提高权限
切换到相应目录下,使用start.sh来运行客户端

二、监听器 listner

cobaltstrike里的监听器类似于msf里的exploit,一个监听器是一个payload配置信息,同时也用于cobaltstrike起的一个用于接受来自这个payload的连接指示,beacon 是cobaltstrike的内置监听器

使用

点击配置监听,就会列举出所有配置的payload和监听器

Add添加新的监听
edit编辑已有监听
remove删除监听
restart重启监听


要添加监听器可以点击Add,这里的监听器根据所通过的协议和监听器位置分为8种

不同监听介绍

1.beacon dns
2.beacon http
3.beacon https
4.beacon smb
5.beacon tcp
6.external c27.foreign reverse_http8.foreign reverse_https

这里选择不同协议的监听器就是让这个beacon通过不同的协议和方式去出口网络

beacon dns
beacon dns通过使用dns来进行通信,传达命令,攻击机将请求信息这些通过dns域名中转发送给被攻击者

DNS host中填入所用到的dns域名,host(stager) 处也同样填入dns域名信息,port处填入端口,用于重定向

beacon http

通过http来进行通信,传达命令


http hosts 和 http host(stager) 都填写攻击机的ip或C2域名,http port处填写端口,bind处的端口用于绑定web服务端口,一般用于重定向,host header用于域前置技术,用于隐藏C2,proxy 用于代理设置


beacon https

通过https来进行通信,传达命令,和http的区别在于https加密了信息


beacon smb

beacon smb使用命名管道进行通信,将流量封装在smb协议里,smb这个一般不用于直接生成可用载荷,一般结合PsExec 或 stageless payload使用


beacon tcp

通过tcp协议进行通信,可以通过cobaltstrike里的stageless payload去运行,其他的和beacon smb 差不多,但是tcp的可以直接生成载荷去运行


external c2

external c2允许第三方程序充当cobaltstrike的teamserver 和beacon之间处理C2通信的接口,通常用于目标无法出网的情况,第三方程序使用外置的C2服务器和cobaltstrike服务器交互


foreign reverse_http

把会话信息传递给msf,将目标权限通过http的方式传给msf


foreign reverse_https
和foreign reverse_http利用方式类似,只不过通过https去传递会话信息

三、木马

生成后门

常用生成后门方法有

HTML Application
MS Office Macro
Payload Generator
Windows Executable
Windows Executables

1.HTML Application

一个html应用程序类型的后门,有三种文件生成方式,分别为VBA,Powershell,Executable这三种方式


2.MS Office Macro

MS Office Macro生成一个宏文件,该宏文件用于嵌入Microsoft word 或 Microsoft execl文件里,生成该宏文件并提供嵌入的方法


首先选择MS Office Macro


选择好监听器

直接生成利用的代码

复制下来,然后放到文档的宏里去

这里用Microsoft Office Word 2003去测试,首先打开word文档,点击工具找到宏
然后添加进去

然后在文档里启用该宏,得到会话

3.Payload Generator

使用不同的格式语言导出cobaltstrike的shellcode,然后使用其他语言去编译生成,

使用时选择好监听器,并选择不同的输出格式

选择监听器,再选择相应输出的语言

4.Windows Executable

生成一个可执行的exe木马

选择好监听器和输出的文件格式

分别有

windows exe,windows server exe,windwos DLL 32位,windwos DLL 64位


windows exe

生成一个windwos可执行文件


windows server exe
windows server exe也是一个windwos可执行文件


和上面的区别在于,windows server exe可响应Service Control Manager 命令,windows server exe可作为服务器自启动的exe,而一般生成的windows exe则不能


windwos DLL 32位,windwos DLL 64位分别生成不同位数的dll文、生成的dll文件可以通过捆绑等方式进行利用

5.Windows ExecutableS

和Windows Executable区别在于,它是直接导出一个beacon,这个beacon是直接写好的32或64位的dll,直接和监听器连接,传输数据和命令,它还可以导出powershell脚本,还可以通过raw选项调出.bin 文件,使用和Windows Executable差不多



生成payload,目标机点击触发上线


钓鱼攻击


cobaltstrike里有多种钓鱼攻击的方式,适用于不同环境

web服务管理


用于管理cobaltstrike web服务器上的可用程序,通过文件下载去添加管理

克隆网站

通过克隆复制站点,诱使受害者访问


克隆网址:添加目标站点的URL,此处需要添加完整的url,包含http协议和端口


local url:本地站点的克隆路径
local host:本地站点主机ip
local port:本地站点端口
Attack: 此处用于添加克隆站点后执行的漏洞脚本


点击clone后,会返回生成的克隆站点地址

访问测试站点地址

开启键盘记录后就可以在web日志中看到输入记录

attack处可以结合Scripted Web Delivery攻击,通过Scripted Web Delivery生成的payload来在克隆站点添加payload去攻击,也可以通过在生成后门处的HTML Application


生成一个后门去结合使用


文件下载


作用是提供一个文件管理,并且我们可以修改里面的mine信息,上传的文件会发送到团队服务器里,供团队成员使用


实际使用时,可以上传后门等攻击文件,结合克隆站点里的attack使用


Scripted Web Delivery


生成一个payload(类似Windows Executable生成的),放在cobaltstrike的服务器上,并生成一个下载运行的命令语句,方式有powershel,python,

bitsadmin(windows下载命令)

以powershell举例


目标机执行后,就会从设置的cobaltstrike的服务器的站点上下载并运行,生成新的会话

签名applet攻击

启动一个web服务器来托管一个自签名的java applet,被攻击者会被提示给这个applet权限来运行,一但允许就可以获得权限


选择相应的监听器进行攻击

智能攻击

在一个程序里包含多种漏洞利用方式,启动一个web服务器去托管applet,可以分析环境并决定使用哪种漏洞利用方式


注:此攻击在目前新的环境中难以发挥作用


邮件钓鱼

内容

targets

选择保存有发送目标的文档


tmplate
邮件模板,在邮箱里导出一个邮件文件


attachment
附件,可以通过上传恶意附件来进行攻击,典型的可以通过和MS Office Macro结合发送恶意的word文档来结合攻击


Embed URL
需要嵌入的站点地址,此处可嵌入钓鱼站点的地址


Mail server
用于配置smtp邮件服务,用于向邮件服务器进行身份验证,或将邮件服务器设置为目标的开放中继或邮件交换记录


SMTP Host和Port填入邮件服务器地址,端口
Username和password处填入用户名和密码
Random Delay处填入设置的延时发送邮件时间

Bounce to用于模仿发件人,提高钓鱼的成功率

设置完之后就可以发送进行攻击了

可以先通过Preview先预览下效果

四、功能

常用功能有很多

上部选项栏

攻击部分已在上面的木马处写了相关功能及使用方式

cobaltstrike选项

新建连接:


用于一个新的cobaltstrike服务端进行连接


设置:cobaltstrike的设置,里面有多种选项


1.cobalt strike


用于配置cobalt strike


标签处用于设置标签颜色


工具栏处用于设置是否显示工具栏


VNC端口处用于设置VNC端口的范围


字体设置处用于设置字体

2.Console


用于 Console的界面设置


3.Fingerprints


用于设置服务器SSL证书的SHA-1哈希值的列表,可以操作删除


4.Graph


设置cobaltstrike的视图外表


选择字体及颜色,还可以选择界面布局方式(建议默认)


5.报告


用于自定义报告模板,设置颜色。logo并加载自定义报告


6.状态栏


用于设置cobaltstrike里控制台的状态栏外观,可以设置它的颜色


7.服务器


显示配置文件里已有的服务器地址列表,此处可删除操作


可视化:用于设置可视化选项,cobaltstrike有三种可视化的视图选项
分别为枢纽视图,会话列表,目标列表


枢纽视图


可以非常清楚的看到主机之间的联系,在大规模的渗透中非常有用(这里我只是在测试靶机)


会话列表


显示当前可用的会话


显示目标内部和外部的ip地址,所用监听器,用户权限,设备名称,进程名,进程的pid值,payload的位数(x64或x86)及相应时间

目标列表


显示所有的目标


VPN 接口

设置VPN接口,用于添加和删除vpn接口(后面关于对会话的操作里会介绍到的)

监听器


设置监听器(前面监听器这块有介绍)


脚本管理器


用于管理功能扩展脚本


load为读取脚本,unload为移除脚本,reload为重新加载脚本


下载可用的脚本,选择cna文件并加载


就可以使用扩展脚本


视图

此处的视图为cobaltstrike下面的视图显示栏里的


这里只挑一部分,后面的会在会话的目标操作处讲到


应用信息
显示目标机器的应用信息


凭证信息
显示已有的目标的凭证(账户密码这些)


文件下载
(后面文件管理处会介绍到的)


日志
显示服务器的日志信息


代理信息
显示当前目标的代理,和socks server结合使用


stop为停止目标接口,tunnel 为在metasploit框架中使用此命令,通过此信标对漏洞利用和辅助模块进行隧道攻击。


使用未设置的代理停止通过信标的隧道


脚本控制台


用于管理脚本,对脚本进行调试和修改


列举所有目标,作用和目标列表作用相似


web日志


cobaltstrike 可以把一些服务托管到一个web服务器上,web日志用于记录cobaltstrike web服务器上的记录


报告

用于生成各类报告


活动报告

活动报告用于提供红队的活动信息及时间,记录在后渗透时的活动,可导出为word或pdf


主机报告
用于提供cobaltstrike所收集的主机信息,服务,凭据和会话


目标报告
类似于威胁情报报告里的侵害指表附录,包括了上传文件的hash值


会话报告
记录了每个会话的指标和活动,包括了会话的通信路径,攻击目标的文件的md5哈希值,用于获取红队的活动信息


社会工程报告
用于记录钓鱼行动的电子邮件,点击情况及从用户中收集的信息


TTPs

用于把Cobalt Strike 行动映射到 MITRE 的 ATT&CK 矩阵里的战术,MITRE ATT&CK是一个攻击策略知识库


重置数据
用于重置现有的数据


数据出口
用于导出数据,有两种格式,分为TSV和xml


下部工具栏

选项数字按照下部选项栏顺序相对应


1.1号为连接到cobaltstrike服务器
点击后选择一个新的cobaltstrike服务端进行连接


2.2号为断开与服务器之间的连接


3.3号为配置监听(前面监听器这块有介绍)


4.4号为切换到枢纽视图

切换为枢纽视图(上部选项栏里介绍视图部分讲到)


5.5号为切换到会话列表
切换视图为会话列表(上部选项栏里介绍视图部分讲到)


6.6号切换到目标列表
切换视图为目标列表(上部选项栏里介绍视图部分讲到)


7.7号为显示凭证信息,显示已有的目标的凭证(账户密码这些)


8.8号为文件下载(后面文件管理处会介绍到的)


9.9号为键盘记录,记录键盘的输入信息


10.10号为屏幕截图,截取目标当前屏幕


11.11号为Windows Executables,用于生成一个后门文件(前面关于木马处讲到)


12.12为设置java签名的applet攻击,上面的钓鱼攻击处讲到

13.13为MS Office 宏攻击,用于生成一个office宏病毒文件,上面生成后门处有讲到

14.14Scripted web Delivery
生成一个payload(类似Windows Executable生成的),钓鱼攻击处会讲到


15.Host file 就是钓鱼攻击处的文件下载功能,钓鱼攻击功能处会讲到


16.web服务管理处,用于管理cobaltstrike web服务器上的可用程序,钓鱼攻击功能处会讲到


17.帮助,用于打开帮助文档


18.关于,用于查看当前cobaltstrike的版本信息


beacon的使用

cobaltstrike 的beacon有许多功能,可以执行各种命令

注意,cobaltstrike有默认的60s心跳时间,导致执行命令或其他操作响应很慢,这里可以通过sleep命令去修改心跳时间

beacon常用命令

可以通过help命令去查询beacon常用指令


常用命令汉化


argue                   匹配进程的欺骗参数
audit_uac              审查关于bypass uac 的方法
blockdlls               在子进程中阻止非Microsoft DLL
browserpivot       设置浏览器透视会话
cancel                 取消正在进行的下载
cd                       更改目录
checkin               呼叫总部并发布数据
clear                   清除信标队列
connect              通过TCP连接到信标对等方
covertvpn           部署隐蔽VPN客户端
cp                       复制文件 
dcsync                从DC中提取密码哈希
desktop              查看目标的桌面并与之交互
dllinject             将反射DLL注入进程
dllload               使用LoadLibrary()将DLL加载到进程中
download          下载文件
downloads          列出正在进行的文件下载
drives                  列出目标上的驱动器
elevate                在提升的上下文中生成会话
execute         


标签: 会话 用于 生成 CobaltStrike 监听器 文件 目标 一个 使用 设置
出处: https://www.toutiao.com/a7023622963169657352/

文明发言,请先登录

文明上网理性发言,请遵守国家法律法规。

最新评论

©2003- 黑基网 黑名单存档手机版网站地图免责条款法律声明隐私保护