利用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"

当然两种方案可以同时使用;
但是,请各位一定记住,别人家开着门,并不是你能随便乱进的理由!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容