天融信阿尔法实验室 雨夜
最近发生了多起DDOS攻击事件,调查发现攻击源头是大量的物联网设备,大多设备被一款名为“ELF Linux/Mirai”的新型ELF木马后门攻占,全球由其控制的BOT多达500万以上。Mirai能够感染多种存在漏洞的物联网设备,其中包括安保摄像头、DVR以及互联网路由器等。通过恶意感染,这些物联网设备将成为僵尸网络中的肉鸡,并被用于实施大规模DDoS攻击。
一、Marai感染IOT设备的方法
- 搜索存在弱口令IOT设备
- Marai使用61组用户名密码组合暴力破解存在弱口令的IOT设备
- 登陆telnet成功以后,远程下载IOT设备架构对应的恶意可执行程序并执行
- 恶意程序执行以后,在局域网内扫描存在该漏洞的其他设备,进而感染
二、Marai各个功能模块分析
2.1 Loader文件夹
攻击程序加载器,主要将攻击程序加载到目标IOT设备上。流程主要有一下几步:
先登陆目标设备Telnet
验证登陆,成功后将攻击程序上传
其中多次用到busybox
设备被植入Marai,会监听48101端口
2.2 Bot文件夹
主要功能有DDos攻击,域名解析,内网扫描等
DDOS攻击类型:UDP, VSE, SYN, DNS, ACK等多种类型
除此之外,Marai还是用了非常规的“DNS Water Torture” 和 “GRE flood”,这种技术不同于常规的DNS反射放大攻击,它将域名处理后向目标DNS服务器发送少量但持续的递归查询请求,对目标机构的DNS服务器形成超负荷流量攻击。
Mirai有很强的自我保护性,可隐身,有反GDB调试,防止watchdog重启设备的能力;同时mirai为了获得设备的绝对控制权,会检索设备上的其他恶意程序,如果发现将其杀死
自我保护措施
确保只有一个实例运行,当发现有其他连接接入直接将其关闭
关闭使用22、23、80端口的其他进程, 阻止管理员从远程对该设备通过telnet或SSH进行操控,或从网页访问更改设备配置
通过内存搜索的方式,检测是否有其他恶意程序植入
在使用http flood攻击的时候,如果检测到DDOS防护设备DOSARREST和CLOUDFLARE后,会采取绕过操作
内网扫描,扫描开放23端口的设备。
如果发现用字典进行爆破
设置IP白名单,如果遇到以下IP直接绕过
如果登陆成功则进行感染
Mirai为了保证不被轻易发现,对多方面进行隐藏
- 文件名的隐藏
2.进程名隐藏
使用prctl()函数修改进程名
3.对重要的关键字符串进行加密
加载的时候,用table_unlock_val()进行解密,并用table_retrieve_val()进行调用,使用完再调用table_lock_val()加密
4.解析CNC服务器域名的时候,使用了反GDB调试的方法
5.对watchdog进行篡改,防止其重启设备
2.3 tools文件夹
主要文件功能如下
enc.c 将字符串格式化成table.c 中需要的类型
nogdb.c 更新文件
single_load.c 登陆判断
wget.c 获取远程文件
2.4 CNC文件夹
CNC文件夹的主要功能是作为控制端,接收处理已感染的bot发送的数据,并发出指令,由go语言实现。相关操作需要有mysql数据库支持,ForunPost.txt对此有说明
程序运行后会监听23和101端口,执行不同的操作
23端口
根据接收数据的分析,添加账户并执行相关操作
101端口
解析接收信息中的指令,并控制bot发出攻击
三、防护措施
根据后门植入方法,防护措施主要提出以下几个建议:
- 增强设备的认证及其凭证,关闭不必要的服务
- 修改Telnet、ssh登录密码,
- 设置busybox使用权限
- 升级有漏洞的固件
- 监控设备网络流量,一旦出现异常及时处置