Translated ['src/banners/hacktricks-training.md', 'src/pentesting-ci-cd/

This commit is contained in:
Translator
2025-01-02 01:13:27 +00:00
parent 599a50fbec
commit c14d2efa43
215 changed files with 1670 additions and 1679 deletions

View File

@@ -1,10 +1,10 @@
# TravisCI Security
# TravisCI Seguridad
{{#include ../../banners/hacktricks-training.md}}
## Qué es TravisCI
**Travis CI** es un servicio de **integración continua** **alojado** o en **local** utilizado para construir y probar proyectos de software alojados en varias **plataformas git diferentes**.
**Travis CI** es un servicio de **integración continua** **alojado** o en **local** utilizado para construir y probar proyectos de software alojados en varias **diferentes plataformas git**.
{{#ref}}
basic-travisci-information.md
@@ -20,7 +20,7 @@ Para lanzar un ataque primero necesitas saber cómo disparar una construcción.
#### Trabajos Cron
Si tienes acceso a la aplicación web, puedes **configurar trabajos cron para ejecutar la construcción**, esto podría ser útil para persistencia o para disparar una construcción:
Si tienes acceso a la aplicación web puedes **configurar trabajos cron para ejecutar la construcción**, esto podría ser útil para persistencia o para disparar una construcción:
![](<../../images/image (243).png>)
@@ -29,17 +29,17 @@ Si tienes acceso a la aplicación web, puedes **configurar trabajos cron para ej
### PR de Terceros
TravisCI, por defecto, desactiva el compartir variables de entorno con PRs provenientes de terceros, pero alguien podría habilitarlo y entonces podrías crear PRs al repositorio y exfiltrar los secretos:
TravisCI por defecto desactiva el compartir variables de entorno con PRs provenientes de terceros, pero alguien podría habilitarlo y entonces podrías crear PRs al repositorio y exfiltrar los secretos:
![](<../../images/image (208).png>)
### Volcado de Secretos
Como se explica en la página de [**información básica**](basic-travisci-information.md), hay 2 tipos de secretos. **Secretos de Variables de Entorno** (que están listados en la página web) y **secretos personalizados cifrados**, que se almacenan dentro del archivo `.travis.yml` como base64 (ten en cuenta que ambos, al ser almacenados cifrados, terminarán como variables de entorno en las máquinas finales).
Como se explica en la página de [**información básica**](basic-travisci-information.md), hay 2 tipos de secretos. **Secretos de Variables de Entorno** (que están listados en la página web) y **secretos encriptados personalizados**, que se almacenan dentro del archivo `.travis.yml` como base64 (ten en cuenta que ambos, al ser almacenados encriptados, terminarán como variables de entorno en las máquinas finales).
- Para **enumerar secretos** configurados como **Variables de Entorno**, ve a la **configuración** del **proyecto** y revisa la lista. Sin embargo, ten en cuenta que todas las variables de entorno del proyecto configuradas aquí aparecerán al disparar una construcción.
- Para enumerar los **secretos personalizados cifrados**, lo mejor que puedes hacer es **revisar el archivo `.travis.yml`**.
- Para **enumerar archivos cifrados**, puedes buscar archivos **`.enc`** en el repositorio, por líneas similares a `openssl aes-256-cbc -K $encrypted_355e94ba1091_key -iv $encrypted_355e94ba1091_iv -in super_secret.txt.enc -out super_secret.txt -d` en el archivo de configuración, o por **iv y claves cifradas** en las **Variables de Entorno** como:
- Para **enumerar secretos** configurados como **Variables de Entorno** ve a la **configuración** del **proyecto** y revisa la lista. Sin embargo, ten en cuenta que todas las variables de entorno del proyecto configuradas aquí aparecerán al disparar una construcción.
- Para enumerar los **secretos encriptados personalizados** lo mejor que puedes hacer es **revisar el archivo `.travis.yml`**.
- Para **enumerar archivos encriptados** puedes buscar archivos **`.enc`** en el repositorio, por líneas similares a `openssl aes-256-cbc -K $encrypted_355e94ba1091_key -iv $encrypted_355e94ba1091_iv -in super_secret.txt.enc -out super_secret.txt -d` en el archivo de configuración, o por **iv y claves encriptadas** en las **Variables de Entorno** como:
![](<../../images/image (81).png>)