作者: Ksh0m、imbeee @360sglab
简述
在2018年11月,360观星实验室接到某客户Linux服务器挖矿,发现这是一起通过consul服务(一种配置管理云平台的分布式服务,默认开启端口8500)的RCE漏洞进行传播和植入的挖矿恶意木马,该木马会下载到/var/tmp目录下并命名为systemd-xxxx,并上传用户信息,而控制的CC隐藏在Tor网络。无独有偶,近日观星实验室又捕获到类似样本,发现黑客更新了域名和样本信息
事件分析
旧的恶意样本位于/var/tmp目录下名称为systemd-check,新的恶意样本位于/tmp目录下命名为systemd-login,基本信息如下
截止3月21日,VT记录上还未有杀软引擎报毒
黑客的攻击手法是扫描暴露在公网的Consul的8500端口,利用Consul RCE漏洞注册执行脚本,并通过常见服务器运维工具如ansible、salt或knife下发恶意代码执行,注册脚本如下:
或
黑客将CC隐藏在Tor网络中,并通过tor2web.io等暗网反向代理服务来使被攻击的机器正常访问,拉取恶意文件sytemd-check并执行后取消其注册在Consul上的脚本
样本分析
systemd-login(elf64)
原始样本被加了UPX 壳,脱壳后,其主要流程如下
样本首先检测LD_PRELOAD变量
并将恶意文件移动到/lib/systemd/systemd-login和~/.systemd-login
并将pid写入到/tmp/.X1M-unix防止重复感染
随后执行一段内置的Base64编码的脚本
此段代码功能如下
- 将用户信息拼接成字符串并base64编码后,作为refer访问CC的/slave外带数据,目前请求该uri为404,猜测通过其访问日志来记录信息
- 向cc请求/systemd-resolve文件并下载到/tmp目录,该文件目前不存在
- 通过ansible、salt或knife工具执行如下代码
这段循环同样是执行内置的Base64编码脚本文件
第一段是写入计划任务
第二段是清理其它挖矿进程
第三段是下载systemd-analyze文件到/tmp/.systemd-analyze,目前该文件不存在
第四段是恶意文件更新的脚本
第五段脚本功能与第四段相同
systemd-check(elf32)
与systemd-login流程类似,函数执行顺序如图所示
处置方法
- 升级Consul版本,且不要将服务暴露在公网
- 停止恶意进程并清理相关计划任务及文件
IOC
9B6A6282B47D9E7F067309AFEF9DEBF0
57B4EF04FBB773B3661287D5A2B3688E
发表评论
您还未登录,请先登录。
登录