Translated ['src/pentesting-cloud/azure-security/az-privilege-escalation

This commit is contained in:
Translator
2025-01-09 01:06:12 +00:00
parent 39c235f096
commit 4465923ee5
2 changed files with 63 additions and 46 deletions

View File

@@ -1,37 +1,38 @@
# GCP - Enumeración de Repositorios de Código
# GCP - Source Repositories Enum
{{#include ../../../banners/hacktricks-training.md}}
## Información Básica <a href="#reviewing-cloud-git-repositories" id="reviewing-cloud-git-repositories"></a>
## Basic Information <a href="#reviewing-cloud-git-repositories" id="reviewing-cloud-git-repositories"></a>
Google Cloud Source Repositories es un **servicio de repositorio Git privado** completamente funcional y escalable. Está diseñado para **albergar tu código fuente en un entorno completamente gestionado**, integrándose sin problemas con otras herramientas y servicios de GCP. Ofrece un lugar colaborativo y seguro para que los equipos almacenen, gestionen y rastreen su código.
Google Cloud Source Repositories is a fully-featured, scalable, **private Git repository service**. It's designed to **host your source code in a fully managed environment**, integrating seamlessly with other GCP tools and services. It offers a collaborative and secure place for teams to store, manage, and track their code.
Las características clave de Cloud Source Repositories incluyen:
Key features of Cloud Source Repositories include:
1. **Alojamiento Git Totalmente Gestionado**: Ofrece la funcionalidad familiar de Git, lo que significa que puedes usar comandos y flujos de trabajo de Git regulares.
2. **Integración con Servicios de GCP**: Se integra con otros servicios de GCP como Cloud Build, Pub/Sub y App Engine para una trazabilidad de extremo a extremo desde el código hasta la implementación.
3. **Repositorios Privados**: Asegura que tu código se almacene de manera segura y privada. Puedes controlar el acceso utilizando roles de Cloud Identity and Access Management (IAM).
4. **Análisis de Código Fuente**: Trabaja con otras herramientas de GCP para proporcionar análisis automatizados de tu código fuente, identificando problemas potenciales como errores, vulnerabilidades o malas prácticas de codificación.
5. **Herramientas de Colaboración**: Soporta la codificación colaborativa con herramientas como solicitudes de fusión, comentarios y revisiones.
6. **Soporte de Espejo**: Te permite conectar Cloud Source Repositories con repositorios alojados en GitHub o Bitbucket, habilitando la sincronización automática y proporcionando una vista unificada de todos tus repositorios.
1. **Fully Managed Git Hosting**: Offers the familiar functionality of Git, meaning you can use regular Git commands and workflows.
2. **Integration with GCP Services**: Integrates with other GCP services like Cloud Build, Pub/Sub, and App Engine for end-to-end traceability from code to deployment.
3. **Private Repositories**: Ensures your code is stored securely and privately. You can control access using Cloud Identity and Access Management (IAM) roles.
4. **Source Code Analysis**: Works with other GCP tools to provide automated analysis of your source code, identifying potential issues like bugs, vulnerabilities, or bad coding practices.
5. **Collaboration Tools**: Supports collaborative coding with tools like merge requests, comments, and reviews.
6. **Mirror Support**: Allows you to connect Cloud Source Repositories with repositories hosted on GitHub or Bitbucket, enabling automatic synchronization and providing a unified view of all your repositories.
### Información de OffSec <a href="#reviewing-cloud-git-repositories" id="reviewing-cloud-git-repositories"></a>
### OffSec information <a href="#reviewing-cloud-git-repositories" id="reviewing-cloud-git-repositories"></a>
- La configuración de los repositorios de código dentro de un proyecto tendrá una **Cuenta de Servicio** utilizada para publicar mensajes de Cloud Pub/Sub. La que se usa por defecto es la **Compute SA**. Sin embargo, **no creo que sea posible robar su token** de Source Repositories ya que se está ejecutando en segundo plano.
- Para ver el código dentro de la consola web de GCP Cloud Source Repositories ([https://source.cloud.google.com/](https://source.cloud.google.com/)), necesitas que el código esté **dentro de la rama master por defecto**.
- También puedes **crear un Repositorio en Espejo** apuntando a un repo de **Github** o **Bitbucket** (dando acceso a esas plataformas).
- Es posible **codificar y depurar desde dentro de GCP**.
- Por defecto, Source Repositories **previene que claves privadas sean enviadas en commits**, pero esto se puede desactivar.
- The source repositories configuration inside a project will have a **Service Account** used to publishing Cloud Pub/Sub messages. The default one used is the **Compute SA**. However, **I don't think it's possible steal its token** from Source Repositories as it's being executed in the background.
- To see the code inside the GCP Cloud Source Repositories web console ([https://source.cloud.google.com/](https://source.cloud.google.com/)), you need the code to be **inside master branch by default**.
- You can also **create a mirror Cloud Repository** pointing to a repo from **Github** or **Bitbucket** (giving access to those platforms).
- It's possible to **code & debug from inside GCP**.
- By default, Source Repositories **prevents private keys to be pushed in commits**, but this can be disabled.
### Abrir en Cloud Shell
### Open In Cloud Shell
Es posible abrir el repositorio en Cloud Shell, aparecerá un aviso como este:
It's possible to open the repository in Cloud Shell, a prompt like this one will appear:
<figure><img src="../../../images/image (325).png" alt=""><figcaption></figcaption></figure>
Esto te permitirá codificar y depurar en Cloud Shell (lo que podría comprometer cloudshell).
This will allow you to code and debug in Cloud Shell (which could get cloudshell compromised).
### Enumeration
### Enumeración
```bash
# Repos enumeration
gcloud source repos list #Get names and URLs
@@ -42,7 +43,7 @@ gcloud source repos get-iam-policy <repo_name>
gcloud source repos clone <REPO NAME>
gcloud source repos get-iam-policy <REPO NAME>
... git add & git commit -m ...
git push --set-upstream origin master
git push --set-upstream origin $BRANCH
git push -u origin master
# Access via git
@@ -50,16 +51,20 @@ git push -u origin master
git clone ssh://username@domain.com@source.developers.google.com:2022/p/<proj-name>/r/<repo-name>
git add, commit, push...
```
### Escalación de Privilegios y Post Explotación
### Privilege Escalation & Post Exploitation
{{#ref}}
../gcp-privilege-escalation/gcp-sourcerepos-privesc.md
{{#endref}}
### Enumeración No Autenticada
### Unauthenticated Enum
{{#ref}}
../gcp-unauthenticated-enum-and-access/gcp-source-repositories-unauthenticated-enum.md
{{#endref}}
{{#include ../../../banners/hacktricks-training.md}}