GCP - Source Repositories Enum

Aprende hacking en AWS desde cero hasta experto con htARTE (Experto en Red de HackTricks en AWS)!

Otras formas de apoyar a HackTricks:

Información Básica

Google Cloud Source Repositories es un servicio de repositorio Git privado, completamente equipado y escalable. Está diseñado para alojar tu código fuente en un entorno completamente gestionado, integrándose perfectamente con otras herramientas y servicios de GCP. Ofrece un lugar colaborativo y seguro para que los equipos almacenen, gestionen y rastreen su código.

Las características clave de Cloud Source Repositories incluyen:

  1. Alojamiento Git Totalmente Gestionado: Ofrece la funcionalidad familiar de Git, lo que significa que puedes utilizar comandos y flujos de trabajo regulares de Git.

  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 forma segura y privada. Puedes controlar el acceso utilizando roles de Gestión de Identidad y Acceso (IAM) de Cloud.

  4. Análisis de Código Fuente: Trabaja con otras herramientas de GCP para proporcionar un análisis automatizado de tu código fuente, identificando posibles problemas como errores, vulnerabilidades o malas prácticas de codificación.

  5. Herramientas de Colaboración: Admite la codificación colaborativa con herramientas como solicitudes de extracción, comentarios y revisiones.

  6. Soporte de Espejo: Te permite conectar Cloud Source Repositories con repositorios alojados en GitHub o Bitbucket, lo que permite la sincronización automática y proporciona una vista unificada de todos tus repositorios.

Información de OffSec

  • La configuración de los repositorios de origen dentro de un proyecto tendrá una Cuenta de Servicio utilizada para publicar mensajes de Cloud Pub/Sub. La que se utiliza de forma predeterminada es la Cuenta de Servicio de Compute. Sin embargo, no creo que sea posible robar su token desde Repositorios de Origen, ya que se ejecuta en segundo plano.

  • Para ver el código dentro de los Repositorios de Origen de GCP en la consola web (https://source.cloud.google.com/), necesitas que el código esté dentro de la rama principal por defecto.

  • También puedes crear un Repositorio de Origen espejo apuntando a un repositorio de Github o Bitbucket (dando acceso a esas plataformas).

  • Es posible codificar y depurar desde dentro de GCP.

  • Por defecto, Repositorios de Origen evita que se empujen claves privadas en los commits, pero esto se puede deshabilitar.

Abrir en Cloud Shell

Es posible abrir el repositorio en Cloud Shell, aparecerá un aviso como este:

Esto te permitirá codificar y depurar en Cloud Shell (lo que podría comprometer cloudshell).

Enumeración

# Repos enumeration
gcloud source repos list #Get names and URLs
gcloud source repos describe <repo_name>
gcloud source repos get-iam-policy <repo_name>

# gcloud repo clone
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 -u origin master

# Access via git
## To add a SSH key go to https://source.cloud.google.com/user/ssh_keys (no gcloud command)
git clone ssh://username@domain.com@source.developers.google.com:2022/p/<proj-name>/r/<repo-name>
git add, commit, push...

Escalada de Privilegios y Post Explotación

pageGCP - Sourcerepos Privesc

Enumeración sin Autenticación

pageGCP - Source Repositories Unauthenticated Enum
Aprende hacking en AWS desde cero hasta experto con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Última actualización