记一次简单的Cobalt Strike流量分析
CS http流量分析:
检测方向:
在时间特征上看:数据包存在心跳间隔,当主机被种CS木马时,为了检测存活及接受命令,木马会以一定的时间间隔发送心跳报文,所发送的报文间隔时间趋于一个固定值

在空间特征上看:CS的木马端在发送心跳包时,会使用http协议,以GET请求的访问方式访问CS服务器地址,地址固定为http://CS服务器IP:端口/CX

心跳包的HTTP报文头部还设有Connection字段,值为Keep-Alive;设有Cache-Control字段,值为no-cache

心跳包还会在cookie中带有一串加密字符,由于未查看CS源码,所以暂时不知解密方法,但此处特征明显,也可作为检测依据

当服务端需要执行命令时,在响应心跳包时发送的HTTP响应报文会携带加密数据,内容为需要执行的命令

而木马端收到服务器想执行的命令时,会马上执行命令并且会将执行结果以POST请求方式访问服务器的http://CS服务器IP:端口/submit.php?id=1440299436地址,将数据加密发送给服务器


服务器成功接收数据后,会返回一个类型为txt/html的回包

CS TLS流量分析:
检测方向:
在时间特征上看:数据包存在心跳间隔,当主机被种CS木马时,为了检测存活及接受命令,木马会以一定的时间间隔发送心跳报文,所发送的报文间隔时间趋于一个固定值

在空间特征上看:无指令时每次木马端发送的心跳报文的数据长度一致,皆为416;有指令时,木马端心跳报文会因为命令回显数据而导致数据长度不固定;无指令时,服务端响应的报文长度为144;有指令时,服务端响应报文长度为128
无指令时,客户端加密数据长度为416

服务器响应加密数据长度为144

当有命令时,客户端加密数据长度不固定


有命令时,服务器响应加密数据长度128

本文为小余同学的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。





