黑客"实战"内容之redis未授权访问漏洞复现
Redis是一种开源的 , 内存中的数据结构存储系统 , 可用作数据库 , 消息代理或缓存 。由于它是在在受信任的环境中访问 , 因此不应在Internet上公开 。但是 , 一些Redis服务绑定到公共接口 , 甚至没有密码身份验证保护 。
在某些情况下 , 如果Redis使用root帐户运行 , 攻击者可以将SSH公钥文件写入root帐户 , 直接通过SSH登录到受害服务器 。这会允许黑客获得服务器权限 , 删除或窃取数据 , 甚至导致加密勒索 , 严重危及正常的业务服务
在正式开始介绍复现过程前 , 先说明一下我复现的是最严重的漏洞利用情况即以root身份登录redis服务写入ssh公钥实现使用ssh免密登录受害主机 。现在先说明一下SSH免密登录的原理(已经了解的童靴们可以直接跳过hhh):
SSH提供两种登录验证方式 , 一种是口令验证也就是账号密码登录 , 另一种是密钥验证也就是我们想要的免密登录了 , 这里我只简单说一下密钥验证的原理 。
所谓密钥验证 , 其实就是一种基于公钥密码的认证 , 使用公钥加密、私钥解密 , 其中公钥是可以公开的 , 放在服务器端 , 你可以把同一个公钥放在所有你想SSH远程登录的服务器中 , 而私钥是保密的只有你自己知道 , 公钥加密的消息只有私钥才能解密 , 大体过程如下:
(1)客户端生成私钥和公钥 , 并把公钥拷贝给服务器端;
(2)客户端发起登录请求 , 发送自己的相关信息;
(3)服务器端根据客户端发来的信息查找是否存有该客户端的公钥 , 若没有拒绝登录 , 若有则生成一段随机数使用该公钥加密后发送给客户端;
(4)客户端收到服务器发来的加密后的消息后使用私钥解密 , 并把解密后的结果发给服务器用于验证;
(5)服务器收到客户端发来的解密结果 , 与自己刚才生成的随机数比对 , 若一样则允许登录 , 不一样则拒绝登录 。
下面我们开始进行漏洞环境的搭建:
从官网下载源码的压缩包 , 程序:
wget http://download.redis.io/releases/redis-3.2.11.tar.gz
文章插图
解压:
tar xzf redis-3.2.11.tar.gz
进入解压后的目录:
cd redis-3.2.11
执行:
Make
执行完毕后 , 进入src目录:
cd src
将redis-server和redis-cli拷贝到/usr/bin目录下(这样启动redis-server和redis-cli就不用每次都进入安装目录了)
cp redis-server /usr/bin
cp redis-cli /usr/bin
文章插图
返回目录redis-3.2.11 , 将redis.conf拷贝到/etc/目录下
Cd
Cp redis.conf /etc/
文章插图
编辑etc中的redis配置文件redis.conf , 如下图所示
Vim redis.conf
文章插图
这样可以去掉ip绑定 , 允许除本地外的主机远程登录redis服务
关闭保护模式 , 允许远程连接redis服务
文章插图
使用/etc/目录下的reids.conf文件中的配置启动redis服务
redis-server /etc/redis.conf
安装ssh服务
使用systemctl start sshd命令启动ssh服务 。
(三)复制虚拟机 , 一个作为靶机 , 一个作为攻击端
至此漏洞环境便已经搭建完毕 , 此时的redis服务是可以以root用户身份远程免密码登录的 。
查看两机器的ip
文章插图
文章插图
虚拟机A(192.168.0.146)为靶机 , 虚拟机B(192.168.0.147)为攻击端
在A中开启redis服务:redis-server /etc/redis.conf
在主机A中执行mkdir /root/.ssh命令 , 创建ssh公钥存放目录
在B中生成ssh公钥和私钥 , 密码设置为空
推荐阅读
- 黑客渗透提权过程解析
- 招聘|大专生“喜从天降”,公安局招聘“门槛”降低,真是专科生的福音
- 淘宝|淘宝可以改账号名了 网友:感谢给我“重新做人”机会
- 空腹饮茶或致“晕茶”
- 你知道“手自一体”是什么吗?手自一体变速箱有哪些优缺点?
- 这3类人可以“免试晋升公务员”,直接获得编制,看看有你吗?
- “智慧档案”!英威腾以科技力量赋能政府档案智能管理
- 壶口瀑布,世界最大的黄色瀑布,看“黄河之水天上来”
- 高房价下,商铺“倒了”,满大街的中介、药店和果蔬店扑面而来
- 国内新能源汽车补贴褪去,康迪要赴美国割“韭菜”?