Files
2025-10-09 10:28:34 +00:00

3.7 KiB

AWS - CodeBuild Post Exploitation

{{#include ../../../../banners/hacktricks-training.md}}

CodeBuild

Per ulteriori informazioni, controlla:

{{#ref}} ../../aws-services/aws-codebuild-enum.md {{#endref}}

Controlla i Segreti

Se le credenziali sono state impostate in Codebuild per connettersi a Github, Gitlab o Bitbucket sotto forma di token personali, password o accesso token OAuth, queste credenziali verranno memorizzate come segreti nel gestore dei segreti.
Pertanto, se hai accesso per leggere il gestore dei segreti, sarai in grado di ottenere questi segreti e passare alla piattaforma connessa.

{{#ref}} ../../aws-privilege-escalation/aws-secrets-manager-privesc/README.md {{#endref}}

Abuso dell'Accesso al Repo di CodeBuild

Per configurare CodeBuild, avrà bisogno di accesso al repo di codice che utilizzerà. Diverse piattaforme potrebbero ospitare questo codice:

Il progetto CodeBuild deve avere accesso al fornitore di sorgente configurato, sia tramite ruolo IAM che con un token github/bitbucket o accesso OAuth.

Un attaccante con permessi elevati su un CodeBuild potrebbe abusare di questo accesso configurato per leakare il codice del repo configurato e altri a cui le credenziali impostate hanno accesso.
Per fare ciò, un attaccante dovrebbe semplicemente cambiare l'URL del repository a ciascun repo a cui le credenziali di configurazione hanno accesso (nota che il web di aws elencherà tutti per te):

E cambiare i comandi Buildspec per esfiltrare ciascun repo.

Warning

Tuttavia, questo compito è ripetitivo e noioso e se un token github è stato configurato con permessi di scrittura, un attaccante non sarà in grado di (ab)usare quei permessi poiché non ha accesso al token.
O sì? Controlla la sezione successiva

Leakare Token di Accesso da AWS CodeBuild

Puoi leakare l'accesso dato in CodeBuild a piattaforme come Github. Controlla se è stato dato accesso a piattaforme esterne con:

aws codebuild list-source-credentials

{{#ref}} aws-codebuild-token-leakage.md {{#endref}}

codebuild:DeleteProject

Un attaccante potrebbe eliminare un intero progetto CodeBuild, causando la perdita della configurazione del progetto e influenzando le applicazioni che dipendono dal progetto.

aws codebuild delete-project --name <value>

Impatto Potenziale: Perdita della configurazione del progetto e interruzione del servizio per le applicazioni che utilizzano il progetto eliminato.

codebuild:TagResource , codebuild:UntagResource

Un attaccante potrebbe aggiungere, modificare o rimuovere tag dalle risorse di CodeBuild, interrompendo l'allocazione dei costi della tua organizzazione, il tracciamento delle risorse e le politiche di controllo degli accessi basate sui tag.

aws codebuild tag-resource --resource-arn <value> --tags <value>
aws codebuild untag-resource --resource-arn <value> --tag-keys <value>

Impatto Potenziale: Interruzione dell'allocazione dei costi, tracciamento delle risorse e politiche di controllo degli accessi basate su tag.

codebuild:DeleteSourceCredentials

Un attaccante potrebbe eliminare le credenziali di origine per un repository Git, influenzando il normale funzionamento delle applicazioni che dipendono dal repository.

aws codebuild delete-source-credentials --arn <value>

Impatto Potenziale: Interruzione del normale funzionamento delle applicazioni che si basano sul repository interessato a causa della rimozione delle credenziali di origine.

{{#include ../../../../banners/hacktricks-training.md}}