本文来自“白帽子社区知识星球”
更多红队题材或其他技术内容可见知识星球“红队专栏”
CS 分段木马与无分段木马大同小异,本次以较为典型的分段木马为例来分析其与 C2 的通信过程。
首先看下两个木马的体积
(分段木马)
(无分段木马)
从体积上就可以看到明显的区别,因为分段木马artifact.exe 在运行后会进行一个下载 payload 的动作,所以所生成的后门体积会更小。
对下载的 payload 进行解码后查看其内容可以看到详细的C2 通信配置,包括主机 IP、公钥、端口等信息。
在下载完 payload 之后,后门会将上线主机的基本信息用RSA加密后放置在 cookie 中然后向 C2 端进行请求,从而达到主机上线的效果。提示:CobaltStrike 默认的私钥是存储在.cobaltstrike.beacon_keys 文件中。
成功上线
解密 Cookie 中的数据可以看到所传递的信息。
在上线后后门将会以默认 60 秒一次的频率向C2 段发送心跳包,此时我们进入对应的会话输入我们需要执行的命令,此时会话并不会立刻发送给客户端,而是会在心跳包的响应中发送给被控主机。
在 CS 执行一条命令
这个过程中产生的数据通信如下
被控端在心跳包的响应中接收到 c2 服务端发来的指令
解密响应的内容,可见其中包含了详细的需要执行的命令。
在执行后,后门使用 POST 方法向 C2 服务端回传执行结果
说到这里需要再提一下无分段木马,因为无分段木马无需进行payload 的下载,所以相比之下缺少了一个payload 下载的步骤。在整体的通信过程中,没有单独请求下载的环节。
如果觉得本文不错的话,欢迎加入知识星球,星球内部设立了多个技术版块,目前涵盖“WEB安全”、“内网渗透”、“CTF技术区”、“漏洞分析”、“工具分享”五大类,还可以与嘉宾大佬们接触,在线答疑、互相探讨。
▼扫码关注白帽子社区公众号&加入知识星球▼
原文始发于微信公众号(白帽子社区):CobaltStrike 分段及无分段木马流量分析
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论