深度分析 | Mirai新样本:新的伪装方式使其更难被识别
日期:2024年04月26日 阅:76
网宿安全演武实验室近期捕获到Mirai僵尸网络木马,我们深入研究了这种恶意软件的工作原理和它对互联网安全构成的威胁,希望能对IoT行业相关企业,及Mirai的潜在受害企业起到一定的帮助。
Mirai,一种臭名昭著的恶意软件,主要通过利用弱口令策略感染物联网设备,进而形成一个强大的僵尸网络。该网络用于发起破坏性的分布式拒绝服务(DDoS)攻击。自2016年8月首次被发现以来,Mirai已在全球范围内对各种网络基础设施造成了严重破坏,包括知名安全研究者Brian Krebs的网站、法国网络服务供应商OVH以及关键的域名解析服务商Dyn。不仅如此,Mirai的源代码在网络黑市中被公之于众,导致更多的恶意软件项目采用和改进了其技术手段。
Mirai展示了其高效的传播模式。这种恶意软件通过扫描开放的网络端口来定位未加密或使用默认凭证的IoT设备,并利用这些设备的弱点迅速传播。一旦感染,它会将设备加入到庞大的僵尸网络中,这些网络可以被用来发起更大规模的DDoS攻击。
在执行流程方面,Mirai样本表现出高度的自动化和适应性。它可以根据不同的网络环境和目标设备调整其攻击策略,从而最大化感染效果。此外,样本中包含的指令解析机制允许攻击者通过远程指令控制被感染的设备,执行各种恶意活动。Mirai样本还采用了多种反分析手段来逃避安全检测。这包括使用混淆代码、模拟正常网络流量以及在某些情况下自我销毁以清除痕迹。这些复杂的反分析手段使得Mirai成为一种难以检测和根除的网络威胁。
通过对这个特定Mirai样本的深入分析,我们不仅能更好地理解这种恶意软件的工作原理和传播策略,还能为IoT安全和网络防御提供实用的见解。
Mirai 恶意软件,通过自动扫描互联网来寻找易受攻击的 IoT 设备,例如家用路由器和网络摄像头。一旦发现目标设备,Mirai 利用预设的字典或已知的安全漏洞尝试登录。成功后,它会部署恶意代码,将设备并入其庞大的僵尸网络中。这些被感染的设备继续扫描其他潜在目标,进一步扩大网络规模。设备在感染后通常能继续正常运行,但可能会出现网络延迟或带宽占用过高的现象。感染设备的 Mirai 样本会与命令和控制(C&C)服务器保持连接,并根据下发的命令发起各种类型的 DDoS 攻击,如UDP Flood、TCP Flood 等,目的是消耗目标服务器的处理能力或网络带宽,导致服务中断。Mirai 的存在不仅凸显了物联网设备安全的重要性,也强调了在使用这些设备时采取基本安全措施的必要性。
样本执行流程如下图:
Mirai是一种广为人知的恶意软件,它主要针对运行Linux系统的IoT设备(如路由器,摄像头,DVR等)发起攻击。Mirai通过扫描网络,寻找具有已知漏洞或弱口令的设备,然后利用这些弱点进行感染。感染后,设备被纳入由攻击者控制的botnet中,以供日后发起大规模的分布式拒绝服务(DDoS)攻击。
Mirai样本表现出几个显著的恶意活动:
Mirai样本通过这些恶意活动,成功地建立了全球范围内的大型botnet,并发起了一些严重的DDoS攻击。这些攻击对互联网的稳定性和安全性造成了巨大的威胁。因此,Mirai提醒我们必须提高IoT设备的安全性,包括改变默认的用户名和密码,定期更新和打补丁,以及使用防火墙和其他安全措施保护设备。
Mirai对字符串进行了加密处理,加载时进行解密并放置table中等待使用,这使得静态无法看到具体内容。
进程隔离:利用fork()创建一个新的子进程,并调用setsid()在子进程中创建新的会话以使该子进程成为新会话的首进程,这有助于从控制终端隔离进程,增加其隐蔽性。然后关闭了标准输入、输出和错误描述符,这是为了避免输出信息到控制台,降低被检测到的几率。
这段 hide_process 代码的主要目的是通过修改系统中的特定文件来隐藏一个进程的真实身份,使得分析或识别该进程变得更加困难。具体操作包括生成一个随机文件名,并将此名字用于创建从 /proc/[PID]/exe(指向当前进程可执行文件的符号链接)到一个临时文件的新符号链接,以此掩盖进程的实际来源。同时,该函数还打开并修改了 /proc/self/cmdline 文件,这是一个描述进程启动命令的文件,将其内容改为指向前面提到的随机文件名。这种策略使得外部观察者在查看进程信息时,看到的是一个似乎无关紧要或完全不同的启动命令和源文件,从而达到混淆进程身份的目的。
样本在和C2建立连接后会持续等待C2给的指令,接收到指令后将buf传递给后续函数进行解析。
attack_parse接收到指令后会将buf进行解析,将内容赋予不同变量后,调用攻击函数attack_start(duration, vector, targs_len, targs, opts_len, opts);。
其中各变量的意义如下:
在struct attack_option结构中:
以下是指令格式解析:
若c2下发DDoS攻击指令,则会根据Attack Vector执行不同类型的DDoS攻击。
ATT&CK映射图谱
2016年
2017年
2018-2019年
2020-2022年
2023年
在本次对 Mirai 恶意软件的样本分析中,我们深入探究了这种恶意软件的工作原理和其对互联网安全构成的威胁。Mirai 主要通过感染具有弱安全设置的 IoT 设备,如家用路由器和网络摄像头,来构建一个庞大的僵尸网络。这个僵尸网络能够被用来发起强大的分布式拒绝服务(DDoS)攻击,导致目标网站或网络服务严重中断。
感染后的清理和修复
一旦发现 Mirai 感染,立即采取以下步骤进行清理和修复:
综合防护策略
为了有效防御 Mirai 和类似的网络威胁,建议采取以下综合防护措施,并考虑使用专业的安全产品。
由于Mirai僵尸网络之庞大性和恶意软件的成熟性,由Mirai发起的DDoS攻击规模通常较大,且多为混合型DDoS攻击,包含网络层及应用层攻击。游戏、金融、电商、互联网等行业是受害重灾区,一旦企业被锁定为目标,单凭一己之力恐怕难以应对。
在一切都云化的今天,购买硬件拼带宽的日子早已一去不复返,目前主流的方式是采用基于CDN或者云的安全产品来应对,云端弹性伸缩的能力给了企业更大的主动权。
网宿全站防护平台,为上千家明智的企业提供了这样弹性伸缩的能力。全站防护构建于网宿2800+全球节点之上,通过自主开发的高性能防火墙,将数据处理性能和吞吐量提高40倍,大大提升网络层攻击的处理性能,自主研发的防护算法能够100% 、0时延清洗网络层DDoS攻击,为企业提供天然的安全屏障。
针对复杂的应用层攻击,网宿全站防护平台构建了以中心智能决策大脑为总控的秒级防护体系,在中心与边缘之间建立高效的数据流转通道,实时分析全局流量,形成监控分析(业务流量&攻击流量)——生成基线(边缘&中心防护基线)——监控分析(不同流量的变化趋势)——修正基线——监控分析……这样持续的闭环,以保持防护策略始终处于最优状态。
IOCs
MD5:
f0565a0d95bf3aad12f6f1ff414e1c44
C2:
185.224.128.187
基于全球广泛分布的边缘节点,依托10余年安全运营和海量攻防数据,「网宿安全」构建从边缘到云的智能安全防护体系,提供DDoS防护、Web应用防护、爬虫管理、远程访问安全接入、安全SD-WAN、主机安全等全方位的安全产品及服务,覆盖云安全、企业安全和安全服务等领域,助力企业构筑基于零信任和安全访问服务边缘(SASE)模型的全新安全架构,护航网络安全,为数字时代保驾护航。 网宿科技(300017)成立于2000年,2009年于创业板首批上市,是全球领先的边缘计算及安全服务商,业务遍及全球70多个国家和地区。公司始终致力于提升用户的数字化体验,满足用户随时随地、安全、可靠的数据处理及交互需求。