利用Consul RCE漏洞传播的挖矿木马分析

阅读量    132289 |

分享到: QQ空间 新浪微博 微信 QQ facebook twitter

 

作者:  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流程类似,函数执行顺序如图所示

 

处置方法

  1. 升级Consul版本,且不要将服务暴露在公网
  2. 停止恶意进程并清理相关计划任务及文件

 

IOC

9B6A6282B47D9E7F067309AFEF9DEBF0

57B4EF04FBB773B3661287D5A2B3688E

分享到: QQ空间 新浪微博 微信 QQ facebook twitter
|推荐阅读
|发表评论
|评论列表
加载更多