TravisCI सुरक्षा
Reading time: 4 minutes
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।
TravisCI क्या है
Travis CI एक होस्टेड या स्थानीय निरंतर एकीकरण सेवा है जिसका उपयोग विभिन्न गिट प्लेटफार्मों पर होस्ट किए गए सॉफ़्टवेयर प्रोजेक्ट्स को बनाने और परीक्षण करने के लिए किया जाता है।
हमले
ट्रिगर्स
हमला शुरू करने के लिए आपको पहले यह जानना होगा कि निर्माण को कैसे ट्रिगर किया जाए। डिफ़ॉल्ट रूप से, TravisCI पुश और पुल अनुरोधों पर निर्माण को ट्रिगर करेगा:
क्रोन जॉब्स
यदि आपके पास वेब एप्लिकेशन तक पहुंच है, तो आप निर्माण चलाने के लिए क्रोन सेट कर सकते हैं, यह स्थिरता के लिए या निर्माण को ट्रिगर करने के लिए उपयोगी हो सकता है:
note
ऐसा लगता है कि .travis.yml
के अंदर क्रोन सेट करना संभव नहीं है इस के अनुसार।
थर्ड पार्टी PR
डिफ़ॉल्ट रूप से, TravisCI थर्ड पार्टी से आने वाले PRs के साथ env वेरिएबल साझा करने को अक्षम करता है, लेकिन कोई इसे सक्षम कर सकता है और फिर आप रेपो में PR बना सकते हैं और रहस्यों को एक्सफिल्ट्रेट कर सकते हैं:
रहस्यों का डंपिंग
जैसा कि बुनियादी जानकारी पृष्ठ में बताया गया है, रहस्यों के 2 प्रकार होते हैं। पर्यावरण वेरिएबल रहस्य (जो वेब पृष्ठ में सूचीबद्ध हैं) और कस्टम एन्क्रिप्टेड रहस्य, जो .travis.yml
फ़ाइल के अंदर base64 के रूप में संग्रहीत होते हैं (ध्यान दें कि दोनों एन्क्रिप्टेड के रूप में संग्रहीत होने पर अंतिम मशीनों में env वेरिएबल के रूप में समाप्त होंगे)।
- पर्यावरण वेरिएबल के रूप में कॉन्फ़िगर किए गए रहस्यों की गणना करने के लिए प्रोजेक्ट की सेटिंग्स पर जाएं और सूची की जांच करें। हालाँकि, ध्यान दें कि यहाँ सेट किए गए सभी प्रोजेक्ट env वेरिएबल निर्माण को ट्रिगर करते समय दिखाई देंगे।
- कस्टम एन्क्रिप्टेड रहस्यों की गणना करने के लिए, सबसे अच्छा आप कर सकते हैं वह है
.travis.yml
फ़ाइल की जांच करना। - एन्क्रिप्टेड फ़ाइलों की गणना करने के लिए, आप रेपो में
.enc
फ़ाइलों के लिए देख सकते हैं, कॉन्फ़िगरेशन फ़ाइल मेंopenssl aes-256-cbc -K $encrypted_355e94ba1091_key -iv $encrypted_355e94ba1091_iv -in super_secret.txt.enc -out super_secret.txt -d
जैसी पंक्तियों के लिए, या पर्यावरण वेरिएबल में एन्क्रिप्टेड iv और कुंजी के लिए जैसे:
TODO:
- Windows/Mac/Linux पर रिवर्स शेल चलाने के साथ उदाहरण निर्माण
- लॉग में बेस64 एन्कोडेड env लीक करने के साथ उदाहरण निर्माण
TravisCI एंटरप्राइज
यदि एक हमलावर एक ऐसे वातावरण में समाप्त होता है जो TravisCI एंटरप्राइज का उपयोग करता है (इस बारे में अधिक जानकारी बुनियादी जानकारी में है), तो वह वर्कर में निर्माण को ट्रिगर करने में सक्षम होगा। इसका मतलब है कि एक हमलावर उस सर्वर पर पार्श्व रूप से स्थानांतरित करने में सक्षम होगा जिससे वह:
- मेज़बान पर भाग सकता है?
- कुबेरनेट्स से समझौता कर सकता है?
- उसी नेटवर्क में चल रही अन्य मशीनों से समझौता कर सकता है?
- नए क्लाउड क्रेडेंशियल्स से समझौता कर सकता है?
संदर्भ
- https://docs.travis-ci.com/user/encrypting-files/
- https://docs.travis-ci.com/user/best-practices-security
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
Azure हैकिंग सीखें और अभ्यास करें:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।