关于mirai的一些研究

0x01.源码编译:

配置好对应的go开发环境,即可进行编译,生成了主要的文件 badbot为僵尸节点的可执行文件,cnc为主控端的可执行文件,其它一些为辅助工具。

如下图所示编译主控端源代码(go语句编写)生成可执行文件cnc,运行cnc,在本地开启了23和101的端口监听

0x02.部分代码分析

1.关于主控端的信息

主控端的代码主要由go语言编写,主要实现了对bot的控制和管理功能。

在main.go 中可以看到数据库连接的信息。

导入源码中的sql语句,连接数据库,可以看到数据库的一些结构信息。

2.关于bot节点的信息

C&C连接信息会被初始化在一张表中,当Mirai回连C&C时,会从表中取出C&C进行连接。

防止外来者抢占资源

Mirai有一个特点就是具有排他性,设备一旦感染,其会通过端口来关闭Telnet(23)、SSH(22,编译时可选删除项)、HTTP(80,编译时可选删除项)服务并且会阻止这些服务进行重启,其主要实现方法是通过kill强制关闭这三个服务进程,并强行占用这些服务开启时所需要的端口。此举Mirai既可以防止设备被其他恶意软件感染,也可以防止安全人员从外部访问该设备,提高Mirai的取证难度。此功能实现在killer.c文件中。

Bot确保每次只有一个实例运行(通过连接本地端口48101),并通过此端口号关闭相对应的进程。

我们大致可以通过在shodan上搜索开放48101端口的ip情况,来查看已感染mirai病毒的数据情况。

目前为止开放48101端口的ip有62万之多,中国有9万之多。随便打开一个ip的详细信息,如下

该ip只是开放了48101端口,且由wps_device.xml信息判断该设备很有可能是已被感染的一台路由器。

Mirai其强大的感染能力源于它的扫描探测能力,其扫描代码在scanner.c 中,其中内置了常见的弱口令,受感染的bot会不断的去对随机的白名单列表中的ip进行扫描探测,进行下一步的感染。

基本上就搞了这些后面领导说先不搞了,就去搞其它的了,还有因为自己功力不够的原因,关于mirai还有很多东西可以挖掘QAQ

0x03.参考资料:

  1. http://www.freebuf.com/articles/network/119403.html物联网僵尸Mirai源码分析和沙箱运行演示
  2. http://www.freebuf.com/articles/terminal/117927.html  Mirai物联网僵尸攻击深度解析
  3. http://mt.sohu.com/20161011/n470026160.shtml  横行物联网的恶意代码mirai分析之Mirai部分
  4. http://blog.nsfocus.net/mirai-source-analysis-report/ Mirai源码分析报告
  5. http://paper.seebug.org/142/ Mirai 源码分析

关于mirai的一些研究的更多相关文章

  1. Mirai僵尸网络重出江湖

    近年数度感染数十万台路由器的僵尸网络程序Mirai,虽然原创者已经落网判刑,但是Mirai余孽却在网络上持续变种,现在安全人员发现,Mirai已经将焦点转向Linux服务器了. 安全公司Netcout ...

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

    Mirai(日语:ミライ[1],中文直译“未来”[2][3])是一款恶意软件,它可以使运行Linux的计算系统成为被远程操控的“僵尸”,以达到通过僵尸网络进行大规模网络攻击的目的.Mirai的主要感染 ...

  3. 关于mirai病毒的一些研究

    首页好像只能显示随笔,之前发在文章里面的,见文章http://www.cnblogs.com/mrchang/articles/6210681.html

  4. 安天透过北美DDoS事件解读IoT设备安全——Mirai的主要感染对象是linux物联网设备,包括:路由器、网络摄像头、DVR设备,入侵主要通过telnet端口进行流行密码档暴力破解,或默认密码登陆,下载DDoS功能的bot,运行控制物联网设备

    安天透过北美DDoS事件解读IoT设备安全 安天安全研究与应急处理中心(安天CERT)在北京时间10月22日下午启动高等级分析流程,针对美国东海岸DNS服务商Dyn遭遇DDoS攻击事件进行了跟进分析. ...

  5. 闲来无聊,研究一下Web服务器 的源程序

    web服务器是如何工作的 1989年的夏天,蒂姆.博纳斯-李开发了世界上第一个web服务器和web客户机.这个浏览器程序是一个简单的电话号码查询软件.最初的web服务器程序就是一个利用浏览器和web服 ...

  6. SQLSERVER聚集索引与非聚集索引的再次研究(上)

    SQLSERVER聚集索引与非聚集索引的再次研究(上) 上篇主要说聚集索引 下篇的地址:SQLSERVER聚集索引与非聚集索引的再次研究(下) 由于本人还是SQLSERVER菜鸟一枚,加上一些实验的逻 ...

  7. 深入研究Visual studio 2017 RC新特性

    在[Xamarin+Prism开发详解三:Visual studio 2017 RC初体验]中分享了Visual studio 2017RC的大致情况,同时也发现大家对新的Visual Studio很 ...

  8. 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践

    提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...

  9. 对一致性Hash算法,Java代码实现的深入研究

    一致性Hash算法 关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法.一致性 ...

随机推荐

  1. window无法启动mongodb服务:系统找不到指定的文件错误的解决方法

    原文:http://www.phperz.com/article/15/0530/131534.html 错误描述 错误2:系统找不到指定文件 思考过程 昨天做测试的时候,先后安装了两次MongoDB ...

  2. 三小时学会Kubernetes:容器编排详细指南

    三小时学会Kubernetes:容器编排详细指南 如果谁都可以在三个小时内学会Kubernetes,银行为何要为这么简单的东西付一大笔钱? 如果你心存疑虑,我建议你不妨跟着我试一试!在完成本文的学习后 ...

  3. eCharts使用图表简单示例

    https://blog.csdn.net/hlbt0112/article/details/48862427 1. eCharts官网 http://echarts.baidu.com/index. ...

  4. PMP认证考试的最新趋势及10大特征(针对改版后)

    我们都知道,今年PMP认证考试的教材已经改版了,最新版的内容是有不少的改动的,我们在了解PMP考试的时候,也要了解PMP考试的最新趋势,以便拿出应对的方法. 一.情景题更接地气 虽然PMP考试中继续保 ...

  5. Linux:在文件最后一列添加递增数(awk,cat函数)

    假设有文件file1.txt: aa eeeee bb eeeee cc eeeee dd eeeee 先修改为: aa eeeee 1 bb eeeee 2 cc  eeeee3 dd eeeee ...

  6. Xml二(解析思想)、

    XML解析: * 解析xml可以做: * 如果xml作为配置文件:读取 * 如果xml作为传输文件:写,读 * xml解析思想: * DOM:将文档加载进内存,形成一颗dom树(document对象) ...

  7. selenium-server-standalone 和selenium-server, selenium-java的区别

    https://stackoverflow.com/questions/30865539/selenium-server-standalone-jar-vs-selenium-java-jar

  8. 100.Same Tree(E)

    100. same tree 100. Same Tree Given two binary trees, write a function to check if they are the same ...

  9. 加了synchronized后还是不安全的问题

    1.查看是不是多线程 2.用的是不是同一个锁

  10. 【强大的Java集成开发工具】MyEclipse 2015 Stable 2.0 for Mac

    [简介] MyEclipse是一款 Mac 上的Java 强大的集成开发工具,今天和大家分享最新的 MyEclipse 2015 Stable 2.0 版本,MyEclipse 2015 基于 Ecl ...