本帖最后由 某公司_智安全 于 2019-4-15 14:29 编辑
0x0 背景概述
近日,某公司安全团队捕获一枚Linux、windows双平台的挖矿病毒样本,通过安全人员分析确认,该木马是通过redis漏洞传播的挖矿木马DDG的最新变种,使用当前最新的go语言1.10编译使用了大量的基础库文件,该木马会大量消耗服务器资源,难以清除并具有内网扩散功能。 DDG挖矿病毒是一款在Linux系统下运行的恶意挖矿病毒,该病毒从去年一直活跃在现在,已经挖取了价值一千多万人民币的虚拟币货币,此病毒样本在一年左右的时间,已开发出了DDG.3012/DDG3013/DDG3020多个变种版本。
主要功能如下: | | | 横向移动模块,包含mssql redis thinkphp weblogic等漏洞探测模块 | | 根据获取到的系统版本下载针对性Payload执行、CC通信模块 | | | | | | |
0x01 现象描述 根据安全感知SIP报警提示,某主机会每隔3个小时从互联网去下载一个update.sh的恶意脚本连接地址为: 43.245.222.57:8667/6Hxxxxxx/update.sh
同时对外网发起redis的扫描:
通过威胁情报关联发现,当前还未收录该URL的相关情报,查询提示非恶意:
最新的日期为4月8日:
0x02 主机排查
安全人员通过对主机进行排查发现,当前的挖矿进程当前的CPU已经达到了399%左右,并且该进程名与PID都会间隔一定的时间变换:
程序的主要目录在tmp下面:
在tmp目录下发现病毒主体的样本创建用户为nobody:
同时使用定时任务做长期的存活,每间隔30分钟执行一次:
Update.sh脚本主要实现的功能比较多,足足有15KB那么大,主要包含的功能如下: 1. 病毒主体的恶意文件下载 2. Kill其他的其他挖矿进程 3. 写入authorized_keys实现root的免密码登录 4. 创建定时任务 5. 添加iptables策略、清除系统日志等操作
写入authorized_keys实现root的免密码登录截图如下:
0x03 病毒样本分析 Sysupdate模块 该程序由go语言编写,由于没有符号文件,所以函数全都是匿名的。Go语言的编译器不同版本有很大区别,因此在分析过程中需要先识别一下版本信息,该木马的编译器版本为1.10:
从函数的名字可以看出,该组件主要作用是用来内网扫描,横向移动。继续跟进相关函数,寻找具体功能;该程序导入了多个模块,对内网中不同服务进行攻击包含mssql redis thinkphp weblogic等漏洞:
Sysguard模块 这个组件主要工作是开启dog的一些方法,继续跟踪发现内部会有一些不同平台的识别,配合组件二的扫描结果,下载攻击载荷payload,执行相应的os系统命令完成攻击任务。所以判断该挖矿程序是可以在win和linux下均可运行的:
通过cc服务器实现的一系列方法,选中的函数的功能是获取windows的powershell:
Sysupdate模块 该组件正是挖矿组件的挖矿部分使用开源的xmrig:
0x04 加固建议
1.清理系统内全部用户的相关的恶意定时任务; 2.删除tmp目录下的恶意病毒文件; 3.修复相关的漏洞、使用强密码、对redis mssql等系统设置访问控制权限; 4.使用某公司安全产品,接入安全云脑,使用云查服务可以即时检测防御新威胁; 5.建议企业对全网进行一次安全检查和杀毒扫描,加强防护工作。推荐使用某公司安全感知+防火墙+EDR,对内网进行感知、查杀和防护。
IOC
URL https://pixeldrain.com/api/file/3myaXqqZ http://43.245.222.57:8667/6HqJB0SPQqbFbHJD/sysupdate http://43.245.222.57:8667/6HqJB0SPQqbFbHJD/update.sh http://43.245.222.57:8667/6HqJB0SPQqbFbHJD/config.json https://pixeldrain.com/api/file/aQWIprw http://43.245.222.57:8667/6HqJB0SPQqbFbHJD/networkservice https://pixeldrain.com/api/file/o4m-DmH6 http://43.245.222.57:8667/6HqJB0SPQqbFbHJD/sysguard
MD5 networkservice 64F11B25EBA509B5EF958B0BD70398D3 sysguard C562BE2E56509236AFA25782B690E67C sysupdate FF879D31ED80841482C27C90E2BFE268 Update.sh 7CE3D45CE6D2831677B8951E53390302 |