搜狐媒体平台-搜狐网站>IT

他一出家就成中国最帅和尚

眼眸深邃、轮廓分明、身材颀长,活生生的一幅画。

大学副教授与在押服刑女结婚

这在监狱民警看来,那么令人不可思议。

横行物联网的恶意代码mirai分析之Mirai部分

malwarebenchmark 阅读(0) 评论()
声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。举报

  

  近日,一款名为“ELF Linux/Mirai”的新型ELF木马后门,攻占了大量物联网设备,全球由其控制的BOT多达500万以上。关键是它开放源码了~!

  那么这款开源恶意代码究竟干了什么?从获取的内容看,这款恶意代码包含了:loader、dlr和mirai三部分,这次“一行”分析的是Mirai部分。

  0x01 概览

  木马程序Mirai是基于Linux的恶意样本,该样本主要包含attack模块、killer模块、scanner模块和CNC模块,分别完成对某一批特定目标进行DDoS攻击、对受控制机器知名端口的占用、TELNET连接口令的猜解,以及从控制端获取并执行更多指令,等。

  在程序运行中,Mirai多处进行信息隐藏,如关键字符串隐藏、进程隐藏等,还添加了抗GDB调试的方法,避免自身被分析从而导致数据泄露的风险。

  0x02 attack模块

  attack模块的主要功能是对某一批特定目标IP(targs)做永真循环的数据包发送,位于僵尸网络中的大量Mirai受控结点通力合作,将具备对目标主机进行DDoS攻击的能力。

  attack模块所针对的DDoS攻击类型是多样化的,既可选择对使用TCP或UDP协议的端口进行攻击,也可选择对HTTP、DNS、VSE等使用特定端口的服务进行攻击,在TCP的攻击中还有基于不同类型数据包的多种攻击方法。

  首先Mirai会对攻击方法进行初始化,将不同的攻击函数加入数组attack_table中,在使用中使用函数指针动态进行调用,该方法也可以增加反汇编分析的难度。

  

  在具体的攻击函数中,函数结构是类似的,主要通过linux下的套接字socket编程来实现的,根据不同的攻击方法和攻击目的进行调整。

  普通的UDP攻击中的参数设置代码,其中数据是随机的。而在DNS的攻击代码中,就调整为特定长度的数据。

  

  如果没有指定没有指定IP或者端口,则在设定范围内随机定义IP和端口号。

  

  0x03 killer模块

  killer模块主要功能是将多个知名端口的服务禁止掉,即杀掉该进程并建立一个套接字绑定到该端口将其占用。

  Killer锁禁止的端口包括23(telnet)、22(SSH)、80(http),主要意图可能是阻止管理员从远程对该Linux设备通过telnet或SSH进行操控,或从网页访问更改设备配置。实现的具体方法是调用kill函数杀死端口对应的进程,随后建立一个套接字并绑定到该端口,导致被杀死的进程无法重新启动。

  

  killer模块对给定端口号,找到对应进程的实现如下。

  首先从/proc/net/tcp中读取所有开放的TCP端口对应的进程列表元信息inode,然后从inode中获取对应进程号pid,在获取pid后,即可通过Linux C中的kill函数将对应进程杀掉。

  

  

  0x04 scanner模块

  scanner模块主要针对telnet登录口令的猜解,尝试登录到某一其他设备上并控制该设备。scanner模块首先建立一个auth_table列表,并将保存在mirai中的常用用户名和口令加载到列表中。而后使用随机函数选取一个IP尝试进行连接。

  

  mirai的telnet连接与交互完全由socket编程实现。如果该IP的设备是活动的且开放了telnet端口,那么mirai开始尝试用用户口令列表进行猜解。

  

  如果登录获得成功,将会生成在受控设备上获得shell。

  0x05 CNC模块

  CNC是远程命令和控制服务,是木马中常见的控制端服务程序,在mirai中的功能主要也用于获取控制端的相关命令。

  mirai的初始化过程中给出了一个明文的CNC服务器的FAKE_IP,以迷惑分析人员。但实质的CNC服务器IP并没有存放在mirai中,而是首先通过DNS访问IP为8.8.8.8的DNS服务器,从该DNS服务器中再获取一个域名为cnc.changeme.com的IP。从而实现与CNC服务器的连接。

  

  0x06 隐藏模块

  mirai为了保证自身不被轻易发现,使用了不少隐藏方法。

  首先是对args[0]的隐藏,args[0]也就是可执行文件在运行是自身的名字,mirai生成一段随机字符串将其覆盖掉。

  

  接着是修改进程名。使用的是prctl()函数。

  

  对大量重要的关键字符串,mirai也进行了加密,在文件中是不可见的,只有加载到内存后,需要使用时,才调用table_unlock_val()函数进行解密,用table_retrieve_val()函数进行使用,使用结束后又马上使用table_lock_val()函数进行加密,覆盖掉明文信息。

  

  在解析CNC服务器域名时,mirai还使用了反GDB调试的方法。

  

  为了避免设备看门狗watchdog重启设备,导致mirai对设备失去控制,mirai还对wtachdog进行了篡改。主要修改了dev文件夹下的watchdog文件。

  

  以上操作都使mirai能够较隐蔽的运行在受害设备上,并长期控制该设备,不易被清除。

  综上,可见mirai的编写者对Linux系统的了解较为透彻,在编写mirai样本中对信息的加密和对自身的隐藏都非常谨慎小心,编写经验充足。管理员也不易发现mirai的入侵和控制,给许多分析人员都带来了分析难度。这也是mirai横行物联网的主要原因吧。

  Pr0.s说:值得注意的是mirai公开前后,犹如打开了潘多拉盒子,基于mirai的恶意代码家族繁衍不断,据malwarebenchmark的初步估计境外被控设备不下几十万台~!~!

  这不容轻视,基于这些设备不仅可以实施大规模拒绝服务攻击,还可以作为进一步向“纵深”渗透攻击的中间节点、网络监听节点等等... ... 想想,你经常链接的wifi路由被黑客控制了、重点机构的摄像头被黑客侵入了... ...呵呵

  订阅号内相关文章(点解可阅读)

  横行物联网的恶意代码mirai分析之Loader

  互联网设备大规模被"bot"感染,CNBC发布遭受感染的国家排名

  劫持物联网设备发动的DDoS攻击的恶意代码快速增长

  威胁工控设备的经典Linux后门Backdoor.Wirenet分析

  感染百万物联网设备的BASHLITE家族恶意代码简要分析

  赞赏

  人赞赏

mt.sohu.com true malwarebenchmark https://mt.sohu.com/20161011/n470026160.shtml report 7908 近日,一款名为“ELFLinux/Mirai”的新型ELF木马后门,攻占了大量物联网设备,全球由其控制的BOT多达500万以上。关键是它开放源码了~!那么这款开
阅读(0) 举报
欢迎举报抄袭、转载、暴力色情及含有欺诈和虚假信息的不良文章。

热门关注

搜生活

搜生活+关注

搜狐公众平台官方账号

MAGIC杨梦晶

MAGIC杨梦晶+关注

生活时尚&搭配博主 /生活时尚自媒体 /时尚类书籍作者

搜狐教育

搜狐教育+关注

搜狐网教育频道官方账号

星吧GEO

星吧GEO+关注

全球最大华文占星网站-专业研究星座命理及测算服务机构

热门图片

  • 热点视频
  • 影视剧
  • 综艺
  • 原创

我来说两句排行榜

客服热线:86-10-58511234

客服邮箱:kf@vip.sohu.com