利用Redis漏洞,取得服务器管理员权限详细步骤
利⽤Redis漏洞,取得服务器管理员权限详细步骤192.168.0.227(测试机)
192.168.0.205(攻击⽬标)
⾸先,我们尝试登陆⽬标主机,但是因为不知道密码所以⽆法登陆:
image.png
然后 我们尝试⽤Redis客户端链接:
image.png
能够看到我链接成功,并且能够使⽤命令进⾏正常操作;
其实只要能到这⼀步,基本就已经算成功⼊侵了;
接下来我们 ⽣成⾃⼰的公私钥,输⼊ ssh-keygen 命令
然后在我们的家⽬录下就会出现 .ssh 的⽂件夹,切换⽬录到.ssh 复制公钥⽂件 id_rsa.pub 到⾃⼰的根⽬录:
image.png
修改id_rsa.pub ⽂件,在⽂件开头和结尾添加回车;
然后将公钥⽂件内容,写⼊⽬标主机的redis
shell > cat id_rsa.pub | redis-cli -h 192.168.0.205 -x set ssh-key
image.png
此时,我们再次链接⽬标主机的redis查看内容:
image.png
取得管理员权限
公钥已经写⼊了⽬标主机,接下来,我们⽤config命令,分别查看redis写⼊⽇志的⽂件名和⽬录:
image.png
然后我们重新设置⽇志保存路径和⽇志⽂件名,并保存redis中的数据:
image.png
然后退出redis,再次使⽤ssh登录⽬标主机,此时,已经成功获取 Linux 系统的root账户权限,进⼊⽬标主机
image.png
原理其实⾮常简单,就是利⽤了redis可以记录⽇志的能⼒,将⽇志写⼊ root ⽤户的 .ssh 中,从⽽实现root 账户针对攻击者 免密登录的权限;那么有攻击就要有防守,我们应该如何防范这种攻击呢?
通过上⾯的例⼦,⼤家也能看出,本质问题就是,Redis服务器的链接是对外开放的;⽽我们只需要相应的做出限制就可以了;⽅案有两种:
⽅案1:配置⽂件中设置允许登录的客户端IP地址:
如: bind 127.0.0.1;
⽅案2:客户端有密链接服务器 :
如:config set requirepass "password"
当然两种⽅案可以同时使⽤;
但是,请各位⼀定记住,别⼈家开着门,并不是你能随便乱进的理由

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。