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

2020-12-18 0 4,067

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

1
2
3
4
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的初始页面请求为:

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

而msf的apche页面为:

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

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

在sumap平台中可以直接搜索

1
tags:"MSF http"

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

全球分布:

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

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

直接搜索:

1
tags:"Metasploit Rex httpd"

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

探测到全网有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 配置中获取信息。
Sumap网络测绘探测C&C远控在野情况分析

所以可以通过构造,传入满足要求的uri就能够下载cs的beacon,在/src/main/java/cloudstrike/WebServer.java中可以看到uri的check规则。

Sumap网络测绘探测C&C远控在野情况分析
​ 所以只需要构造根据4位的数字和大小字母组合满足求和取模等于92(93)即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import random
def generate_checksum(input):
    trial = ""
    total = 0
    while total != input:
        total = 0
        trial = ''.join(random.sample("abcdefghhijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",4))
        for 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)

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

Sumap网络测绘探测C&C远控在野情况分析
拿到stage文件后,需要异或解密,这里我参考https://sysopfb.github.io/malware,/cobaltstrike/2020/03/24/beacon-in-azure.html改写了一下python3的脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import sys
import struct
filename = sys.argv[1]
data = open(filename, 'rb').read()
= bytearray(data[0x45:])
(a,b) = struct.unpack_from('<II', t)
key = a
t2 = t[8:]
out = ""
with open(filename+'_decoded''wb') as f:
    for 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

Sumap网络测绘探测C&C远控在野情况分析
在这个脚本里cs3.x异或的0x69,cs4.x异或的0x2e,查看我手中的4.1版本

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

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

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

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

2.Cobalt Strike server

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

Sumap网络测绘探测C&C远控在野情况分析
​ snort规则:/^HTTP/1.1 200 OK rnContent-Type: [^rn]{0,100}rnDate: [^rn]{0,100} GMTrn(Content-Length: d+rn)rn,老版本的Cobalt Strike网络服务器的所有HTTP响应中都有空格,通过snort规则可以抛砖引玉,既然所有HTTP响应都有空格,那么可以通过访问Cobalt Strike的web端口,检测返回头就能识别Cobalt Strike了。

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

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

全球数据分布

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

3. IOC威胁情报验证

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

msf

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

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

Cobalt Strike

Sumap网络测绘探测C&C远控在野情况分析
Sumap网络测绘探测C&C远控在野情况分析
​ 通过Sumap网络空间测绘平台C&C数据验证,在威胁情报平台也有相应的情报和标记。

0x03 趋势分析

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

0x04 总结

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

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

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

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

注:在使用本系统时,使用方必须在国家相关法律法规范围内并经过国家相关部门的授权许可,禁止用于一切非法行为。使用用途仅限于测试、实验、研究为目的,禁止用于一切商业运营,本团队不承担使用者在使用过程中的任何违法行为负责。

83源码 WEB安全 Sumap网络测绘探测C&C远控在野情况分析 https://www.83ym.com/111.html

认准唯一TG:@ym830

常见问题
  • 站内所有资源,针对不同等级VIP会员可直接下载,特殊资源商品会注明是否免费,指会员所享有根据选择购买的会员选项所享有的特殊服务,具体以本站公布的服务内容为准。
查看详情
  • 按照我国的法律规定,运营网络棋牌首先需要成立一个注册正规备案的公司,然后申请网站备案、文网文、ICP等等,这些证件缺一不可。 一.注册公司 在当地工商进行注册,公司名称以“XX科技有限公司”为名,如:富裕棋牌经营范围填写“计算机软硬件、网络设备的设计开发与购销”。 二.域名及网站备案 在国内从事网站经营活动就必须经过相关部门的备案,因此棋牌运营商在购买了域名后,就要到当地网监局办理网站备案,或者请服务器提供商代为备案。 三.申请文网文 文网文全称为网络文化经营许可证,是从事经营性互联网文化活动所必需的资质。一般是需要到当地省一级(省、直辖市、自治区)的文化行政部门提出申请,并经由当地的文化行政部门合法批准。次资质要求申请公司注册资金必需达到1000万,并提供游戏版权证明文件。 四.申请ICP ICP又称为增值电信业务许可证,所有网络游戏运营商均需要办理ICP许可证,此证件要求公司注册资金1000万,需到当地市级通讯管理局办理。 五.申请文网游——游戏备案 根据《网络游戏管理暂行办法》(文化部第49号)的规定,国产网络游戏在上网运营之日起30日内应当按规定向国务院文化行政部门履行备案手续。 以上就是网络棋牌游戏正规运营所必需的资质证明。一般作为正规有实力的棋牌游戏开发公司,不光要具备所有的正规资质,而且会对投资者、代理商等合作伙伴给予相关指导和协助,与合作伙伴携手共赢!
查看详情

相关文章

猜你喜欢
官方客服团队

为您解决烦忧 - 24小时在线 专业服务