Cobalt Strike是一款渗透测试神器,常被业界人称为CS神器。Cobalt Strike已经不再使用MSF而是作为单独的平台使用,它分为客户端与服务端,服务端是一个,客户端可以有多个 (beacon),可被团队进行分布式协团操作。

Cobalt Strike集成了端口转发、扫描多模式端口Listener、Windows exe程序生成、Windows dll动态链接库生成、java程序生成、office宏代码生成,包括站点克隆获取浏览器的相关信息等。

而现在出问题的便是CS的服务端,也就是业界所称“TeamServer”

Cobalt Strike的 "Team Server" Web服务器是基于NanoHTTPD,这是一个用Java编写的开源Web服务器。但是,此Web服务器无意中在其所有HTTP响应中返回了多余的空白符。

(https://github.com/NanoHttpd/nanohttpd-java-1.1/blob/nanohttpd-for-java1.1/NanoHTTPD.java#L778)

因此导致,老版本的Cobalt Strike网络服务器的所有HTTP响应中都有空格:

可以看出该特征已经存在了7年之久

基于此,可以通过构造规则,针对全球的具有这类特征的HTTP响应进行服务器抓取。

IDS规则如下

alert tcp any any -> any any (msg:"FOX-IT - Trojan - Possible CobaltStrike C2 Server"; \

flow:to_client; \

content:"HTTP/1.1 200 OK |0d0a|"; fast_pattern; depth:18; \

content:"Date: "; \

pcre:"/^HTTP/1.1 200 OK \r\nContent-Type: [^\r\n]{0,100}\r\nDate: [^\r\n]{0,100} GMT\r\n(Content-Length: \d+\r\n)\r\n/"; \

threshold:type limit, track by_dst, count 1, seconds 600; \

classtype:trojan-activity; priority:2; \

sid:21002217; rev:3;)

老外通过该规则抓取了9K多个IP,预计还有更多

https://github.com/fox-it/cobaltstrike-extraneous-space/blob/master/cobaltstrike-servers.csv

而ip列表还包括了一些著名的攻击团伙

目前Cobalt Strike已经修补了该错误。但由于很多人会使用破解版或者不更新,因此该规则将会持续有效检测。

相关链接如下:

https://blog.fox-it.com/2019/02/26/identifying-cobalt-strike-team-servers-in-the-wild/

声明:本文来自黑鸟,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。