昨天的文章写了系统被黑过程,原因是redis安全配置没做好,让黑客轻松通过redis设置了ssh免密码登陆,从而成功入侵 对这个攻击过程有点好奇,就查了下相关资料,弄清楚了攻击思路 基本思路 黑客在自己的机器中生成 ssh 的公钥/私钥,需要把公钥放到攻击目标机器中,通过连接到目标机器的redis,把私钥内容保存到redis,然后修改redis的数据文件名称、保存位置,这样就完成了,简单而且巧妙 具体实现 先简单看下ssh免密码登陆原理 例如 A 想要免密码登陆 B A 生成公钥/私钥,并把公钥发给B B 收到公钥文件后,放到 ~/.ssh 目录下,并改名为 authotrized_keys 现在 A 的 ~/.ssh 目录下有私钥文件,B 的 ~/.ssh 目录下有公钥文件 authotrized_keys 这样A就可以直接通过ssh登陆B了
现在黑客本机上已经生成好了公钥/私钥,接下来就要利用redis来传递公钥文件了
如何利用redis
(1)连接到攻击目标机器的redis 目标机器的redis可能没设置密码,或者密码较弱,据统计全世界有5万左右的redis服务器没有设置密码 (2)把公钥文件内容做为值set到redis 这样公钥的内容已经进入了目标系统内 (3)修改redis的工作目录 连接redis后通过config命令来修改 dir 为 ~/.ssh (4)修改redis的数据库文件名 通过config命令修改 dbfilename 为 authorized_keys 此时攻击已经完成,成功产生了 ~/.ssh/authotrized_keys 这个文件,并且其中包含公钥内容 之前写过redis安全性的文章,其中指出3点安全配置 (1)设置高强度密码 (2)bind 指定ip (3)修改命令名称 通过了解这个攻击过程,可以看到只要这3点中有一点做好了,都不会被成功入侵 再次强调要提高安全意识,做好基础的安全防护工作