Sicurezza di TravisCI
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.
Cosâè TravisCI
Travis CI è un servizio di integrazione continua hosted o on premises utilizzato per costruire e testare progetti software ospitati su diverse piattaforme git.
Attacchi
Attivatori
Per lanciare un attacco, è necessario prima sapere come attivare una build. Per impostazione predefinita, TravisCI attiverà una build su push e pull request:
.png)
Cron Jobs
Se hai accesso allâapplicazione web, puoi impostare crons per eseguire la build, questo potrebbe essere utile per la persistenza o per attivare una build:
.png)
Note
Sembra che non sia possibile impostare crons allâinterno del
.travis.ymlsecondo questo.
PR di terze parti
TravisCI per impostazione predefinita disabilita la condivisione delle variabili dâambiente con le PR provenienti da terze parti, ma qualcuno potrebbe abilitarlo e poi potresti creare PR per il repo ed esfiltrare i segreti:
.png)
Dumping dei segreti
Come spiegato nella pagina informazioni di base, ci sono 2 tipi di segreti. I segreti delle variabili dâambiente (che sono elencati nella pagina web) e i segreti crittografati personalizzati, che sono memorizzati allâinterno del file .travis.yml come base64 (nota che entrambi, essendo memorizzati in modo crittografato, 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 attivi una build.
- Per enumerare i segreti crittografati personalizzati, il miglior modo è controllare il file
.travis.yml. - Per enumerare i file crittografati, puoi cercare file
.encnel repo, per righe simili aopenssl aes-256-cbc -K $encrypted_355e94ba1091_key -iv $encrypted_355e94ba1091_iv -in super_secret.txt.enc -out super_secret.txt -dnel file di configurazione, o per iv e chiavi crittografate nelle variabili dâambiente come:
.png)
TODO:
- Esempio di build con reverse shell in esecuzione su Windows/Mac/Linux
- Esempio di build che esfiltra lâenv codificato in base64 nei log
TravisCI Enterprise
Se un attaccante si trova in un ambiente che utilizza TravisCI enterprise (maggiori informazioni su cosa sia nella informazioni di base), sarĂ in grado di attivare build nel Worker. Questo significa che un attaccante sarĂ in grado di muoversi lateralmente verso quel server da cui potrebbe essere in grado di:
- scappare verso lâhost?
- compromettere kubernetes?
- compromettere altre macchine in esecuzione nella stessa rete?
- compromettere nuove credenziali cloud?
Riferimenti
- https://docs.travis-ci.com/user/encrypting-files/
- https://docs.travis-ci.com/user/best-practices-security
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.
HackTricks Cloud

