2017年5月,趋势科技就报告了他们的最新发现——一种新型物联网僵尸网络Persirai,由趋势科技公司定义为ELF_PERSIRAI.A恶意软件,这可能是继Mirai和Hajime之后又一波针对物联网设备的新型攻击力量。
趋势科技通过Shodan发现,大约有1000多种型号(总共12万台)的网络摄像头被Persirai感染,而摄像头的使用者却一点察觉也没有。
但是,因为这些摄像头是所有僵尸网络进行DDoS攻击的重要工具,Persirai和其他恶意软件之间也存在着竞争关系,所以它还会拦截具有同样0day漏洞的代码,以阻止其他攻击者攻击同样的互联网摄像头。
研究人员发现,目前有四种不同的恶意软件家族(Persirai,DvrHelper,Mirai,TheMoon)都专注于攻击网络摄像头,且每个恶意软件都有自己独特的攻击手段,不过由于目标总量是有限的,它们不可避免的会竞争,并通过防御来阻止对手的恶意软件。
Persirai
毫无疑问,Mirai是首个大规模感染物联网的恶意软件,再加上其代码的开源性特点,它造成的影响就特别大,比如其后的很多了物联网恶意软件都以它为参考,。Persirai似乎就是构建于Mirai源代码基础之上的。
由于在用户内部网络中,网络摄像头使用的是路由器的即插即用(UPnP)协议功能进行端口映射,所以用户菜可以通过广域网远程访问网络摄像头,这样就把网络摄像头暴露在网络中。Persirai正是利用恶意软件ELF_PERSIRAI.A,对暴露的网络摄像头进行传播感染。进入网络摄像头的网络管理接口后,通过注入恶意命令强制摄像头连接到一个下载网站执行恶意文件下载,之后,远端下载网站将会给出以下命令响应,通知被控制的网络摄像头从域名连接
ntp.gtpnet.ir处下载恶意shell脚本文件。
Persirai的一个有趣特征是,当它对网络摄像头进行攻击时,利用的是三个已知的漏洞:
1.存在于自定义网络服务器程序中的漏洞:
1.1. login.cgi – 允许攻击者绕过身份验证并获取管理员密码
1.2. set_ftp.cgi – 当攻击者获取管理员密码时,就可以将其用于命令注入和恶意软件部署
Realtek rtl81xx SDK远程代码执行漏洞(CVE-2014-8361),存在远程代码执行漏洞,远程攻击者通过构造的NewInternalClient请求,利用此漏洞可执行任意代码。这样攻击者将能够获得用户密码,无论密码强度如何,都可以部署命令注入。
Mirai
在Persirai被曝光之前,一谈起DDoS攻击,大家都想到的是Mirai。因为在2016年8月,Mirai发动了史上最大规模的DDOS攻击后,让物联网攻击被大众所熟知。Mirai源码是2016年9月30日由黑客Anna-senpai在论坛上公布,其公布在github上的源码被star了2538次,被fork了1371次。这样,任何人都能Mirai
进行修改并创建新的变体了。
最近,研究人员已经发现,Mirai正在通过Windows 木马扩展其感染功能,可以扫描比以前版本更多的端口。它会检查以下端口是否打开:22(SSH),23(Telnet),135(DCE / RPC),445(Active Directory),1433(MSSQL),3306(MySQL)和3389(RDP)
DvrHelper
DvrHelper可以说是Mirai的更新版,使用了mirai的攻击模块,其主要实现对网络服务设备的远程登录服务的扫描并尝试对物联网设备进行暴力破解,并将破解的的ip地址、端口、用户名、密码等信息发送给后台的服务器,同时接收C&C服务器的控制命令对目标发动攻击。
不过,由于Mirai之前引发的灾害太大许多机构已经布置了DDoS预防解决方案。所以,与Mirai不同的是,为了增加攻击的力度并绕过安全监测,DvrHelper还有专门配了八个DDoS攻击模块,这样它也成了第一个绕过DDoS解决方案的恶意僵尸软件。
具体来说,DvrHelper采用了两种通过特定的内容传送网络来绕过DDoS预防措施的方法。
第一种方法针对预防木马的技术,并利用供应商的应对策略:
过程如下:
1. DvrHelper向目标网站发送了请求,并通过JavaScript截获预防命令。
2.提取嵌入式JavaScript代码并发送到命令和控制(C&C)服务器, C&C服务器将执行JavaScript代码并作出响应。
3.响应信息和其他信息合并,并向DDoS保护供应商发送响应请求,以获得有效的cookie和用户代理进行DDOS攻击。
自2014年以来,该方法就已经放入到了Python库中。但是,由于嵌入式JavaScript代码要在客户端执行,而物联网设备又太弱,无法在本地执行JavaScript代码。在这种情况下,开发人员对远程调用进行了架构设计。
第二种方法是使用共享的“Google reCAPTCHA响应”令牌:
过程如下:
1.DvrHelper向C&C URL发送请求,并获取有效的Google reCAPTCHA响应令牌。
2.DvrHelper往验证器URL发送带有令牌的请求,并获得一个有效的cookie __cfduid(由恶意软件的开发人员用来根据访问者的IP地址来覆盖相关的安全限制)和cf_clearance(如果此cookie存在于请求中,则会绕过)。有了这些信息,DvrHelper就可以绕过DDOS保护。
另外,在最新版本的DvrHelper的C&C服务器中,研究人员发现早期硬编码的C&C服务器(110[.]173[.]49[.]74)被只有一个被动DNS记录的主机名 jbeupq84v7[.]2y[.]net.VirusTotal所代替,目前DNS的A记录已被删除。
TheMoon
TheMoon恶意软件算是这四个里面出现最早的了,于2014年被SANS发现并在之后持续对其攻击方法进行迭代,主要以路由器为目标,利用漏洞植入感染,TheMoon使用iptables规则进行通信。
通过新旧版本的比较,我们注意到C&C服务器端口已更改。另外,在新的版本中,会用一个特定的二进制文件专门对付一个特定的漏洞,并且出现了新的iptables规则。
如上图所示,当感染完成时,iptables规则将被导入到受感染的设备。通过这些规则,TheMoon会建立了一个防御机制,以防止其他恶意软件感染同样的设备,每个二进制文件所使用的iptables规则不同。
基于iptables规则,我们知道其目标端口包括TCP / 22(SSH远程登录协议),TCP / 23(Telnet),TCP / 80(HTTP),TCP / 443(基于SSL / TLS的HTTP),TCP / 7547(CPE WAN管理协议),TCP / 8080(HTTP的替代端口)和UDP / 9999(华硕路由器信息)。每个端口都会映射到特定设备和漏洞,主要目标是网络摄像头。
当感染完成后,安装脚本将被替换为阿尔巴尼亚语中的“我们完成了”的字符串“ne kemi mbaruar!”。
四款僵尸软件的影响和攻击位置分布
下图是位于美国和日本的具有自定义网络服务器的网络摄像头的感染比例。
通过Shodan的调查以及趋势科技的研究,我们看到在美国有一半以上的网络摄像头被上述四个恶意软件家族给感染了。在日本,这个数字甚至更高,64.85%的网络摄像头被感染。
下图是在美国,日本,台湾,韩国的四个恶意软件家庭的感染分布比例。
由上图可以清晰地看到,新出现的 Persirai占得比例最大。然而,这个比例还会随着不断曝光的网络摄像头而不断变化。鉴于这四个恶意家族的成功范例,其他恶意开发商肯定也会看上这块市场,发布自己的网路摄像头恶意软件,我们持续对该市场进行关注。
建议和解决方案
目前,大部分受僵尸网络攻击影响的设备都是由于未更改默认出厂密码或存在弱口令,攻击者通过密码组合进行大规模的自动化入侵登录,从而进入网络摄像头的网络管理接口
我们建议大家应尽快更改网路摄像头的密码,最好能创建安全性较好的密码,比如,使用至少15个字符,大小写字母,数字和特殊字符混合的密码。
但从Persirai的案例可以看出,设置强大的密码只是预防网络攻击的第一步,安全的密码并不能完全保证设备安全。 网路摄像头的所有者还应该禁用其路由器上的通用即插即用功能,以防止网络中的设备在无需任何警告的情况下,将端口映射到互联网中。
当然摄像头安全也不完全是终端用户的责任,设备制造商在生产环节也要提高安全的意识,从源头进行预防,另外,对出现的攻击制造商要随时进行固件更新并通知用户升级。把好安全生产关,才能共筑未来物联网安全。