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
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
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.
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:
.png)
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:
.png)
Note
Görünüşe göre, bu doğrultusunda
.travis.ymliç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:
.png)
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.ymldosyasını kontrol etmektir. - Şifrelenmiş dosyaları listelemek için repo’da
.encdosyalarını kontrol edebilir, yapılandırma dosyasındaopenssl aes-256-cbc -K $encrypted_355e94ba1091_key -iv $encrypted_355e94ba1091_iv -in super_secret.txt.enc -out super_secret.txt -dgibi satırlar arayabilir veya Çevre Değişkenleri içinde şifrelenmiş iv ve anahtarlar arayabilirsiniz:
.png)
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
- https://docs.travis-ci.com/user/encrypting-files/
- https://docs.travis-ci.com/user/best-practices-security
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
- Abonelik planlarını kontrol edin!
- Katılın 💬 Discord group veya telegram group veya Twitter’da bizi takip edin 🐦 @hacktricks_live.
- PR göndererek hacking tricks paylaşın: HackTricks ve HackTricks Cloud github repos.
HackTricks Cloud

