过去一年时间,CenturyLink安全研究人员一直在追踪一个名为TheMoon的IoT僵尸网络。该僵尸网络主要利用网络中路由器的漏洞。从2014年初开始,该僵尸网络不断发展并利用公布的漏洞利用来攻击大量的设备。这些漏洞利用包括Linksys, ASUS, MikroTik, D-Link等厂商生产的大量设备。
TheMoon僵尸网络的威胁性在于在感染后可以传播不同功能的恶意模块。研究人员有充足证据相信攻击者出售代理僵尸网络给其他恶意软件攻击者,并用它进行凭证暴力破解、视频广告欺诈、通用流量混淆。
TheMoon最早进入人们视野是研究人员发现许多设备在多个主流网站上进行凭证暴力破解攻击。根据被感染设备的IP地址,研究人员发现大量的恶意基础设施,其中C2地址为91.215.158[.]118。
TheMoon工作原理
为了进一步扩大僵尸网络的范围,攻击者会扫描主机来寻找运行在IoT设备上有漏洞的服务。一旦发现有漏洞的服务,就会使用一个含有多个漏洞利用的shell脚本。大多数的漏洞利用攻击的都是运行在8080端口上的有漏洞的IoT Web应用。Shell脚本执行后会从domstates[.]su下载初始阶段的payload。TheMoon传播的大多数二进制文件和模块都是使用zlib压缩来压缩和混淆文件中组件。为了管理僵尸网络,主二进制文件会使用3个不同的端口来进行C2通信:其中一个在二进制开始执行时进行初始注册;一个用于C2通信;一个用于下载其他的payload。不同的架构类型和二进制文件使用的端口都是不同的。比如,MIPS使用5684端口进行注册,用5184端口作为C2,用4584端口用在下载payload;而ARM使用的三个端口分别是5732,5132和4532。TheMoon可以运行任意的payload,因此该僵尸网络非常危险,而且僵尸网络作者可以不断添加新的功能。
图1是TheMoon僵尸网络简化的架构。
MIPS sox模块与ARM设备中的模块是不同的。这个新模块有所不同:它将受感染的设备变成SOCKS5代理。之前含有代理功能的模块允许C2服务器发送代理请求,新模块允许僵尸网络作者以代理网络即服务的形式出售该其他攻击者。代理端口是10000以上随机选择的,而且每天会改变多次。因为该代理端口是没有经过认证的,因此允许任何人通过受感染的设备来路由(转发)流量。2018年4月,攻击者就将代理修改为使用认证,图2是该payload的架构。
因为受感染的设备运行的代理看似是随机选择的超过10000的端口。研究人员通过分析通信模式发现相同ASN中的24个IP地址大端口范围内与受感染的设备进行通信。研究人员认为这些IP是由使用TheMoon代理僵尸网络即服务的攻击者来管理的。
进一步分析这24个IP地址,研究人员发现每个IP在TCP 8002端口都有一个唯一的服务。连接到端口后,会自动接收与视频广告欺诈活动相关的日志信息流。每个服务器每秒钟平均发送7个消息。图3是视频广告欺诈服务器报告的日志示例。在每条日志中都有一个表示到代理的浏览请求的域名和URL。在6个小时内,一个服务器到2700个域名的19000个URL。浏览了部分URL后,可以看出都有嵌入的YouTube视频。表1是result和extendedResult域的一些可能的值。
追踪TheMoon僵尸网络,ip key有一个base64编码的字符串,如图4所示。这表示用于视频广告欺诈请求的代理。当攻击者选择代理端口的认证,用户名和密码都回加入日志中。通过分析密码和代理结合的列表,密码是一个通过计数器值修改的base64编码版本的端口。负责生成端口和密码的python函数见https://www.netformation.com/our-pov/a-new-phase-of-themoon/
的附件。
每个日志都含有一个base64编码的表示设备情况的JSON字符串。在分析日志时研究人员发现许多不同类型的设备类型。但是还不清楚这些请求和简介是来自被恶意软件感染的设备还是由视频广告欺诈服务器自己生成的。
研究人员在5月到8月对视频广告欺诈服务器进行了监控,视频广告欺诈服务器每天报告的代理IP的数量如图6所示。在峰值时,有大量的新设备类型加入到代理池中。
图7是与C2 91.215.158.118进行通信的唯一IP地址。绿线表示与C2在不同端口通信的IP数量。IP地址从10月底开始减少,表示有大量设备从被感染设备中移除了。
虽然TheMoon僵尸网络的影响不断减小,因为含有不同的功能,僵尸网络的功能仍然很强大。攻击者未来通过添加新漏洞利用到现有工具集中来感染新设备的可能性非常高。IoT设备的本质并伪装成正常普通用户回将宽带网络作为主要工具目标。