让所有反病毒引擎都无法检测到的恶意软件出现了!

华盟原创文章投稿奖励计划

让所有反病毒引擎都无法检测到的恶意软件出现了!

文章来源:E安全

据悉,恶意软件BotenaGo已部署了30多种功能,使数百万物联网设备面临潜在网络攻击的风险。

近日,网络安全公司Nozomi Networks Labs发现了专门针对Lilin安全摄像头DVR设备恶意软件BotenaGo的新变种,并将其命名为“Lillin扫描仪”,开发人员在源代码中使用了它的名称:/root/lillin.go。它是迄今为止最隐秘的变种,任何反病毒引擎都无法检测到它的运行。

让所有反病毒引擎都无法检测到的恶意软件出现了!

BotenaGo源代码

BotenaGo的源代码于2021年10月泄露,新的变种在此基础上得以产生。研究人员在监控使用部分BotenaGo源代码生成的样本过程中,发现了一个与BotenaGo有某些相似之处的样本。

在进行这项研究时,在线查杀平台VirusTotal中的所有恶意软件检测引擎都没有检测到该样本。虽然样本大小有2.8 MB,但由于是用Google的开源编程语言Golang编写的,实际恶意代码部分非常小,并且专注于单个任务。作者删除了BotenaGou源代码中存在的30多个漏洞,并重新使用部分代码来利用一个两年前的漏洞。这可能是该样本直到现在还没有被检测到的原因。

让所有反病毒引擎都无法检测到的恶意软件出现了!

该文件未被检测到

Lillin扫描仪功能

为了能够运行,扫描仪/开发者需要在命令行中传递一个参数,这将是用于连接每个IP地址的端口。Lillin扫描仪与BotenaGo不同的是,它不检查指定IP的横幅。这个工具可能与另一个使用Shodan或其他扫描工具构建Lilin设备列表的程序相关联。

接下来,该样本将遍历接收到的IP地址范围。这部分代码很容易在BotenaGo的原始代码中发现。这些指令将为每个IP地址创建Goroutine(Go中使用的一种线程),执行infectFunctionLilinDvr函数,该函数遵循与BotenaGo相同的命名规则。

让所有反病毒引擎都无法检测到的恶意软件出现了!

使用来自STDIN的输入创建Goroutines的循环

带有函数名称的字符串的存在和没有任何保护(许多恶意软件家族至少使用UPX的修改版本)意味着它并没有试图保护自己免受安全产品和逆向工程攻击。这强化了一种理论,即该可执行文件可能主要由攻击者在手动模式下使用。

设备访问和漏洞利用

当infectFunctionLilinDvr函数接收到要扫描的IP地址时,它首先检查是否可以访问该IP后的设备。Lillin扫描仪代码中包含了11对用户密码凭证,这与以往的恶意软件样本不同,据悉,这些样本仅滥用凭据root/icatch99和report/8Jg0SR8K50。这些凭据是Base64编码的,用于利用RCE漏洞所需的基本身份验证。

让所有反病毒引擎都无法检测到的恶意软件出现了!

用于暴力访问DVR的凭据

让所有反病毒引擎都无法检测到的恶意软件出现了!

基本身份验证尝试

Lillin扫描仪将遍历11个编码凭据,并依次尝试访问根目录,更改授权字段中的Base64字符串。当服务器响应包含HTTP/1.1 200或HTTP/1.0 200的字符串时,它将认为身份验证成功,并试图利用网络时间协议(NTP)配置漏洞。

此漏洞于2020年被发现,是影响Lilin DVR的安全漏洞的一部分,其CVSS v3.1评分为10.0(严重)。

该扫描仪将向URL路径/dvr/cmd和/cn/cmd发送特制的HTTP POST请求,以利用Web界面的命令注入漏洞。

首先,扫描仪试图通过向URL路径/dvr/cmd提交一个POST请求来注入代码。如果注入成功,这个请求就会修改摄像机的NTP配置。修改后的配置包含一个命令,由于存在漏洞,该命令将试图从IP地址136.144.41[.]169下载一个名为wget.sh的文件,然后立即执行其内容。如果对/dvr/cmd的命令注入不成功,扫描仪会尝试对端点/cn/cmd进行同样的攻击。

一旦攻击完成,对同一端点的另一个请求将恢复原来的NTP配置。

让所有反病毒引擎都无法检测到的恶意软件出现了!

使用wget命令的POST请求

文件wget.sh从136.144.41[.]169递归下载多个架构的可执行文件。目标架构是ARM, Motorola 68000, MIPS, PowerPC, SPARC, SuperH, x86。

让所有反病毒引擎都无法检测到的恶意软件出现了!

wget.sh文件的内容

Mirai恶意软件家族

在攻击的第三阶段,每个架构的多个恶意样本试图在摄像机上执行。这些样本属于众所周知的物联网设备威胁Mirai恶意软件家族,这些样本在2022年3月初都已提交给VirusTotal。例如,MIPS架构的两个样本已被确定为与Mirai家族的第三个阶段有关:

· ae0185189e463c6abddf8865972dac72630b6e515e79d3f7566f0983a0eae295

· 28f50f24c930b595f88257748f62d985436ecce1330ff52f09cdd13642591450

让所有反病毒引擎都无法检测到的恶意软件出现了!

TVirusTotal图显示了两个ELF样本和wget.sh文件中包含的wget请求之间的联系

对于x86架构,文件62ef086111b6816d332e298d00ac946c11fac0ed8708fa2668ad3c91ceb96dbf被下载并执行。对该样本的分析揭示了Mirai 恶意软件的一些典型行为。例如,在扫描新设备时,Mirai通常会使用硬编码凭据列表强制进行身份验证。下图为用于暴力破解的凭证的非详尽列表,此列表来自Mirai源代码。

让所有反病毒引擎都无法检测到的恶意软件出现了!

非详尽列表

从下载样本的静态分析中,研究人员检索到扫描模块中使用的凭据列表,其中许多与Mirai源代码中硬编码的凭据相同。

让所有反病毒引擎都无法检测到的恶意软件出现了!

样本的部分代码,与源代码中硬编码使用相同的凭据

与Mirai僵尸网络相关的另一种行为是排除属于美国国防部(DoD)、美国邮政服务(USPS)、通用电气(GE)、惠普(HP)等公司内部网络的IP范围。 

让所有反病毒引擎都无法检测到的恶意软件出现了!

源代码中列出的在扫描时被排除的IP范围

在研究人员分析的样本中,同样的IP范围被排除在扫描程序之外。此外,对随机生成的IP的验证算法与Mirai源代码相同。

让所有反病毒引擎都无法检测到的恶意软件出现了!

在生成要扫描的IP时,部分样本代码排除了一些IP范围

这个工具似乎是利用BotenaGo恶意软件的代码库快速构建的,不同于蠕虫病毒,它的主要目标是利用Mirai可执行文件感染受害者,并提供IP地址列表作为输入,而且它也不能进行自我传播。

    结论

    除了开发全新的项目,攻击者通常还会重复使用已有的代码来构建新的恶意软件。监控这些项目的发展有助于创建更强大和更通用的检测工具,能够在更长的时间内保持主动性,从而更好地防范现代网络威胁。

如侵权请私聊公众号删文


本文来源E安全,经授权后由华盟君发布,观点不代表华盟网的立场,转载请联系原作者。

发表评论