TravisCI Security
Last updated
Last updated
Travis CI je hostovana ili on-premises continuous integration usluga koja se koristi za izgradnju i testiranje softverskih projekata smeštenih na različitim git platformama.
Basic TravisCI InformationDa biste pokrenuli napad, prvo morate znati kako da pokrenete izgradnju. Po podrazumevanim podešavanjima, TravisCI će pokrenuti izgradnju na push-ovima i pull zahtevima:
Ako imate pristup web aplikaciji, možete postaviti crone da pokrenu izgradnju, što može biti korisno za upornost ili pokretanje izgradnje:
Izgleda da nije moguće postaviti crone unutar .travis.yml
prema ovome.
TravisCI podrazumevano onemogućava deljenje env promenljivih sa PR-ovima koji dolaze od trećih strana, ali neko bi mogao omogućiti to, nakon čega biste mogli napraviti PR-ove ka repozitorijumu i eksfiltrirati tajne informacije:
Kao što je objašnjeno na stranici sa osnovnim informacijama, postoje 2 vrste tajni. Tajne okruženja (koje su navedene na web stranici) i prilagođene šifrovane tajne, koje su smeštene unutar .travis.yml
datoteke kao base64 (imajte na umu da će obe, kada su šifrovane, završiti kao env promenljive na krajnjim mašinama).
Da biste enumerisali tajne konfigurisane kao Tajne okruženja, idite na postavke projekta i proverite listu. Međutim, imajte na umu da će sve env promenljive projekta postavljene ovde biti vidljive prilikom pokretanja izgradnje.
Da biste enumerisali prilagođene šifrovane tajne, najbolje što možete uraditi je da proverite .travis.yml
datoteku.
Da biste enumerisali šifrovane datoteke, možete proveriti da li postoje .enc
datoteke u repozitorijumu, za linije slične openssl aes-256-cbc -K $encrypted_355e94ba1091_key -iv $encrypted_355e94ba1091_iv -in super_secret.txt.enc -out super_secret.txt -d
u konfiguracionoj datoteci, ili za šifrovane iv i ključeve u Tajnama okruženja kao što su:
Primer izgradnje sa reverzibilnom ljuskom koja se izvršava na Windows/Mac/Linux
Primer izgradnje koji otkriva env base64 kodiran u logovima
Ako napadač završi u okruženju koje koristi TravisCI enterprise (više informacija o tome šta je ovo u osnovnim informacijama), biće u mogućnosti da pokrene izgradnje na Radniku. To znači da će napadač biti u mogućnosti da se lateralno pomeri na tu server sa kog bi mogao:
pobegne na host?
kompromituje kubernetes?
kompromituje druge mašine koje se izvršavaju u istoj mreži?
kompromituje nove cloud akreditive?