事件分析 | 一起攻击者利用 Redis 未授权访问漏洞进行新型入侵挖矿事件

栏目: 数据库 · 发布时间: 6年前

内容简介:| 本文作者 hanochzhang、 jaryzhou近日,腾讯安全云鼎实验室发现一起针对云上服务器利用 Redis 未授权访问漏洞的入侵挖矿事件,和以往研究发现的入侵挖矿行为相比,此次入侵行为更具有针对性,主要瞄准大型云服务商提供的服务器,并且入侵手法更高级,具备扫描感染、进程隐藏等多种能力。

事件分析 | 一起攻击者利用  <a href='https://www.codercto.com/topics/18994.html'>Redis</a>  未授权访问漏洞进行新型入侵挖矿事件

| 本文作者 hanochzhang、 jaryzhou

近日,腾讯安全云鼎实验室发现一起针对云上服务器利用 Redis 未授权访问漏洞的入侵挖矿事件,和以往研究发现的入侵挖矿行为相比,此次入侵行为更具有针对性,主要瞄准大型云服务商提供的服务器,并且入侵手法更高级,具备扫描感染、进程隐藏等多种能力。

一、入侵分析

攻击者利用 Redis 未授权访问漏洞入侵服务器,写入 crontab 任务下载恶意脚本并植入挖矿程序。仔细分析此次入侵事件,有以下特点:

➢ 从 ident.me 站点获取要感染的 IP 地址,多是大型云服务提供商的服务器地址;

➢ 采用对抗手段,卸载安全产品,极有可能是针对云上服务器的入侵挖矿行为;

➢ 在 root 和 ubuntu 用户目录下写 SSH 公钥,并设置 iptables 禁止外网访问 Redis,后续可通过 SSH 后门入侵;

➢ 受害服务器访问 hxxps://2no.co/11Grb,记录受害者 IP 地址;

➢ 利用 Linux 动态链接库加载机制隐藏进程,使用 top 等命令不能发现异常进程,增加排查难度;

➢ 留存在系统上的恶意脚本功能不全,仅仅守护挖矿进程,隐藏真实的攻击手法;

➢ 挖矿程序经过 UPX 加壳处理,增加检测难度。

恶意脚本中定义的函数如下图:

事件分析 | 一起攻击者利用 Redis 未授权访问漏洞进行新型入侵挖矿事件

由于脚本内容过多,下面先分析脚本的核心部分,再对部分函数进行细致分析。

1. 恶意脚本的核心程序如下:

事件分析 | 一起攻击者利用 Redis 未授权访问漏洞进行新型入侵挖矿事件

恶意脚本首先访问 hxxps://pastebin.com/raw/SGM25Vs3, 返回内容为noupdate 或 update;根据返回内容执行不同的流程,返回内容为 update 则调用 echocron 函数更新 crontab 任务,否则运行一系列函数下载挖矿程序、Redis 扫描等程序;最后访问 hxxps://2no.co/11Grb 记录受害者 IP,并且在服务器的 root 和 ubuntu 用户目录下写入 SSH 公钥,后续的入侵数据也提取到攻击者 SSH 访问的 IP 地址为103.87.9.40,属于3A网络运营商(cnaaa.com)。

事件分析 | 一起攻击者利用 Redis 未授权访问漏洞进行新型入侵挖矿事件

2. 恶意脚本中的部分函数:

☞ tables 函数

事件分析 | 一起攻击者利用 Redis 未授权访问漏洞进行新型入侵挖矿事件

tables 函数设置 iptables 规则,禁止外网访问 Redis 6379端口,运行本地访问6379端口。生成 /tmp/.tables 文件,作为 iptables 规则设置的标志。

☞ uninstall 函数

事件分析 | 一起攻击者利用 Redis 未授权访问漏洞进行新型入侵挖矿事件

uninstall 函数卸载安全产品,生成 /tmp/.uninstall 文件作为卸载成功的标志。

☞ python 函数

事件分析 | 一起攻击者利用 Redis 未授权访问漏洞进行新型入侵挖矿事件

python 函数执行一段 Python 代码,生成 /tmp/.tmpp 作为执行成功的标志。代码比较简单,解码 base64 字符串并调用 exec 执行,base64 解码后内容如下:

事件分析 | 一起攻击者利用 Redis 未授权访问漏洞进行新型入侵挖矿事件

从 hxxps://pastebin.com/raw/eRkrSQfE 获取 base64 编码的内容,解码后执行。解码内容如下:

事件分析 | 一起攻击者利用 Redis 未授权访问漏洞进行新型入侵挖矿事件

Python 脚本扫描外网开放6379端口的服务器,利用 Redis 未授权访问漏洞写 crontab 任务。脚本从 ident.me 站点获取要扫描的 IP 地址,生成B段 IP 地址列表,然后扫描这些 IP 地址,若存在 Redis 未授权漏洞,则写入 crontab 任务,内容如下:

事件分析 | 一起攻击者利用 Redis 未授权访问漏洞进行新型入侵挖矿事件

站点 hxxps://pastebin.com/raw/5bjpjvLP,内容如下:

事件分析 | 一起攻击者利用 Redis 未授权访问漏洞进行新型入侵挖矿事件

hxxps://pastebin.com/raw/Gw7mywhC 返回的内容和最初分析的恶意脚本内容一致,表明攻击者利用受害者的服务器去感染外网存在 Redis 未授权访问漏洞的服务器。

☞ system 函数

事件分析 | 一起攻击者利用 Redis 未授权访问漏洞进行新型入侵挖矿事件

system 函数从 hxxps://pastebin.com/raw/KqzUfgz0 下载脚本命名为 dns,存放于系统 bin 目录下,然后赋予脚本可执行权限,并写入crontab任务。dns 文件内容为

事件分析 | 一起攻击者利用 Redis 未授权访问漏洞进行新型入侵挖矿事件

hxxps://pastebin.com/raw/9DTSBYBt 返回的内容,解码后发现仅保留了下载挖矿程序和写 crontab 任务功能,删除了 Redis 扫描,卸载安全产品等功能。将 dns 文件存放在服务器上,功能越少越方便隐藏攻击者的入侵手法。

☞ top 函数

事件分析 | 一起攻击者利用 Redis 未授权访问漏洞进行新型入侵挖矿事件

top 函数从hxxps://monero.minerxmr.ru/1/1535595427x-1404817712.jpg 下载恶意程序,主要功能是过滤挖矿进程,过滤进程名为 kworkerds。下载文件命名为 libdns.so,存放在系统 /usr/local/lib/ 路径下,然后将 /usr/local/lib/libdns.so 写入 /etc/ld.so.preload,这里是利用 Linux 的动态链接库预加载机制,是一种常用的进程隐藏方法,而系统命令 top 受这个机制影响的。因此在 Linux 上执行 top 命令并不能看到挖矿的进程。

☞ downloadrunxm 函数

事件分析 | 一起攻击者利用 Redis 未授权访问漏洞进行新型入侵挖矿事件

downloadrunxm 下载挖矿配置文件,并根据服务器操作系统位数下载合适的挖矿程序。挖矿程序主要配置信息如下:

stratum+tcp://x1.minerxmr.ru:56415

钱包地址:

47eCpELDZBiVoxDT1tBxCX7fFU4kcSTDLTW2FzYTuB1H3yzrKTtXLAVRsBWcsYpfQzfHjHKtQAJshNyTU88LwNY4Q3rHFYA

下载的挖矿程序都经过 UPX 加壳处理,去壳后分析,发现使用了两种不同挖矿程序,一个是基于 https://github.com/xmrig/xmrig  源码编译的挖矿程序,版本为 XMRig 2.6.5,另一个是挖矿工具 xmr-stak,github 地址为 https://github.com/fireice-uk/xmr-stak,版本为v2.4.7。

二、攻击者信息

通过攻击者使用的 pastebin 站点的 URL 进行分析,发现使用的用户名为 SYSTEMTEN, 地址为 hxxps://pastebin.com/u/SYSTEMTEN

事件分析 | 一起攻击者利用 Redis 未授权访问漏洞进行新型入侵挖矿事件

三、安全建议

利用 Redis 未授权访问漏洞读取 Redis 数据库中的数据,可能导致敏感信息泄露;恶意执行 Redis 提供的 flushall 命令清空数据,可能导致数据丢失;执行 Redis 提供的 config 命令进行文件读写操作,可能导致目标服务器被远程控制。为了避免正常业务受影响,云鼎实验室安全运营团队提醒企业务必高度重视,可按下述方式进行防护。

bind 127.0.0.1

➢ 修改 Redis 默认端口

修改 redis.conf 文件,将默认的6379端口改为其他端口

➢ Redis添加密码验证

修改 redis.conf 文件,设置 Redis 添加密码验证

requirepass mypassword

➢ 禁用高危命令

修改 redis.conf 文件,禁用远程修改DB文件地址

rename-command FLUSHALL ""
rename-command CONFIG   ""
rename-command EVAL     ""

➢ 低权限运行 Redis 服务

给 Redis 服务创建单独的user和home目录,并且配置禁止登陆,例如:

groupadd -r redis && useradd -r -g redis redis

➢ 采用腾讯云 Redis 数据库产品

腾讯云 Redis 数据库产品默认已进行加固且会由相关团队定期维护,不受该漏洞影响。

四、附录

IOCs:

● IP

103.87.9.40
167.99.8.184

● URL

https://pastebin.com/raw/9VbG2qrD
https://pastebin.com/raw/KqzUfgz0
https://pastebin.com/raw/SGM25Vs3
https://pastebin.com/raw/cAfrnxHu
https://pastebin.com/raw/wRrpixP3
https://monero.minerxmr.ru/1/1535595427x-1404817712.jpg
https://monero.minerxmr.ru/1/1537330544x-1404764619.jpg
https://monero.minerxmr.ru/1/1537410304x-1404764882.jpg
https://monero.minerxmr.ru/1/1537410750x-1566657908.jpg
https://monero.minerxmr.ru/2/1535175015x-1404817880.jpg
https://monero.minerxmr.ru/2/1535175343x-1566657675.jpg 
https://monero.minerxmr.ru/2/1534496022x-1404764583.jpg
https://monero.minerxmr.ru/2/1537410304x-1404764882.jpg
https://monero.minerxmr.ru/007/008/1534496022x-1404764583.jpg
https://monero.minerxmr.ru/007/1534496022x-1404764583.jpg
https://monero.minerxmr.ru/007/1535595427x-1404817712.jpg
https://2no.co/11Grb
x1.minerxmr.ru:56415
ident.me

● 样本 MD5

59d04962a3934303cd87f640daa725d1
ff7005e420393e3c18b264bdebe231e7
0497a86dc11e773d93deeb728da0f675
5ab9a32f2a864e2533b382b33c640858
e1a725cdb275e8f6140c2b94f0fbe2e8
a29678541358d595d88ab3c9e95ba29b
e6d66c765048e5c1a997276b6c962720
0497a86dc11e773d93deeb728da0f675
b7992c96303f995669ef0d5926c35ec1
39f37cc04b45210cfa44eeec6e1be283
76e7845eca279ab65783f5eb9ad9d8fb
9ed18ce3c758646ead9dcae17fbf9a95
c1e7f16b7de6fe03848a17333c7c49e0

● 矿池地址

stratum+tcp://x1.minerxmr.ru:56415

● 钱包地址

47eCpELDZBiVoxDT1tBxCX7fFU4kcSTDLTW2FzYTuB1H3yzrKTtXLAVRsBWcsYpfQzfHjHKtQAJshNyTU88LwNY4Q3rHFYA

腾讯安全云鼎实验室 关注云主机与云内流量的安全研究和安全运营。利用机器学习与大数据技术实时监控并分析各类风险信息,帮助客户抵御高级可持续攻击;联合腾讯所有安全实验室进行安全漏洞的研究,确保云计算平台整体的安全性。相关能力通过腾讯云开放出来,为用户提供黑客入侵检测和漏洞风险预警等服务,帮助企业解决服务器安全问题。


以上所述就是小编给大家介绍的《事件分析 | 一起攻击者利用 Redis 未授权访问漏洞进行新型入侵挖矿事件》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Java算法

Java算法

塞奇威克 / 赵文进 / 清华大学出版社 / 2004-06-01 / 59.0

《Java算法》用Java语言全面实现了当今最重要的计算机算法,并用大量图表和数学公式对算法进行了详尽的描述和分析。全书共分3卷,本书是其中的第1卷(第1至第4部分)。内容包括基本概念(第1部分)、数据结构(第2部分)、排序算法(第3部分)和查找算法(第4部分)。本书概念清楚,内容翔实,新颖,由浅入深地描述了算法。本书可作为高等院校计算机相关专业本科生和研究生的教材和补充读物,也可作为Java爱好一起来看看 《Java算法》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码