AWS - CodeBuild Post Exploitation

Support HackTricks

CodeBuild

Per ulteriori informazioni, controlla:

AWS - Codebuild Enum

Abuso dell'accesso al repository CodeBuild

Per configurare CodeBuild, avrà bisogno di accesso al repository di codice che intende utilizzare. 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 repository configurato e di altri a cui le credenziali impostate hanno accesso. Per fare ciò, un attaccante dovrebbe semplicemente cambiare l'URL del repository a ciascun repository a cui le credenziali di configurazione hanno accesso (nota che il sito web aws elencherà tutti per te):

E cambiare i comandi Buildspec per esfiltrare ciascun repository.

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 i 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
AWS Codebuild - Token Leakage

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 sui 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 sorgente.

Supporta HackTricks

Last updated