利用redis的未授权漏洞登陆远程主机

(1)redis是什么:

Redis是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库

(2)redis的未授权访问漏洞是redis数据库的登陆设置密码,所以未开启用户认证,可以导致任意的用户可以访问目标服务器的情况下未授权访问redis以及读取、更改redis的数据,攻击者可以利用redis的相关方法在redis的服务器上写入公钥,进而可以使用对应的私钥登入目标服务器

二、      (1)漏洞产生的原因:

Redis的配置文件未开启授权访问,所以任何可以访问服务器的人都可以登陆

(2)系统存在该漏洞的后果

攻击者可以利用该漏洞向目标服务器中的root文件夹下写入ssh登陆需要的公钥文件,从而可以用ssh远程登陆并获得root权限

三、      漏洞的重现和利用

(1)   安装redis4.0.6

利用源码编译安装:在根目录下创建一个redis文件夹,redis放在该文件夹下,tar命令解压,make编译,用src下的redis-server打开redis服务

(2)   修改redis的配置文件redis.conf

将配置文件中的protected-mode后的yes改为no 而且配置文件中未要求使用密码登陆redis,所以可以直接登陆redis

(3)   安装ssh

用dnf installopenssh直接安装

打开ssh

Systemctl startsshd.service

修改文件夹/etc/ssh下的sshd_config配置文件

(4)   利用漏洞写入ssh证书并用ssh登陆目标服务器

用ssh-keygen产生一对公钥,默认存储目录是.ssh文件夹下的id_rsa和id_rsa.pub

 

在.ssh目录下将公钥复制进demo.txt文件

前后各两个回车是为将公钥追加到目标服务器的authorized_key文件后的格式

打开redis

将本地保存公钥的文件上传到目标服务器的redis数据库中并设置键值为invader

利用漏洞进入目标服务器的redis服务,并更改配置文件,将redis的持久化保存文件的位置更改为/root/.ssh/authorized_keys并保存

此时已经将包含公钥的键值对存储在了authorized_keys,可以利用ssh登陆目标服务器了

成功取得目标服务器的root权限,所以可以进行任意更改

(5)   如果公司的系统存在该漏洞那么该公司的系统很容易被进入,并取得最高权限,入侵者可以进行任意的更改,非常不安全

四、      用openvas扫描服务器漏洞

配置扫描目标

扫描结果:

可以看到有一个脆弱性为redisserver no password,

可以看到对该漏洞的总结,影响,解决方法,检查方法

该漏洞的nvt是redis server no password 后面是OID号


仅实验 谨实验


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值