TravisCI Güvenliği

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

TravisCI Nedir

Travis CI, çeşitli farklı git platformlarında barındırılan yazılım projelerini oluşturmak ve test etmek için kullanılan barındırılan veya yerel bir sürekli entegrasyon hizmetidir.

Basic TravisCI Information

Saldırılar

Tetikleyiciler

Bir saldırı başlatmak için önce bir yapıyı nasıl tetikleyeceğinizi bilmeniz gerekir. Varsayılan olarak, TravisCI push’lar ve pull request’ler üzerinde bir yapıyı tetikler:

Cron Görevleri

Web uygulamasına erişiminiz varsa, yapıyı çalıştırmak için cron’lar ayarlayabilirsiniz, bu kalıcılık için veya bir yapıyı tetiklemek için faydalı olabilir:

Note

Görünüşe göre, bu doğrultusunda .travis.yml içinde cron ayarlamak mümkün değil.

Üçüncü Taraf PR

TravisCI varsayılan olarak üçüncü taraflardan gelen PR’lerle env değişkenlerini paylaşmayı devre dışı bırakır, ancak biri bunu etkinleştirirse, o zaman repo’ya PR’lar oluşturabilir ve sırları dışarı sızdırabilirsiniz:

Sırları Dökme

Temel bilgiler sayfasında açıklandığı gibi, 2 tür sır vardır. Çevre Değişkenleri sırları (web sayfasında listelenen) ve özel şifrelenmiş sırlar, bunlar .travis.yml dosyasında base64 olarak saklanır (her ikisi de şifrelenmiş olarak saklandığında son makinelerde env değişkenleri olarak sonlanır).

  • Çevre Değişkenleri olarak yapılandırılan sırları listelemek için projenin ayarlarına gidin ve listeyi kontrol edin. Ancak, burada ayarlanan tüm proje env değişkenlerinin bir yapı tetiklendiğinde görüneceğini unutmayın.
  • Özel şifrelenmiş sırları listelemek için yapabileceğiniz en iyi şey .travis.yml dosyasını kontrol etmektir.
  • Şifrelenmiş dosyaları listelemek için repo’da .enc dosyalarını kontrol edebilir, 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 arayabilir veya Çevre Değişkenleri içinde şifrelenmiş iv ve anahtarlar arayabilirsiniz:

YAPILACAKLAR:

  • Windows/Mac/Linux üzerinde çalışan ters shell ile örnek yapı
  • Günlüklerde base64 kodlu env sızdıran örnek yapı

TravisCI Enterprise

Bir saldırgan TravisCI enterprise kullanan bir ortamda sona ererse (bu konuda daha fazla bilgi için temel bilgiler), Worker’da yapıları tetikleyebilir. Bu, bir saldırganın o sunucuya yanlamasına geçebileceği anlamına gelir ve bu sunucudan:

  • ana makineye 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?

Referanslar

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Az Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin