关于mirai的一些研究
关于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.参考资料:
- http://www.freebuf.com/articles/network/119403.html物联网僵尸Mirai源码分析和沙箱运行演示
- http://www.freebuf.com/articles/terminal/117927.html Mirai物联网僵尸攻击深度解析
- http://mt.sohu.com/20161011/n470026160.shtml 横行物联网的恶意代码mirai分析之Mirai部分
- http://blog.nsfocus.net/mirai-source-analysis-report/ Mirai源码分析报告
- http://paper.seebug.org/142/ Mirai 源码分析
关于mirai的一些研究的更多相关文章
- Mirai僵尸网络重出江湖
近年数度感染数十万台路由器的僵尸网络程序Mirai,虽然原创者已经落网判刑,但是Mirai余孽却在网络上持续变种,现在安全人员发现,Mirai已经将焦点转向Linux服务器了. 安全公司Netcout ...
- Mirai 通过弱密码爆破摄像头 形成僵尸网络——尼玛值得深思的是作者居然是做安全研究的
Mirai(日语:ミライ[1],中文直译“未来”[2][3])是一款恶意软件,它可以使运行Linux的计算系统成为被远程操控的“僵尸”,以达到通过僵尸网络进行大规模网络攻击的目的.Mirai的主要感染 ...
- 关于mirai病毒的一些研究
首页好像只能显示随笔,之前发在文章里面的,见文章http://www.cnblogs.com/mrchang/articles/6210681.html
- 安天透过北美DDoS事件解读IoT设备安全——Mirai的主要感染对象是linux物联网设备,包括:路由器、网络摄像头、DVR设备,入侵主要通过telnet端口进行流行密码档暴力破解,或默认密码登陆,下载DDoS功能的bot,运行控制物联网设备
安天透过北美DDoS事件解读IoT设备安全 安天安全研究与应急处理中心(安天CERT)在北京时间10月22日下午启动高等级分析流程,针对美国东海岸DNS服务商Dyn遭遇DDoS攻击事件进行了跟进分析. ...
- 闲来无聊,研究一下Web服务器 的源程序
web服务器是如何工作的 1989年的夏天,蒂姆.博纳斯-李开发了世界上第一个web服务器和web客户机.这个浏览器程序是一个简单的电话号码查询软件.最初的web服务器程序就是一个利用浏览器和web服 ...
- SQLSERVER聚集索引与非聚集索引的再次研究(上)
SQLSERVER聚集索引与非聚集索引的再次研究(上) 上篇主要说聚集索引 下篇的地址:SQLSERVER聚集索引与非聚集索引的再次研究(下) 由于本人还是SQLSERVER菜鸟一枚,加上一些实验的逻 ...
- 深入研究Visual studio 2017 RC新特性
在[Xamarin+Prism开发详解三:Visual studio 2017 RC初体验]中分享了Visual studio 2017RC的大致情况,同时也发现大家对新的Visual Studio很 ...
- 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践
提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...
- 对一致性Hash算法,Java代码实现的深入研究
一致性Hash算法 关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法.一致性 ...
随机推荐
- Libre OJ 144、145 (DFS序)
部分参考自博客:https://blog.csdn.net/hpu2022/article/details/81910490 在许多问题中,由于树结构复杂通常会导致问题很棘手,因为其实非线性结构,操作 ...
- .net 调用 网易云的短信验证
static string url = "https://api.netease.im/sms/sendcode.action"; static string appKey = & ...
- JS 判断各种设备,各种浏览器
话不多说,直接看代码 1.区分Android.iphone.ipad: var ua = navigator.userAgent.toLowerCase(); if (/android|adr/gi. ...
- io系列之其他事项
二.对IO异常的处理. io操作中,只要涉及到底层操作的就必须进行 io异常处理. IOException 是IO操作中必须处理的异常. 示例: class IOExceptionTest { pub ...
- codesmith生成的结果页不显示,问题在于第一行的文件头
在于这里: TargetLanguage="C#",这个能增加cs的格式
- (水题)P1424 小鱼的航程(改进版) 洛谷
题目背景 原来的题目太简单,现改进让小鱼周末也休息,请已经做过重做该题. 题目描述 有一只小鱼,它上午游泳150公里,下午游泳100公里,晚上和周末都休息(实行双休日),假设从周x(1<=x&l ...
- aerospike数据库配置
https://blog.csdn.net/u011344514/article/details/53082757
- UVA11527Unique Snowflakes(滑动窗口 + set判重 | | map)
题意:输入长度为n的序列a,找到一个尽量长的连续子序列a[l] - a[r],使该序列中没有相同的元素 紫薯P239 序列元素从0开始编号,l 和 r 分别表示子序列左右端点,初始化为0,固定 l,判 ...
- springboot定时任务处理
定时任务是一种很常见的应用场景,springboot中的定时任务完全用的spring的那一套,用起来比较简单,需要注意的是线程池配置的那一块 使用 @EnableScheduling 注解就可以开启定 ...
- springboot学习之maven多环境打包的几种方式
在应用部署的时候,往往遇到需要发布到不同环境的情况,而每个环境的数据库信息.密钥信息等可能会存在差异. 1.在默认的application.properties或者yaml中设置profile spr ...