扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
日前,一场大规模的互联网瘫痪席卷了美国,2016年10月21日 11:10 UTC(北京时间19:10左右)恶意软件Mirai控制的僵尸网络对美国域名服务器管理服务供应商Dyn发起DDOS攻击,从而导致许多网站在美国东海岸地区宕机。以下是来自青莲云对感染IOT设备的恶意软件Mirai的分析。
本文您将看到:
1、攻击事件回顾
2、恶意软件Mirai是什么
3、Mirai如何感染IOT设备的
4、Mirai如何控制IOT设备发起攻击
5、Mirai的另一种攻击思路
6、如何防止智能设备被恶意利用
附录:《感染IOT设备的恶意软件Mirai源代码分析》
攻击事件回顾
日前,一场大规模的互联网瘫痪席卷了美国,2016年10月21日 11:10 UTC(北京时间19:10左右)恶意软件Mirai控制的僵尸网络对美国域名服务器管理服务供应商Dyn发起DDOS攻击,从而导致许多网站在美国东海岸地区宕机。
你可能没有听说Dyn,但你一定知道这些网站,如GitHub、Twitter、PayPal等。Dyn为这些著名网站提供基础的DNS服务,当其受到攻击时,用户无法通过域名访问这些站点。
恶意软件Mirai是什么
安全研究人员表示,造成此次网络宕机事件的罪魁祸首,可能是大量的物联网设备——包括联网的摄像头和数字录像机,这些设备可能因遭到黑客劫持而被利用。
据悉,控制这些设备的恶意软件名为Mirai。Mirai恶意软件的源代码由匿名人士开发,并于10月公开。Mirai软件能够感染各类存在漏洞的物联网设备,其中包括安保摄像头、DVR以及互联网路由器等。通过恶意感染,这些物联网装置将成为僵尸网络中的肉鸡设备,并被用于实施大规模DDoS攻击。
Mirai如何感染IOT设备的
1、网络扫描存在telnet服务
2、61组用户名密码组合暴力破解存在弱密码和出厂密码的iot设备
3、登陆telnet成功以后,远程执行命令获取iot设备指纹信息
4、远程下载iot设备架构对应的恶意可执行程序并执行
5、恶意程序执行以后,在局域网内扫描存在该漏洞的其他设备
6、感染周边的设备
Mirai如何控制IOT设备发起攻击
Mirai恶意程序有很强的自我保护性,会隐身,有反GDB调试能力,有防止watchdog重启设备能力;同时mirai有很一定的排它能力,能后杀死其他恶意程序或者僵尸网络远程控制。
Mirai一旦感染设备以后,获得设备的绝对控制权,会自动加载DDoS攻击模块,当有新的攻击指令下发的时候,就会发起DDoS攻击。
Mirai的另一种攻击思路
Mirai感染设备后,拥有绝对控制权,除了把设备当成攻击的发起者来进行DDoS攻击以外,还能够对设备本身的系统、业务、数据造成严重危害,比如能够篡改数据、窃取数据、修改系统配置、删除系统文件、杀死业务服务等等。
如何防止智能设备被恶意利用
1、提高安全意识,杜绝使用初始密码以和弱密码,提供密码安全等级
2、关闭多余的系统功能以及命令
3、限制busybox使用权限
4、关闭48101端口
5、添加监控,防止恶意程序的运行
附录:《感染IOT设备的恶意软件Mirai源代码分析》
目录
一、源码结构树
二、源码主要包含了三大块功能
三、loader功能
四、bot模块
五、CnC command and control模块
1 源码结构树
整个源码量不大,一个较小的工程,总共48个定义、实现文件。文件结构如下图
2 源码主要包含了三大块功能
1、loader
攻击程序加载器,用于将实际攻击程序加载到目标IOT设备上。
2、bot
用于实施恶意攻击的程序模块,该模块为被控制端。
3、cnc
控制端模块,用于管理bot以及命令的应答和处理。
3 loader功能
由于线程处理逻辑相对其他来说,比较复杂,这里摘除不容易理解部分分析说明一下。
handle_event函数负责处理server与目标肉鸡telnet连接上交互的数据。
处理主要分为三个大部分,每个大部分又有很多小的步骤来组成。为了区分每个步骤的处理逻辑,handle_event中维护了简单的状态机,定义如下:
TELNET_CLOSED, // 0
……
TELNET_CLEANUP // 19
这部分在查看代码的时候会发现,大量用到ECCHI命令。
主要有两个方面的考虑:
筛选目标telnet肉鸡系统,防止目标是比较完整的linux机器,甚至能够识别出一些蜜罐系统比如cowrie。因为这些无关的系统在执行busybox ECCHI命令后,会提出一些helper信息,而不是简单的”ECCHI: applet not found”
起标签作用,攻击者在很多命令后面都会添加上"/bin/busyboxECCHI",在返回处理结果的数据中,可以找”ECCHI: applet not found”的位置,来区分获取想要得到的数据。
4 bot模块
bot模块,用于实施攻击的程序,包含自身保护机制、扫描、域名解析、各种DDoS攻击等。
攻击模块加载初始化,添加udp、tcp、dns、vse、syn等多种攻击模块,具体每种攻击实现都可以在attack_xx.c文件中找到。
5 CnC command and control模块
攻击主控端模块,主要创建两个服务,分别监听在23/101端口上。分别提供主要提供bot相关的管理;命令的应答处理。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者