TravisCI Security
Last updated
Last updated
Travis CI, çeşitli farklı git platformlarında barındırılan ve inşa edilen yazılım projelerini test etmek için kullanılan barındırılan veya yerinde bir sürekli entegrasyon hizmetidir.
Basic TravisCI InformationBir saldırı başlatmak için önce bir yapıyı nasıl tetikleyeceğinizi bilmelisiniz. Varsayılan olarak TravisCI, itişmeleri ve çekme isteklerini tetikleyecektir:
Web uygulamasına erişiminiz varsa, yapıyı çalıştırmak için cronlar ayarlayabilirsiniz, bu kalıcılık için veya bir yapıyı tetiklemek için yararlı olabilir:
Şu adresine göre .travis.yml
içinde cronlar ayarlamak mümkün görünmüyor.
TravisCI varsayılan olarak üçüncü taraflardan gelen çekme istekleriyle env değişkenlerini paylaşmayı devre dışı bırakır, ancak biri bunu etkinleştirebilir ve sonra repo'ya çekme istekleri oluşturarak sırları dışa aktarabilirsiniz:
Temel bilgiler sayfasında açıklandığı gibi, 2 tür sır vardır. Çevre Değişkeni sırları (web sayfasında listelenenler) ve özel şifreli sırlar, .travis.yml
dosyasının içinde base64 olarak saklanır (her ikisi de şifreli olarak saklanacak ve nihai makinelerde çevre değişkenleri olarak sona erecektir).
Çevre Değişkeni olarak yapılandırılmış sırları sıralamak için projenin ayarlarına gidin ve listeyi kontrol edin. Ancak, burada ayarlanan tüm proje çevre değişkenleri, bir yapıyı tetiklediğinizde görünecektir.
Özel şifreli sırları sıralamak için en iyi şey .travis.yml
dosyasını kontrol etmektir.
Şifreli dosyaları sıralamak için repo'da .enc
dosyalarını, yapılandırma dosyasında openssl aes-256-cbc -K $encrypted_355e94ba1091_key -iv $encrypted_355e94ba1091_iv -in super_secret.txt.enc -out super_secret.txt -d
gibi satırları veya Çevre Değişkenlerinde şifreli iv ve anahtarları kontrol edebilirsiniz:
Windows/Mac/Linux üzerinde çalışan ters kabuklu örnek yapı
Günlüklerde base64 kodlanmış çevreyi sızdıran örnek yapı
Bir saldırgan, TravisCI enterprise kullanan bir ortama girerse (bu hakkında daha fazla bilgiyi temel bilgiler bölümünde bulabilir), İşçide yapıları tetikleyebilecektir. Bu, bir saldırganın o sunucuya yatay olarak hareket edebileceği anlamına gelir ve ardından:
ana sunucuya kaçabilir mi?
kubernetes'i tehlikeye atabilir mi?
aynı ağda çalışan diğer makineleri tehlikeye atabilir mi?
yeni bulut kimlik bilgilerini tehlikeye atabilir mi?