CobaltStrike -- 流量分析
2023-2-1 08:11:25 Author: 系统安全运维(查看原文) 阅读量:21 收藏

一、 http-staging流量分析
(1)stage 下载
stager 可执行文件 artifact.exe 运行后会有一个 payload 下载过程,使用 http 协议从指定服务器下载 stage 。
其中 http 请求路径不唯一,但都符合一个 checksum8 规则,即:路径的 ascii 之和与 256 取余计算值等于 92 。
#  /Yle2、/cKTZ、/wQPD
而下载的文件约 211kb,解析后可以看到回连地址、加密字段、公钥等配置信息。
(2)beacon 上线
随后 beacon 按设置的频率以 get 方法向 c2 服务器发起心跳请求,通过 cookie 携带靶机信息。
此时 client 界面可以看见目标机器上线:
(3)命令下发
c2 服务器如果有任务下发,则放入 http 心跳请求返回包中。
当前下发的命令:whoami
(4)结果回传
beacon 端处理完成后,通过 post 方法回传数据。
注:https-beacon 在 http-beacon 的基础上加入了 tls 层对流量加密,其他过程相似。
二、dns-stagless流量分析
(1)beacon 上线
与 staging 阶段不同,stagless 不需要额外加载 stage,运行 dns-beacon.exe后,beacon 端发起一个A记录查询,查询内容为16进制字符串地址,表示靶机信标已上线,c2 服务器收到请求后回复 0.0.0.0 表示确认消息。
此时,在客户端可以看见一个不同于 http(s)上线的黑框记录。
(2)beacon 激活
客户端控制台输入 checkin 或其他指令激活窗口,dns-beacon服务器支持A、TXT、AAAA三种方式下发payload,激活后默认使用TXT记录,流量中表现为 0.0.0.243,除此之外还可以通过 mode 指令切换为A、AAAA 记录,流量中表现为 0.0.0.241、0.0.0.245,随后 beacon 端发起以 www 为首的A记录请求,向 c2 服务器传递靶机基础信息。
(3)命令下发
beacon 准备接收 c2 任务,先发送以 api 开头的A记录请求告知 c2 服务器可以开始下发任务,即图中的 0.0.0.243-TXT 方式,随后发起以 api 开头的 TXT 记录请求等待 c2 服务器返回数据。
(4)结果回传
beacon 端执行完命令后,再向 c2 服务器发起以 post 开头的A记录查询回传执行结果。
三、声明:
安全研究与学习之用,若将工具做其他用途,由使用者承担全部法律及连带责任,作者不承担任何法律及连带责任。
如有侵权,请联系删除

好文推荐

红队打点评估工具推荐
干货|红队项目日常渗透笔记
实战|后台getshell+提权一把梭
一款漏洞查找器(挖漏洞的有力工具)
神兵利器 | 附下载 · 红队信息搜集扫描打点利器
神兵利器 | 分享 直接上手就用的内存马(附下载)
推荐一款自动向hackerone发送漏洞报告的扫描器
欢迎关注 系统安全运维

文章来源: http://mp.weixin.qq.com/s?__biz=Mzk0NjE0NDc5OQ==&mid=2247515683&idx=2&sn=67274f3bf6f1169fe24045133f366a67&chksm=c3086d53f47fe445216cd987884bdc89c15c147b623136f6941553cd5a91d16db20bcc339112#rd
如有侵权请联系:admin#unsafe.sh