TravisCI Security

Impara l'hacking di AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!

Altri modi per supportare HackTricks:

Cos'è TravisCI

Travis CI è un servizio di integrazione continua ospitato o in locale utilizzato per compilare e testare progetti software ospitati su diverse piattaforme git diverse.

pageBasic TravisCI Information

Attacchi

Trigger

Per lanciare un attacco è necessario prima sapere come attivare una build. Per impostazione predefinita, TravisCI attiverà una build su push e pull request:

Cron Jobs

Se si ha accesso all'applicazione web è possibile impostare crontab per eseguire la build, questo potrebbe essere utile per la persistenza o per attivare una build:

Sembra che non sia possibile impostare crontab all'interno del file .travis.yml secondo questo.

PR di terze parti

TravisCI di default disabilita la condivisione delle variabili d'ambiente con le PR provenienti da terze parti, ma qualcuno potrebbe abilitarlo e quindi potresti creare PR nel repository ed estrarre i segreti:

Estrarre Segreti

Come spiegato nella pagina delle informazioni di base, ci sono 2 tipi di segreti. I segnreti delle variabili d'ambiente (che sono elencati nella pagina web) e i segnreti personalizzati criptati, che sono memorizzati all'interno del file .travis.yml come base64 (nota che entrambi, memorizzati criptati, finiranno come variabili d'ambiente nelle macchine finali).

  • Per enumerare i segreti configurati come Variabili d'ambiente vai alle impostazioni del progetto e controlla l'elenco. Tuttavia, nota che tutte le variabili d'ambiente del progetto impostate qui appariranno quando si attiva una build.

  • Per enumerare i segnreti personalizzati criptati la cosa migliore che puoi fare è controllare il file .travis.yml.

  • Per enumerare i file criptati puoi controllare i file .enc nel repository, per righe simili a openssl aes-256-cbc -K $encrypted_355e94ba1091_key -iv $encrypted_355e94ba1091_iv -in super_secret.txt.enc -out super_secret.txt -d nel file di configurazione, o per iv e chiavi criptate nelle Variabili d'ambiente come:

DA FARE:

  • Esempio di build con reverse shell in esecuzione su Windows/Mac/Linux

  • Esempio di build che lascia trapelare l'ambiente codificato in base64 nei log

TravisCI Enterprise

Se un attaccante finisce in un ambiente che utilizza TravisCI enterprise (ulteriori informazioni su cosa sia in informazioni di base), sarà in grado di attivare le build nel Worker. Ciò significa che un attaccante sarà in grado di muoversi lateralmente verso quel server da cui potrebbe essere in grado di:

  • scappare all'host?

  • compromettere kubernetes?

  • compromettere altre macchine in esecuzione nella stessa rete?

  • compromettere nuove credenziali cloud?

Riferimenti

Impara l'hacking di AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!

Altri modi per supportare HackTricks:

Last updated