恶意软件也有漏洞,Mirai C2崩溃分析 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

恶意软件也有漏洞,Mirai C2崩溃分析

ang010ela 漏洞 2019-05-10 11:18:15
167668
收藏

导语:研究人员发现Mirai代码中存在一个bug,其他竞争者或攻击者可以利用该漏洞来使Mirai C2服务器崩溃。

简介

与其他代码一样,恶意软件也会存在漏洞。事实上,大多数恶意软件并不会进行质量控制,所以存在漏洞的概率更大。本文介绍Mirai代码中的一个小bug,该漏洞存在于多个变种中。其他攻击者可以利用该漏洞来破坏C2服务器。

漏洞利用

当用户名是1025+ "a"字符序列时Mirai服务器会崩溃

当有用户连接到Mirai C2服务器时,会要求输入用户名和密码来进行认证。如果用户在用户名处输入1025+字符串时,C2服务器可能会崩溃,如上图所示。

下面分析崩溃的原因,首先解释一个简单程序,然后分析Mirai。

编程风格很差的程序

下图是用GO语言编写的程序,功能是输入name并打印出来。该程序首先将name保存为字符串,然后复制到字节缓存中,然后将缓存打印出来。虽然看似没有什么问题,但是该程序有一个漏洞。因为缓存的大小声明为10。

缓存大小为10,可能会导致溢出

如果输入比较小的话,程序运行是正常的,比如Ankit这样的输入。但是如果输入值大于10,如Ankitxxxxxxxxxxxxxxxxxxxx,程序的运行就会出现错误。

Mirai代码分析

下面看一下Mirai的源码:

Github上的部分Mirai代码

可以看出username传递给了Readline函数。从函数名可以看出该函数应该是个库函数,实际上这是一个定制的函数,声明其固定缓存大小为1024。这也是为什么当username的长度大于1025时该模块会崩溃的原因。

总结

今年以来发现的大多数IoT僵尸网络都是基于Mirai的,该漏洞也存在于多个变种中。


  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2024 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务