普通C2
先科普一下,C2就是command&control server,命令控制服务器
假设有这么一种情况
说明 | 主机名 |
---|---|
C2的客户端 | A |
C2 | B |
受害-主机V | V |
受害主机V与C2连接,C2的客户端也就是我们攻击者的CS页面控制的是C2,C2客户端可以让C2给受害主机发送命令让受害者主机执行,执行后的结果会返回到C2,C2再返回给CS客户端。
所以流量走势为:
发送命令:
C2服务端--------->C2---------->受害主机V
接收回显:
C2服务端<---------C2<----------受害主机V
External C2
先看一张官方的图
这张图说简单点就是,C2先控制一个外部的主机windows主机C(因为后面要建立smb连接所以要用windows主机),C主机又可以与受害者主机D进行smb beacon的连接。就导致了C2只要控制了主机C就能控制受害者主机D。而且在受害者主机D上只会看到与主机C的连接,并不会看到任何与C2的连接。这是最浅显的理解,真正的externalC2还又不少的变种,一般情况下其实只是C2控制了对方主机的上的一种服务例如 office,然后利用office来建立命名管道(命名管道允许进程间通信),然后让受害者主机连接命名管道来达到控制的目的。
external C2 listener其实就是在C2上开了一个监听端口,没有别的作用。
可以看看这个实例“Tasking” Office 365 for Cobalt Strike C2
参考文章
http://redteam.today/2019/10/25/CobaltStrike%20External%20C2%E4%BF%A1%E9%81%93/