Cobalt Strike笔记
免责声明
用的是CS4.5,没用新版,根据CS的更新每次都会加点什么新玩意,所以我不清楚这些信息是否能够针对后续的版本。
定论
笔者认为Cobalt Strike没有固定上的流量特征,具体原因为Cobalt Strike的上线形式多样化以及是Profile自定义请求等。
常见的端口啊,协议啊,什么请求内容啊,我就不写了,反正网上一堆。
因此本片是我根据个人对于内网的处理经验以及发现进行整理,感兴趣可以看看
基于Nginx反向代理的特征行为
通常在企业网中为了隐藏服务器真实的情况,或者是均衡负载,以及动态调整映射关系等原因,会采用Nginx反向代理,将外部数据进行代理转发至内部服务器,避免服务器直接遭受攻击。
在Nginx反向代理中会定义代理池(Proxy_http、upstream)。
因此在正常访问中,只有Nginx会与外界产生流量,其余流量均在内网网络中交互处理。
所以在一般的Nginx反向代理服务器场景中,内网的HTTP请求一般采用的HTTP,而不是采用由TLS加密后的HTTP数据(也就是明文传输)
只有Nginx会配置证书对外建立TLS链接HTTPS数据传输加密。
该方式的优点在于在监测设备,可以直接部署进行数据监测,无需通过配置加解密即可直接监测内网数据。
缺点在于数据容易挨窃听。
那么Cobalt Strike的HTTP数据,通常会采用加密形式,进行传输,不论HTTP上线或者是HTTPS等方式上线,所采用的数据均为加密数据。
(当然内网中也有可能有内部服务器会进行HTTPS请求)
因此服务器在与Nginx的HTTP交互中携带有加密数据就显的非常的可疑,如果在短期内一直在携带加密数据,且长度固定或者是大量加密数据频繁交互可重点关注

上线方式特征(直连形式)
DNS
DNS上线,不必多说,就他娘的某个固定域名,但头部带着一堆杂七杂八的东西在你面前晃来晃去,你都不注意一下,那被揍了纯属活该
HTTP与HTTPS
针对于HTTP,个人其实并没有发现什么很好的手段,只能结合上篇的Nginx反向代理篇来进行
针对于HTTPS
首先我们明确正常HTTPS交互过程是什么样的,请看下图

笔者通过观察发现有以下的缺陷或者特征
1、JA3特征(默认)
JA3是指纹一种TLS交互过程中进行收集后进行整理加密核对形成的指纹,分为三个部分(JA3_HASH、JA3_SSLVersion、JA3_CipherSuite,JA3_Extensions)详细可查看其他大佬的文章有详细讲解
这种指纹一般可变在Extensions进行形成hash变化,其余几个均不可随意变换,否则会造成通信影响
在Cobalt Strike的JA3指纹在未经过逆向修改的时候,它的Client Hello包中的JA3的Hash为固定字符在Cobalt Strike4.5中
JA3的指纹固定为652358a663590cfc624787f06b82d9ae

问:那为什么说它可以是个指纹呢?那万一是其他的浏览器和它重合怎么办?
答:在新的谷歌浏览器110版本中,已经加入了JA3随机化机制,但具体也有缺陷,只不过已经足以分别哪些是正常用户哪些是非正常用户了
问:这样子肯定不会冲突吗?
答:会有一定的概率冲突但根据数据统计,这种概率很少。在不采用随机JA3指纹的浏览器中,目前应该是没有任意一款与CS特征冲突的
问:那CS就修改不特征了吗?
答:可以修改。
2、交互缺陷
这个缺陷笔者觉得比较大,甚至它不能说是缺陷,根据AI数据分析说这是一种刻意为之的一种设计
在正常交互中我们的与服务器进行HTTPS请求的时候,会进行TLS如上图所示(算了我再贴过来)

可以发现在Server Hello之后服务器会携带有certificate,加密证书提交至客户端,进行之后的通信数据加密
而在Cobalt Strike正常的交互中,它是没有certificate的

正常请求是这样子

问:这个方式是否有缺陷,或者绕过的可能?
答:CDN域前置,TLS1.3
问:那CS的证书没有发送为什么能够通信加密?
答:内置在了木马程序中
问:那CS就一定不会发送证书吗?
答:不,可以通过设置进行修改,或者逆向修改它的交互形式
问:如果能发送证书那不就没特征了吗?
答:多数攻击者采用自签名证书,其相关信息也会在certificate中显示可检查是否是自签名证书。但我想说的是攻击从来不是一尘不变的,永远是多维多变的,防守与防御也是如此,想靠一招鲜吃遍天在现在的网络世界中基本上不可能,蓝队人员要善用情报与自身经验和行为验证来进行防护,正所谓知攻擅防。
CS注入
CS在进行维持权限的时候会对应用程序进行注入,它的注入会产生外联地址是毋庸置疑的。
但是我发现它的注入的时候似乎会导致线程中出现内存溢出的情况,该情况可用Process Explorer进行查看,但是我不确定这个情况是否是版本通病。但我在使用CS4.7的时候通过多次注入确定不是个别现象


浙公网安备 33010602011771号