美文网首页Liunx西岭老湿IT编程
我是如何利用Redis黑进你的系统的

我是如何利用Redis黑进你的系统的

作者: Gundy_ | 来源:发表于2017-03-14 10:31 被阅读194次

    在互联网科技如此发达的今天,安全问题,越来越引起人们的重视,各种新闻也是层出不穷。
    但是有很多漏洞公布已久,而今天,未修补的漏洞,更是数之不尽;
    我今天要说的关于 Redis 的问题,其实早在两年前就已经公布,并有了非常完善的解决方案;
    那么在尝试黑进系统之前,我们先来看一下,通过网络空间的搜索引擎,
    查看全球内暴露在公网中的6379端口号:


    公网端口

    截止目前,全球仍有有接近20万台主机的Redis服务器暴露在公网之内,而我只需要链接Redis服务器,
    就可以非常轻松的获取系统的超级管理员权限,那么这台服务器就是我的了;

    下面我就准备两台服务器进行测试:
    192.168.0.227(测试机)
    192.168.0.205(攻击目标)
    首先,我们尝试登陆目标主机,但是因为不知道密码所以无法登陆:


    尝试登陆

    然后 我们尝试用Redis客户端链接:


    redis链接

    能够看到我链接成功,并且能够使用命令进行正常操作;
    其实只要能到这一步,基本就已经算成功入侵了;
    接下来我们 生成自己的公私钥,输入 ssh-keygen 命令
    然后在我们的家目录下就会出现 .ssh 的文件夹,切换目录到.ssh 复制公钥文件 id_rsa.pub 到自己的根目录:


    公私钥

    修改id_rsa.pub 文件,在文件开头和结尾添加回车;
    然后将公钥文件内容,写入目标主机的redis
    shell > cat id_rsa.pub | redis-cli -h 192.168.0.205 -x set ssh-key


    写公钥进redis

    此时,我们再次链接目标主机的redis查看内容:


    查看

    公钥已经写入了目标主机,接下来,我们用config命令,分别查看redis写入日志的文件名和目录:


    redis-config

    然后我们重新设置日志保存路径和日志文件名,并保存redis中的数据:


    修改配置

    然后退出redis,再次使用ssh登录目标主机,此时,已经成功获取 Linux 系统的root账户权限,进入目标主机


    我是如何利用Redis黑进你的系统的

    原理其实非常简单,就是利用了redis可以记录日志的能力,将日志写入 root 用户的 .ssh 中,从而实现root 账户针对攻击者 免密登录的权限;
    那么有攻击就要有防守,我们应该如何防范这种攻击呢?
    通过上面的例子,大家也能看出,本质问题就是,Redis服务器的链接是对外开放的;而我们只需要相应的做出限制就可以了;方案有两种:

    1. 方案1:配置文件中设置允许登录的客户端IP地址:
      如: bind 127.0.0.1;
    2. 方案2:客户端有密链接服务器 :
      如:config set requirepass "password"

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

    原文转自 西岭老湿

    相关文章

      网友评论

      • 西岭老湿:还是简书用户有素质,起码注明了转载出处
        33edb5c24539:西岭老湿 请教一下port:6379 用的搜索工具是什么

      本文标题:我是如何利用Redis黑进你的系统的

      本文链接:https://www.haomeiwen.com/subject/wimcnttx.html