zoukankan      html  css  js  c++  java
  • 关于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.参考资料:

    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 源码分析
  • 相关阅读:
    Proj THUDBFuzz Paper Reading: PMFuzz: Test Case Generation for Persistent Memory Programs
    入围 WF 后训练记
    算法竞赛历程
    2021 多校 杭电 第十场
    2021 多校 杭电 第九场
    2021 多校 牛客 第十场
    2021 多校 牛客 第九场
    2021 多校 杭电 第八场
    2021 多校 杭电 第六场
    2021 多校 杭电 第七场
  • 原文地址:https://www.cnblogs.com/mrchang/p/6210681.html
Copyright © 2011-2022 走看看