通过存在7年之久的“空格”特征识别在野Cobalt Strike服务器组件(含规则)

释放双眼,带上耳机,听听看~!

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/


点击下面图片,欢迎加入APT威胁情报平台知识星球

看看好看不好看


本文源自微信公众号:黑鸟

人已赞赏
安全工具

黑鸟每日安全资源推送​第27期

2019-10-16 10:11:16

安全工具

疑似朝鲜通过鱼叉攻击韩国统一部记者的APT事件整理

2019-10-16 10:11:21

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索