TravisCI Security
Last updated
Last updated
AWS Hacking öğrenin ve pratik yapın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE) GCP Hacking öğrenin ve pratik yapın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)
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 InformationBir saldırı başlatmak için önce bir yapıyı tetiklemeyi bilmeniz gerekir. Varsayılan olarak, TravisCI push'lar ve pull request'ler üzerinde bir yapıyı tetikler:
Web uygulamasına erişiminiz varsa, yapıyı çalıştırmak için cron'lar ayarlayabilirsiniz, bu kalıcılık veya bir yapıyı tetiklemek için faydalı olabilir:
Görünüşe göre, bu doğrultusunda .travis.yml
içinde cron ayarlamak mümkün değil.
TravisCI varsayılan olarak üçüncü taraflardan gelen PR'larla çevresel değişkenlerin paylaşımını devre dışı bırakır, ancak biri bunu etkinleştirebilir ve ardından repo'ya PR'lar oluşturarak gizli bilgileri dışarı sızdırabilirsiniz:
temel bilgiler sayfasında açıklandığı gibi, 2 tür gizli bilgi vardır. Çevresel Değişken gizli bilgileri (web sayfasında listelenen) ve özel şifrelenmiş gizli bilgiler, bunlar .travis.yml
dosyasında base64 olarak saklanır (her ikisi de şifrelenmiş olarak saklandığında son makinelerde çevresel değişkenler olarak sonlanır).
Çevresel Değişkenler olarak yapılandırılan gizli bilgileri listelemek için projenin ayarlarına gidin ve listeyi kontrol edin. Ancak, burada ayarlanan tüm proje çevresel değişkenlerinin bir yapı tetiklendiğinde görüneceğini unutmayın.
Özel şifrelenmiş gizli bilgileri 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 Çevresel Değişkenler içinde şifrelenmiş iv ve anahtarlar arayabilirsiniz:
Windows/Mac/Linux üzerinde ters kabuk çalıştıran örnek yapı
Günlüklerde base64 kodlu çevresel bilgileri sızdıran örnek yapı
Bir saldırgan TravisCI kurumsal kullanan bir ortamda sona ererse (bu konuda daha fazla bilgi temel bilgiler sayfasında), 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?
AWS Hacking öğrenin ve pratik yapın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE) GCP Hacking öğrenin ve pratik yapın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)