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

栏目: 编程工具 · 发布时间: 5年前

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

简介

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

漏洞利用

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

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

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

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

编程风格很差的程序

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

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

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

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

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

Mirai代码分析

下面看一下Mirai的源码:

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

Github上的部分Mirai代码

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

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

总结

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


以上所述就是小编给大家介绍的《恶意软件也有漏洞,Mirai C2奔溃分析》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Effective Engineer

The Effective Engineer

Edmond Lau / The Effective Bookshelf, Palo Alto, CA. / 2015-3-19 / USD 39.00

Introducing The Effective Engineer — the only book designed specifically for today's software engineers, based on extensive interviews with engineering leaders at top tech companies, and packed with h......一起来看看 《The Effective Engineer》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具