CobaltStrike
概述
Cobalt Strike是⼀款基于java的渗透测试神器,常被业界⼈称为CS神器。⾃3.0以后已经不在使用 Metasploit框架⽽作为⼀个独⽴的平台使用,分为客户端与服务端,服务端是⼀个,客户端可以有 多个,⾮常适合团队协同作战,多个攻击者可以同时连接到⼀个团队服务器上,共享攻击资源与目 标信息和sessions,可模拟APT做模拟对抗,进行内⽹渗透。Cobalt Strike集成了端⼝转发、服务 扫描,⾃动化溢出,多模式端⼝监听,win exe木马生成,win dll木马生成,java木马生成,office 宏病毒生成,木马捆绑;钓⻥攻击包括:站点克隆,目标信息获取,java执行,浏览器⾃动攻击等 等。
agscript 拓展应用的脚本
c2lint 用于检查profile的错误异常
teamserver 服务端程序
cobaltstrike.jar 客户端程序(jar跨平台)
logs 目标记录与目标主机的相关信息
start_cn.bat 客户端中文启动程序
start.bat 客户端启动程序
1.新建连接
2.断开当前连接
3.监听器
4.改变视图为Pivot Graph(视图列表)
5.改变视图为Session Table(会话列表)
6.改变视图为Target Table(目标列表)
7.显示所有以获取的受害主机凭证
8.查看已下载文件
9.查看键盘记录结果
10.查看屏幕截图
11.生成无状态的可执行exe木马
12.使用java⾃签名的程序进行钓⻥攻击
13.生成office宏病毒文件
14.为payload提供web服务以便下载和执行
15.提供文件下载,可以选择Mime类型
16.管理Cobalt Strike上运行的Web文件
17.帮助
18.关于
CobaltStrike4.0启动
启动客户端
客户端打开cobaltstrike.bat
服务端启动后客户端启动进行连接(团队多人连接将用户名设置为自己的用来区分团队成员)
CS反向木马主机上线
设置监听器用来接收会话
生成木马
Windows Executable是生成Stager类型的马,
●Stager是分阶段传送Payload。分阶段啥意思呢?就是我们生成的Stager马其实是⼀个小程序,用于从服务器端下载我们真正的shellcode。分阶段在很多时候是很有必要的,因为很多场景对于能加载进内存 并成功漏洞利用后执行的数据大小存在严格限制。所以这种时候,我们就不得不利用分阶段传送了。如果不需要分阶段的话,可以在C2的扩展文件里面把 host_stage选项设置为false。
Windows Executable(S)是生成Stageless类型的马。
●而Stageless是完整的木马,后续不需要再向服务器端请求shellcode。所以使用这种方法生成的木马会 比Stager生成的木马体积要大。但是这种木马有助于避免反溯源,因为如果开启了分阶段传送,任何人都能连接到你的C2服务器请求payload,并分析payload中的配置信息。在CobaltStrike4.0及以后的版本 中,后渗透和横向移动绝大部分是使用的Stageless类型的木马。
选择监听器,生成木马
两个木马大小不一样
通过某种方式上传到对方机器上, 受害者运行exe文件我们的CS就直接上线
减少延迟(sleep):
默认是60秒,木马在服务器中60秒和服务器交互一次,为了躲避杀毒软件查杀
反向转发上线
在会中右键选择代理转发->转发上线
生成新的监听器
名称:监听器名称
payload:木马类型
监听地址:跳板机IP
监听端口:跳板机端口
会话:跳板机权限
生成反向木马
同理我们连接上以后会有连接的标志
CS正向木马主机上线
此方法适用于DMZ能通内网但内网不通DMZ的状况即无法反弹会话的情况,遇到这种场景就要使用正向 连接的木马来解决,在目标主机开启⼀个木马端⼝然后通过跳板机来连接
1.先上线⼀个反弹马。然后通过反弹马正向其他机器。
2. CobaltStrike创建⼀个beacon_tcp监听器
3. CS生成⼀个stageless木马,监听器选再fanxiang
4. 运行生成的木马,并在之前反向上线的 beacon中执行connect x.x.x.x 6666即可建立子beacon上线 CS。