Sumap *** 测绘探测C&C远控在野情况分析

访客3年前黑客文章928

0x00 *** 测绘角度下的C&C威胁分析

在日渐激烈的 *** 对抗中,伴随渗透手段的更新换代,远控为了满足需求随之发展,种类繁多,常见的远控有:Cobalt Strike、Metasploit Framework、Empire、PoshC2、Pupy等。

在常见的远控中,Cobalt Strike是熟知的渗透测试利器,功能十分强大,可扩展性强,从前期载荷生成、诱饵捆绑、钓鱼攻击到载荷植入目标成功后的持续控制、后渗透阶段都可以很好支持,几乎覆盖攻击链的各个阶段。并且支持多种上线方式,以及多种丰富的配置可以达到非常好的隐蔽效果。CS teamserver团队服务器又可以使众多CS客户端连上它,以进行团队协作。Metasploit Framework能够提供众多漏洞利用,这两款远控功能强大且容易上手,因此也是广大redteamer的必备武器。

C&C作为全球范围红队的基础设施,长期部署在世界各个角落,如何通过探测C&C服务器成为了一个问题。传统的流量规则只能对小范围的C2设施进行识别,有一定的局限性。对于全网的资产识别,通过 *** 测绘来进行扫描识别C2会不会更全面呢?

0x01 *** 空间测绘

互联网在高速发展的今天,传统的 *** 安全大多面向局部安全未曾考虑整体全网环境下的 *** 安全,这样也造成了近年来攻击者频繁面向全网展开攻击。数亿的物联网设备安全问题被大范围的暴露出来。同时攻击者在面向全网攻击既包括传统攻击方式WEB攻击,缓冲区溢出攻击,数据库攻击。同时也涵盖新型的针对物联网设备和工控设备层面的攻击也越发频繁。Sumap *** 空间测绘拥有快速资产探测能力,以及资产监测能力,资产漏洞管理能力形成了一套基于全球 *** 空间资产安全整体安全解决方案。

0x02 具体分析

Metasploit?

1.Metasploit 框架简介

在日常渗透测试中,Metasploit是常用的一款工具安全漏洞利用工具,它拥有最新的公开漏洞利用、后渗透利用模块等,它集成了各个平台常见的漏洞,拥有各种操作系统的shellcode,同时可以作为C&C维持目标权限。Meterpreter作为meatasploit框架的一个扩展模块,meterpreter是metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道,使用它作为攻击载荷能够获得目标系统的一个meterpretershell的链接。meterpretershell作为渗透模块有很多有用的功能,比如添加一个用户、隐藏一些东西、打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的 *** 接口和IP地址等信息。

2.msf特征分析

开始对msf的reverse_http进行分析,在msf的metasploit-framework/lib/msf/core/handler/reverse_http.rb#83中

OptString.new('HttpUnknownRequestResponse',
'The returned HTML response body when the handler receives a request that is not from a payload',
default: '<html><body><h1>It works!</h1></body></html>'
)

通过分析特征,发现模仿的是apache的初始页面

https://raw.githubusercontent.com/apache/httpd/5f32ea94af5f1e7ea68d6fca58f0ac2478cc18c5/docs/docroot/index.html

但实际测试,apache的初始页面请求为:

< HTTP/1.1 200 OK
< Connection: keep-alive
< Content-Length: 45

而msf的apche页面为:

< HTTP/1.1 200 OK
< Connection: keep-alive
< Content-Length: 44

两者相比较Content-Length并不相同,相比apache原始页面多了 。

在sumap平台中可以直接搜索

tags:"MSF http"

全球分布:

截止发稿前探测到msf reverse_http(s)全网有682台,同时sumap支持reverse_tcp连接查询。

直接搜索:

tags:"Metasploit Rex httpd"

探测到全网有8,048台

Cobalt Strike?

1.Cobalt Strike Payload Staging

在Cobalt Strike的攻击框架中,payload是执行攻击的内容,payload拆分为:payload stage和payload stager。stager是一个小程序,通常是手工优化的汇编指令,用于下载stage、把它注入内存中运行。stage则就是包含了很多功能的代码块,用于接受和执行我们控制端的任务并返回结果。stager通过各种方式(如http、dns、tcp等)下载stage并注入内存运行这个过程称为Payload Staging。Cobalt strike也提供了传统的方式,打包成一个完整的exe、dll,上传运行与teamserver回连通讯,这种是Payload Stageless,生成Stageless的客户端可以在Attack->Package->Windows Executeable(s)下生成。

? 通过官网的文档,因为如果开启了 staging(分阶段),任何人都能连到你的服务器上,请求一个payload、并分析它的内容,从而可以从你的 payload 配置中获取信息。

所以可以通过构造,传入满足要求的uri就能够下载cs的beacon,在

`/src/main/java/cloudstrike/WebServer.java`

中可以看到uri的check规则。

所以只需要构造根据4位的数字和大小字母组合满足求和取模等于92(93)即可

import random

def generate_checksum(input):
trial=""
total=0
while total !=input:
total=0
trial=''.join(random.sample("abcdefghhijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",4))
for i in range(4):
total=(total + ord(trial[i:i+1]))% 256
return trial

if __name__=='__main__':
uri_x86=generate_checksum(92)
uri_x64=generate_checksum(93)
print(uri_x64)
print(uri_x86)

这里的逻辑做了一个判断,直接访问返回一个但是带有满足条件的校验码访问会直接下载beacon的stage文件。

拿到stage文件后,需要异或解密,这里我参考https://sysopfb.github.io/malware,/cobaltstrike/2020/03/24/beacon-in-azure.html改写了一下python3的脚本

import sys
import struct

filename=sys.argv[1]
data=open(filename, 'rb').read()
t=bytearray(data[0x45:])
(a,b)=struct.unpack_from('<II', t)
key=a
t2=t[8:]
out=""
with open(filename+'_decoded', 'wb') as f:
for i in range(len(t2)//4):
temp=struct.unpack_from('<I', t2[i*4:])[0]
temp ^=key
out=struct.pack('<I', temp)
print(out)
key ^=temp
f.write(out)

得到解密后的文件然后再使用网上公开的脚本对配置文件进行解析https://github.com/Sentinel-One/CobaltStrikeParser

在这个脚本里cs3.x异或的0x69,cs4.x异或的0x2e,查看我手中的4.1版本

cs3.x版本和cs4.x版本的异或字节不一致,但是都可以解密出来,说明解密算法并没有改变,那么势必可以通过改变密钥来bypass获取配置信息,其实这种情况只需要爆破256位就能解决了(),对于扫stager我更建议是在不需要stager的时候在Manage Web Server里kill掉stager和stager64,需要的时候直接在listeners里edit。

Sumap根据此特征已经集成到搜索语法中,可以通过搜索直接搜索到相关数据。

中国地区相关数据不参与统计

2.Cobalt Strike server

? 空格bug存在与Cobalt Strike发布3.13之前的版本,Cobalt Strike的 "Team Server" Web服务器是基于NanoHTTPD,这是一个用Java编写的开源Web服务器。但是,此Web服务器无意中在其所有HTTP响应中返回了多余的空白符,可以通过这个空格进行识别

snort规则:,老版本的Cobalt Strike *** 服务器的所有HTTP响应中都有空格,通过snort规则可以抛砖引玉,既然所有HTTP响应都有空格,那么可以通过访问Cobalt Strike的web端口,检测返回头就能识别Cobalt Strike了。

Cobalt Strike在3.13版本的时候修复了“异常空格bug”的同时也修改了默认返回的http头,将date头提前了,稍作修改为3.13及以后版本的特征。

Sumap根据此特征已经集成到搜索语法中,可以通过搜索直接搜索到相关数据。

全球数据分布

3. IOC威胁情报验证

取出在Sumap平台搜索的ip数据,在安恒威胁情报中心平台验证

msf

Cobalt Strike

通过Sumap *** 空间测绘平台C&C数据验证,在威胁情报平台也有相应的情报和标记。

0x03 趋势分析

对全网的C&C数据进行分析,境外C&C数据占大多数。根据数据时间戳分析,近几年Cobalt Strike使用率越来越高,主要分布在美国和俄罗斯地区。


0x04 总结

近年来 *** 安全事件频发,APT攻击持续高发,通过追踪攻击组织,结合Sumap *** 空间测绘探测C&C的数据,推测未来的C&C设施将会更加多变、隐匿性更强。 ? 随着5G的推广,更多的设备被接入互联网,在万物互联的时代,APT攻击不再局限于传统 *** ,未来物联网等新兴设备可能陆续成为APT组织攻击的目标。

同时在ipv6的覆盖下针对ipv6的形式的攻击也在以不同的方式和维度上展开,结合机器学习和深度学习模型方式的攻击也不断出现。面对新形势的攻击

我们只有更加深入的布局整体全球 *** 空间,才能有更好的联动防御机制。同时对 *** 安全人才的培养体系化建设都将会成为2021年中的关键要素。

相关文章

最厉害黑客(世界上最厉害黑客)

最厉害黑客(世界上最厉害黑客)

本文目录一览: 1、全球最厉害的黑客组织 2、现在最厉害的黑客是谁 3、世界上最厉害的黑客是谁? 4、史上最厉害的黑客是谁 5、最厉害的黑客是谁? 6、史上最厉害的黑客是谁? 全...

玻尿酸是什么东西提炼出来的(专业整形医生告

玻尿酸是什么东西提炼出来的(专业整形医生告

随着年龄的增大皮肤问题暴露越来越明显,特别对于爱美的女性来讲,这是很烦恼的,然而玻璃尿酸对她们来说一定都不会感到陌生。在许多整形领域中都会用到玻璃尿酸。毕竟现在社会人们对美的追求是极致的,都希望自己的...

苹果系统怎么降低版本(苹果7系统怎么降低版本)

  怎样退级到ios11?许多 人到升級到ios12后会发觉功能损耗和停滞不前等难题,并后悔莫及升級,那麼大家能返回ios11吗?那时候的回答是毫无疑问的。这儿有一个有关iPhone系统降级的实例教程...

北京上门女儿在线预约【酆灿怡】

今天给大家分享的内容是“北京上门女小学妹在线预约【酆灿怡】”,我是酆灿怡,来自随州市,今年25岁,作为职业:北京模特伴游,我热爱我的职业:北京模特伴游。三圍:胸65腰90臀61 鞋碼:39,上海伴游陪...

宁波高端商务陪伴儿也使得一些车展儿比不过他们尉迟珍

宁波高端商务陪伴小学妹也使得一些车展小学妹比不过他们【尉迟珍】,上海是一座成功人士的聚集地,对商业模特的需求也是比较大的,今天明星商务分享模特访梦,年龄成都 女 31,婚姻:未婚,学历:高中,气质:宁...

提前探秘“365天永不中国ic设计公司落幕的世界互联网大会”

  全景环幕、时光隧道……提前探秘“365天永不落幕的世界互联网大会”   今天(11月18日)的“在这里看见互联网的未来”栏目,带你提前探秘互联网科技成果展示馆。   本次世界互联网大会·互...