正文
Acme 是一家广受欢迎的播客托管公司,拥有庞大的客户群体。与许多大型运营公司一样,Acme 采用了Apiary的服务,使用户能够安全高效地管理他们的播客。
Apiary 于2017年初被Oracle收购,提供了一套完整的工具集,用于开发、测试和管理REST API。
注册 Acme Services,主页面如下:
上图显示了带有模板的 Apiary REST API 页面。
其中,左侧列出了可用的端点列表,每个端点根据其用途通常具有不同的请求方法,如GET、POST 或 PUT;
中间部分展示了有关每个端点的详细信息;右侧是 REST API 控制台,其中包含修改请求的各种选项,如 URI 参数、请求标头和请求正文;
右侧给出了一个示例URI:https://polls.apiblueprint.org/questions,并只能发送 GET 请求。
根据端点名称questions推测,发送GET请求后将返回与调查相关的内容。使用UI控制台发送请求后,收到了预期的数据:
而该请求在BurpSuite中却是这样的:
也就是说,UI控制台显示的Get请求实质上是通过ttps://jsapi.apiary.io/apis/ssrftest/http-transactions/接口、以POST请求发送的。
其响应包中存在一个URL参数,Apiary 正在创建一个模拟端点,端点环境为apiary-mock:
在生产环境中,通常是一个环境(Staging、Development、QA、Testing、Production、Question 等)对应一个单独的端点。
该应用程序中的环境参数即为请求包中的Destination参数。
尝试将Destination参数由production改为questions:
响应如下,说明在此应用程序中,确实存在多组一一映射关系:
漏洞利用
云提供商(如AWS、Microsoft Azure和Google Cloud)使用的云服务器元数据 REST 接口通常通过 http://169.254.169.254 提供。
该地址是提供实例元数据服务(IMDS)的入口点。IMDS允许实例在运行时获取其自身的详细信息,包括但不限于:
-
实例的ID和名称
-
实例的IP地址和其他网络配置信息
-
实例的操作系统和应用程序信息
-
实例的启动参数和元数据
因此尝试修改URL参数为 http://169.254.169.254/opc/v2/(Oracle Cloud 的实例元数据版本) ,以访问 Oracle Cloud 的 IMDS 端点:
返回包如下:
服务器返回了敏感数据,其中包含三个主要证书文件:cert.pem、Intermediate.pem、key.pem
这三个文件均负责509证书签名过程,接下来,我们在本地配置属性,就可以直接通过Oracle调用接口(OCI)进行渗透测试。
第一步:使用Python的Flask模块在本地设置一个服务器。之后当我们向实际服务器发送请求时,我们的本地服务器将通过自定义的本地地址获取所有三个证书文件。
第二步:使用命令sudo /sbin/ifconfig lo0 169.254.169.254 netmask 255.255.255.0 up,将本地主机地址重置为与IMDSv1地址相同(169.254.169.254)。此后,在向OCI服务器发送命令时,它将在IMDSv1服务器(即本地)上查找这三个证书文件。
第三步:认证成功。
接着我们就可以执行命令:
oci–auth instance_principal iam compartment list–compartment id ocid1.tancy.oc1..aaaaaaaa t6du5rqytqh7vxfxh3fxbij7abcdefghiklmnopqrstuvxyz
该命令用于列出指定 compartment-id 的 IAM(身份和访问管理)部门。
--auth instance_principal 表示我们使用实例主体身份验证,ocid1.tenancy.oc1..aaaaaaaat6du5rqytqh7vxfxh3fxbij7abcdefghiklmnopqrstuvwxyz 是一个示例的租户ID(Tenancy OCID),用于指定我们要查询的部门所在的租户。
回显如下,获取敏感数据:
原文出处:
https://orca.security/resources/blog/oracle-server-side-request-forgery-ssrf-attack-metadata/
SRC漏洞挖掘培训
往期漏洞分享
SSRF 之 Azure Digital Twins Explorer
玲珑安全交流群
玲珑安全B站免费公开课
https://space.bilibili.com/602205041
原文始发于微信公众号(芳华绝代安全团队):Oracle Apiary:SSRF获取元数据
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论