Redis默认情况下,会绑定在0.0.0.0:6379,这样将会将Redis服务暴露到公网上,如果在 没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下未授权访问Redis 以及读取Redis的数据。攻击者在未授权访问Redis的情况下可以利用Redis的相关方法,可 以成功在Redis服务器上写入公钥,进而可以使用对应私钥直接登录目标服务器
条件:
a、redis 服务以 root 账户运行b、redis 无密码或弱密码进行认证c、redis 监听在 0.0.0.0 公网上
方法:
a、通过Redis的INFO命令,可以查看服务器相关的参数和敏感信息,为攻击者的后续渗透做铺 垫
b、上传SSH公钥获得SSH登录权限c、通过crontab反弹shell
d、slave主从模式利用
修复: 密码验证降权运行
限制 ip/修改端口
服务端的redis链接存在未授权,在攻击机上面能用redis-cli直接登录链接,并未登录验 证.
服务端的redis连接存在未授权,在攻击机上面能用redis-cli直接登录链接 并未登录验证,服务端存在ssh目录并且有写入的权限.
这个方法只能在Centos上使用,Ubuntu上是行不通的
原因如下: 因为默认redis写文件后是644的权限,但ubuntu要求执行定时任务文
件/var/spool/cron/crontabs/
行,否则会报 错(root) INSECURE MODE (mode 0600 expected),而Centos的定时任务文 件/var/spool/cron/