Mirai(日语:ミライ[1],中文直译“未来[2][3])是一款恶意软件,它可以使运行Linux的计算系统成为被远程操控的“僵尸”,以达到通过僵尸网络进行大规模网络攻击的目的。Mirai的主要感染对象是可访问网络的消费级电子设备,例如网络监控摄像机家庭路由器[4]。Mirai构建的僵尸网络已经参与了几次影响广泛的大型分布式拒绝服务攻击(DDoS攻击),包括2016年9月20日针对计算机安全撰稿人布莱恩·克莱布斯个人网站的攻击、对法国网站托管商OVH的攻击[5],以及2016年10月Dyn公司网络攻击事件[6][7][8]。当前已经确认上述攻击全部由Mirai作者构建的僵尸网络发起的攻击。

Mirai的源代码已经以开源的形式发布至黑客论坛[9],其中的技术也已被其他一些恶意软件采用[10]

根据一份泄露的软件作者之聊天记录,Mirai一名来自漫画改编的2011年日本动画未来日记[11];作者所用网名(意为“安娜前辈”)则可能与日本轻小说《没有黄段子的无聊世界》中的角色——安娜·锦之宫有关。[12][13]

行为

受Mirai感染的设备会持续地在互联网上扫描物联网设备的IP地址。Mirai包含一张IP白名单表,其中包括专用网络的私有IP地址以及分配给美国邮政署美国国防部的IP地址,使用这些地址的设备将不会受Mirai感染。[14]

在扫描到IP地址之后,Mirai会通过超过60种常用默认用户名和密码辨别出易受攻击的设备,然后登录这些设备以注入Mirai软件[15][5][16]。受感染的设备会继续正常工作,不过偶尔会出现卡顿,而且带宽消耗会增大[15]。设备在重新启动之前将一直保持受感染的状态。设备重启之后,除非用户立刻修改密码,几分钟之内设备很快会被再次感染[15]。Mirai还会在成功感染后删除设备上的同类恶意软件,并屏蔽用于远程管理的端口[17]

互联网上有成千上万的物联网设备使用默认设置,这些设备都很容易受到感染。受感染的设备会监视一台下发命令与控制的服务器,该服务器将指示发起攻击的目标。[15]

在DDoS攻击中的使用

2016年9月20日,攻击者通过Mirai和BASHLITE[18]Krebs on Security网站发动了DDoS攻击,攻击流量达到了620 Gbps[19]Ars Technica报道称在对法国网站托管商OVH的攻击中发现了1 Tbps的攻击流量[5]

2016年10月21日,Dyn公司提供的DNS服务遭到了数次通过Mirai发起的大型DDoS攻击,牵涉到的受感染物联网设备数量众多。这次攻击使得数个高访问量的网站无法正常打开,其中包括GitHubTwitterRedditNetflixAirbnb[20]。Mirai和这次攻击的关联最初是由Level 3 通信在报告中指出的[18][21]

深度学习方面的安全专家发现,Mirai构建的僵尸网络数量在Dyn攻击事件发生前后有稳定的上升。[22]

Mirai亦被用于2016年11月针对利比里亚互联网基础设施的攻击[23][24][25]。计算机安全专家Kevin Beaumont认为这次攻击的发动者与Dyn攻击相同[23]

其他事件

2016年11月末,90万台德国电信用户的路由器因Mirai变种利用TR-064协议的一次失败尝试而崩溃,这些路由器由智易科技生产,受影响用户的互联网访问因此出现异常[26][27]。尽管另一家名为TalkTalk的运营商随后更新了他们的路由器,但仍有TalkTalk路由器感染上Mirai的另一支新变种[28]

作者

Krebs on Security网站在2017年1月发布报告,认为Mirai的作者“Anna-senpai”真名为Paras Jha,是罗格斯大学学生和一家DDoS防御服务提供商总裁[11][29],但后者否认这一指控的真实性[30]美国联邦调查局之后对其进行了盘问[31]

2017年12月10日美国联邦调查局已经公布调查结果,而在此之前Mirai的作者已经被捕。该作者确实就是此前Krebs on Security研究人员认为的Paras Jha[32]

Mirai 通过弱密码爆破摄像头 形成僵尸网络——尼玛值得深思的是作者居然是做安全研究的的更多相关文章

  1. [原创]内网SSH密码爆破工具sshcrack(配合Cscan批量弱口令检测)

    0x000 前言 sshcrack是一个命令行下的SSH密码爆破工具,适用于内渗中SSH密码检测 当然也可用于外网SSH密码爆破,支持Windows/Linux,其它系统未测.Tip1 0x001 目 ...

  2. IoT设备上的恶意软件——通过漏洞、弱密码渗透

    2018年,是 IoT 高速发展的一年,从空调到电灯,从打印机到智能电视,从路由器到监控摄像头统统都开始上网.随着5G网络的发展,我们身边的 IoT 设备会越来越多.与此同时,IoT 的安全问题也慢慢 ...

  3. Python Telnet弱口令爆破脚本及遇到的错误与问题

    写得时候遇到了一个很大的问题,就是我在发送用户名,接受用户名就会一直卡住.然后等了好久后提示 recv ‘\r\nSession timed out.\r\n\r\nTelnet Server has ...

  4. python ssh弱口令爆破多线程脚本及遇到的一些错误与问题

    练习写了个SSH弱口令爆破多线程脚本,遇到的问题 1.一开始想import pexpect 中的pxssh 然而却一直该有错误, ImportError: cannot import name spa ...

  5. python 写的http后台弱口令爆破工具

    今天来弄一个后台破解的Python小程序,哈哈,直接上代码吧,都有注释~~ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...

  6. Burp_用户名密码爆破

    burp 全称 Burp Suite, 是用于攻击web 应用程序的集成平台.它包含了许多工具,可以抓包可以爆破也可以扫描漏洞. 主要组件如下: Proxy--是一个拦截HTTP/S的代理服务器,作为 ...

  7. 数据库密码爆破HexorBase

    数据库密码爆破HexorBase   数据库服务是服务器上最常见的一类服务.由于数据库保存大量的敏感信息,所以它的安全非常重要.测试数据库服务安全的重要方式,就是检查口令的强壮度.   Kali Li ...

  8. 基于Python+协程+多进程的通用弱密码扫描器

    听说不想扯淡的程序猿,不是一只好猿.所以今天来扯扯淡,不贴代码,只讲设计思想. 0x00 起 - 初始设计 我们的目标是设计一枚通用的弱密码扫描器,基本功能是针对不同类型的弱密码,可方便的扩展,比如添 ...

  9. SVN弱密码扫描(Python)

    寂寞如雪的用脑过度,所以来写个博客分享一下.#虽然上一篇博客我还没写完 SVN的弱密码,看起来很复杂,但实际上很简单啊= =虽然不像pymssql/mymssql这种,Python提供了很好用的包,但 ...

随机推荐

  1. javascript 检测浏览类型和版本

    废话不多说了,直接就上代码吧,因为IE11以后的版本和之前的不一样了,所以有些关键字还需要注意.这里面判断IE的时候需要多注意.function getBrowserInfo(){ var ua = ...

  2. 几句话总结一个算法之Policy Gradients

    强化学习与监督学习的区别在于,监督学习的每条样本都有一个独立的label,而强化学习的奖励(label)是有延后性,往往需要等这个回合结束才知道输赢 Policy Gradients(PG)计算某个状 ...

  3. HDFS命令行及JAVA API操作

    查看进程 jps 访问hdfs: hadoop-root:50070 hdfs bash命令: hdfs dfs <1>   -help:  显示命令的帮助的信息 <2>  - ...

  4. kafka参数解析+启动参数解析

    Kafka参数详解 每个kafka broker中配置文件server.properties默认必须配置的属性如下: broker.id=0 num.network.threads=2 num.io. ...

  5. redis的setIfAbsent

    setIfAbsent(K key, V value) 如果键不存在则新增,存在则不改变已经有的值.

  6. [转帖]疑似兆芯开先KX-7000跑分曝光:IPC性能大幅提升

    疑似兆芯开先KX-7000跑分曝光:IPC性能大幅提升 https://www.bilibili.com/read/cv4028300 数码 11-23 1589阅读28点赞22评论 尽管有ARM架构 ...

  7. C编程遇到的一些小细节

    1  typedef int ElemType  -->  typedef int ElemType; 此处要加分行(:),要区别  #defin a 20 此处不需要加分号:#define是预 ...

  8. Java学习:数组的使用和注意事项

    数组 数组的概念:是一种容器,可以同时存放多个数据值 数组的特点: 数组是一种引用数据类型 数组当中的多个数据,类型必须统一 数组的长度在程序运行期间不可以改变 数组的初始化:在内存当中创建一个数组, ...

  9. Java的jdk环境变量配置

    方法/步骤 1.安装JDK 选择安装目录 安装过程中会出现两次 安装提示 .第一次是安装 jdk ,第二次是安装 jre .建议两个都安装在同一个java文件夹中的不同文件夹中.(不能都安装在java ...

  10. Google Guava Cache 全解析

    Google guava工具类的介绍和使用https://blog.csdn.net/wwwdc1012/article/details/82228458 LoadingCache缓存使用(Loadi ...