目录
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服务了。
未完待续。。。。。。