近日,深信服安全团队捕获到一款新型的Linux挖矿木马,该木马通过bash命令下载执行多个功能模块,通过SSH暴力破解、SSH免密登录利用、Hadoop Yarn未授权访问漏洞和自动化运维工具内网扩散,且该木马的文件下载均利用暗网代理,感染后会清除主机上的其他挖矿木马,以达到资源独占的目的。
感染现象
被感染的Linux服务器上,可以明显看到一个CPU占用率很高的进程,名字为随机字符:
查看进程对应的可执行文件,是以一串疑似MD5的字符命名(并非文件真实MD5),但已经被删除:
通过crontab –l命令可以看到可疑的定时任务:
定时任务对应的sh脚本内容为base64编码过的命令:
病毒母体-int
该ELF文件是作为病毒的母体和守护进程,运行后会将自身进程名重命名为一个随机的字符串:
删除自身对应的可执行文件:
解码并创建目录/tmp/.X11-unix,检测目录中是否存在00文件,该文件是用于记录进程的pid:
创建子进程
通过setsid,将子进程脱离当前会话并且创建新的会话
并将新的会话进程ID写入/tmp/.X11-unix/00文件:
执行base64编码的bash命令,共有5个不同的bash命令,分别用于下载不同模块和执行不同的功能:
bash-01 本机持久化
解码后的内容如下,功能是用于创建定时任务.xzfix.sh:
定时任务的内容解码后如下,功能为下载int文件:
bash-02 内网传播
主要功能为下载脚本卸载安防产品(其中阿里云的安骑士、腾讯云的云镜等产品):
下载可执行文件trc和bot:
其中trc文件用于Hadoop Yarn未授权访问漏洞利用,运行时会将自身进程ID写入/tmp/.X11-unix/2文件中:
获取当前所有的节点,并且对本地网络进行漏洞攻击
其漏洞执行命令如下,该命令会下载病毒程序hd进行进一步感染:
除漏洞利用外,该挖矿木马还会通过ssh暴力破解进行内网传播:
利用运维工具(ansible、knife、salt)对内网服务器进行批量感染,利用ssh远程执行命令,命令通过base64解码后是下载病毒母体int:
bash-03 竞争对手清理
清除服务器上其他的挖矿木马,改写hosts文件让其他挖矿无法访问对应的域名,以达到独占的目的:
bash-04 下载挖矿
下载可执行文件cpu:
该文件为挖矿程序:
bash-05 状态控制
下载cmd脚本:
cmd脚本中的命令功能是当主机网络无法连接到矿池时,会结束掉自身的挖矿进程,增强隐蔽性:
解决方案
1. 服务器使用复杂密码,且避免与其他密码重复;
2. 如无必要,不要将接口开放在公网,改为本地或者内网调用;
3. 升级Hadoop到2.x版本以上,并启用Kerberos认证功能,禁止匿名访问;
4. 清理随机字符名的可疑进程和高CPU占用进程;
5. 清理恶意定时任务,删除/tmp/.X11-unix目录。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!