AWS - Codebuild Enum
Reading time: 4 minutes
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
CodeBuild
AWS CodeBuild è riconosciuto come un servizio di integrazione continua completamente gestito. Lo scopo principale di questo servizio è automatizzare la sequenza di compilazione del codice sorgente, esecuzione dei test e imballaggio del software per scopi di distribuzione. Il principale vantaggio offerto da CodeBuild risiede nella sua capacità di alleviare gli utenti dalla necessità di fornire, gestire e scalare i propri server di build. Questa comodità è dovuta al fatto che il servizio stesso gestisce questi compiti. Le caratteristiche essenziali di AWS CodeBuild comprendono:
- Servizio Gestito: CodeBuild gestisce e scala i server di build, liberando gli utenti dalla manutenzione dei server.
- Integrazione Continua: Si integra con il flusso di lavoro di sviluppo e distribuzione, automatizzando le fasi di build e test del processo di rilascio del software.
- Produzione di Pacchetti: Dopo le fasi di build e test, prepara i pacchetti software, rendendoli pronti per la distribuzione.
AWS CodeBuild si integra perfettamente con altri servizi AWS, migliorando l'efficienza e l'affidabilità della pipeline CI/CD (Integrazione Continua/Distribuzione Continua).
Credenziali Github/Gitlab/Bitbucket
Credenziali di origine predefinite
Questa è l'opzione legacy in cui è possibile configurare alcuni accessi (come un token o un'app Github) che saranno condivisi tra i progetti codebuild in modo che tutti i progetti possano utilizzare questo set di credenziali configurato.
Le credenziali memorizzate (token, password...) sono gestite da codebuild e non esiste alcun modo pubblico per recuperarle dalle API AWS.
Credenziali di origine personalizzate
A seconda della piattaforma del repository (Github, Gitlab e Bitbucket) vengono fornite diverse opzioni. Ma in generale, qualsiasi opzione che richiede di memorizzare un token o una password lo memorizzerà come un segreto nel gestore di segreti.
Questo consente a diversi progetti codebuild di utilizzare diversi accessi configurati ai fornitori invece di utilizzare solo quello predefinito configurato.
Enumerazione
# List external repo creds (such as github tokens)
## It doesn't return the token but just the ARN where it's located
aws codebuild list-source-credentials
# Projects
aws codebuild list-shared-projects
aws codebuild list-projects
aws codebuild batch-get-projects --names <project_name> # Check for creds in env vars
# Builds
aws codebuild list-builds
aws codebuild list-builds-for-project --project-name <p_name>
aws codebuild list-build-batches
aws codebuild list-build-batches-for-project --project-name <p_name>
# Reports
aws codebuild list-reports
aws codebuild describe-test-cases --report-arn <ARN>
Privesc
Nella pagina seguente, puoi controllare come abuse codebuild permissions to escalate privileges:
Post Exploitation
AWS - CodeBuild Post Exploitation
Unauthenticated Access
AWS - CodeBuild Unauthenticated Access
References
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.