【数据库提权】Redis未授权访问常见提权方式


0x001 验证是否存在未授权访问

Redis在默认情况会将服务绑定在6379端口上,从而将服务暴露在公网环境下,如果在没有开启安全认证的情况下,可以导致任意用户未授权访问Redis服务器并Redis进行读写等操作。

使用redis客户端redis-cli.exe连接,默认开放6379端口。

redis-cli.exe -h 192.168.8.131 -p 6379

在这里插入图片描述

0x002 利用计划任务执行命令反弹shell

0x003 通过向Web目录中写webshell的方式进行getshell

0x004 通过写SSH key的方式进行getshell

0x005 修复方案

注意:以下操作,均需重启 Redis 后才能生效。

1、绑定需要访问数据库的IP。 将127.0.0.1修改为需要访问此数据库的IP地址。
2、设置访问密码。在 Redis.conf中requirepass 字段后,设置添加访问密码。
3、修改Redis服务运行账号。以较低权限账号运行Redis服务,禁用账号的登录权限。
(1)、修改redis配置文件,windows系统下是redis.windows.conf文件,Linux系统下是redis.conf文件。

首先,找到bind 127.0.0.1配置,redis默认只监听本机的请求,将此配置注释掉或配置指定IP地址。

其次,找到protected-mode yes配置,将yes改为no。

最后,安全起见,找到# requirepass foobared配置,取消注释,并修改掉默认密码foobared。此配置为可选项。

(2)、以指定配置文件的方式启动redis服务,例如:redis-server.exe redis.windows.conf

(3)、然后就可以使用redis-cli客户端程序访问远程主机的redis服务了。

未完待续。。。。。。

猜你喜欢

转载自blog.csdn.net/weixin_44032232/article/details/114286026
今日推荐