导语:JenX,一种新的IoT DDoS僵尸网络,该僵尸网络的部分代码与Satori,Mirai等僵尸网络相同。该僵尸网络的另一个特征就是利用sancalvicie.com提供的DDoS等服务。
简介
一个新的IoT僵尸网络正在发展中,该僵尸网络用托管服务器来寻找和感染有CVE-2014-8631和CVE-2017-17215漏洞的设备。
CVE-2014-8361 “Realtek SDK Miniigd UPnP SOAP Command Execution” 漏洞; CVE-2017–17215 “华为路由器 HG532 任意命令执行” 漏洞。
这两个利用漏洞同时被Satori僵尸网络所利用,而且都是基于BrickerBot的作者Janit0r的代码。恶意软件使用了与PureMasuta同样的技术,源码公布在一个暗网论坛。
经过调查,研究人员发现sancalvicie.com提供DDoS服务。下图是提供的服务的详细描述:
就在研究人员撰写本文时,访问该网站发现,仅仅过了几个小时,他们提供的DDoS服务就升级了!!!
注意:新的僵尸网络和增加的DDoS流量为290~300Gbps,他们一定对这个仅仅应用两天的僵尸网络充满信心。
漏洞利用
1月30日,研究人员部署IoT蜜罐发现多个位于欧洲的服务器的漏洞利用尝试。这些利用基于CVE-2014-8361通过URL /picsdesc.xml发送到端口52869的3个独立SOAP post来执行RCE。
SOAP, Simple Object Access Protocol简单对象访问协议,是一种简单的基于 XML 的协议,它使应用程序通过 HTTP 来交换信息。
基于CVE-2017–17215的漏洞利用通过端口37215发送到/ctrlt/DeviceUpgrade_1的POST和不同的命令序列来下载和执行恶意软件,这是第一个杀掉设备中的其他竞争僵尸的尝试。
该恶意软件的二进制文件叫做‘jennifer’,是从服务器5.39.22.8下载的,该服务器是ISP与漏洞利用服务器的ISP不同。
下载服务器中含有MIPS, ARM, x86的样本,这些样本都是最近才上传的。
IOCs
与我们去年见到的这些IoT僵尸网络不同,该僵尸网络用服务器来进行扫描和利用。近期发现的所有僵尸网络Mirai, Hajime, Persirai,Reaper, Satori和Masuta,使用的嗾使分布式扫描和利用。也就是说每个被恶意软件感染的受害者都会自己搜寻新的受害者。分布式扫描能让僵尸网络指数级的增长,但是会对恶意软件本身的灵活性和复杂性会有影响。反之,中心化的扫描和利用就更加灵活,可以随意增加新的功能。扫描和利用功能还可以用Python、Go等高级语言编写,因为可以利用很多已有的模块和库。识别出恶意软件所用的库,安全研究人员就可以对其逆向,并找出恶意软件利用的漏洞和技术。
恶意软件
执行的时候,Jennifer二进制文件会fork3个进程,并向终端写入下面的信息,随后退出。
这3个fork的进程的名字都是混淆过的,这种混淆的方法与Mirai类似。恶意软件同时使用了反调试检测技术来避免被debugeer追踪。所有的进程在监听localhost的端口,一个会在端口127打开TCP socket连接位于80.82.70.202的C&C服务器。该TCP会话在进程存在时会一直保持。
二进制文件中被混淆的字符串:
打印在终端上的消息“gosh that chinese family at the other table sure ate a lot” 是来自作者的一个礼物。该字符串有58个字符,这也是找出混淆算法和密钥的开始点。从二进制文件逆向的C语言伪代码中,很容易定位58个字符长的目标字符串。
用Python进行一些基本的加密分析,发现混淆算法就是一个简单的XOR异或算法,使用的固定密钥是0x45:
对混淆后的字符串再用0x45进行一次XOR异或计算就找出了明文:
还有一个问题就是如何从IP地址为80.82.70.202的C2服务器获取主机名hostname。逆向的域名也没有什么发现.从逆向的伪代码中可以找到含有主机名hostname的字符串:
通过暴力破解找到了XOR运算的key 0x22,这和PureMasuta中混淆用户名和密码的key是一样的。
最后,研究人员发现了C2服务器的hostname是 ‘skids.sancalvicie.com’。
验证主机名:
该域名是一个叫做Calvos S.L的组织注册的。
C2协议
恶意软件在执行时会用127端口上的TCP会话来与硬编码的C2服务器通信,C2服务器的域名为skids.sancalvicie.com。恶意软件会发送一个字节序列,序列的开头是0x00 0x00 0x00 0x01 0x07,之后的字符串会作为参数在命令行执行。对于Realtek漏洞利用,该参数就是Realtek。发送了初始序列后,僵尸主机和C2服务器会发送一个两个空字节的payload的包来保持会话。
上图是僵尸主机和C2服务器之间的会话,红色的是僵尸主机。
C2服务器好像也会提供一个命令行接口,监听的也是127端口。如果会话建立之后的初始字节不是0x00,服务器会响应一个登录的弹出窗口:
属性
逆向的代码含有Valve Source Engine Query攻击的payload,同样的攻击向量也存在于Mirai代码中,这些代码2016年10月是公开了。深入调查发现sancalvicie.com域名提供GTA San Andreas多层服务器,并且提供反查询洪泛保护。作为一项附加服务,该网站同时提供包含Valve Source Engine Query 洪泛攻击在内的DDoS服务。
这让我们相信该僵尸网络是San Calvicie黑客组织建立的。
总结
截止目前,两个欧洲的提供商已经下线了位于他们数据中心的利用服务器。研究人员确认仍有活动的服务器,而且C2服务器是活动的。基本上,僵尸网络还在运作,我们能做的只有影响他们的增长速度。
研究人员很有意思,给黑客发送消息说他们应该进行改进来隐藏自己。JneX可以很容易地隐藏自己,而且是中心化地扫描方式和利用图谱。这些服务提供商并不在乎提供的服务会被滥用,甚至向Darknet提供主机服务。如果利用服务器迁移到Darknet,追踪这些服务器的地址和将这些服务器下线会变得更难。研究人员说BrickerBot就是使用这种技术的IoT僵尸网络。