TravisCI Security
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Travis CI एक होस्टेड या स्थानीय निरंतर एकीकरण सेवा है जिसका उपयोग कई विभिन्न गिट प्लेटफार्मों पर होस्ट किए गए सॉफ़्टवेयर प्रोजेक्ट्स को बनाने और परीक्षण करने के लिए किया जाता है।
Basic TravisCI Informationएक हमले को शुरू करने के लिए, आपको पहले यह जानना होगा कि निर्माण को कैसे ट्रिगर किया जाए। डिफ़ॉल्ट रूप से, TravisCI पुश और पुल अनुरोधों पर निर्माण को ट्रिगर करेगा:
यदि आपके पास वेब एप्लिकेशन तक पहुंच है, तो आप निर्माण चलाने के लिए क्रोन सेट कर सकते हैं, यह निरंतरता के लिए या निर्माण को ट्रिगर करने के लिए उपयोगी हो सकता है:
ऐसा लगता है कि .travis.yml
के अंदर क्रोन सेट करना संभव नहीं है इस के अनुसार।
डिफ़ॉल्ट रूप से, TravisCI तीसरे पक्ष से आने वाले PRs के साथ env वेरिएबल साझा करना बंद कर देता है, लेकिन कोई इसे सक्षम कर सकता है और फिर आप repo में PR बना सकते हैं और रहस्यों को एक्सफिल्ट्रेट कर सकते हैं:
जैसा कि बुनियादी जानकारी पृष्ठ में समझाया गया है, रहस्यों के 2 प्रकार हैं। पर्यावरण वेरिएबल रहस्य (जो वेब पृष्ठ पर सूचीबद्ध हैं) और कस्टम एन्क्रिप्टेड रहस्य, जो .travis.yml
फ़ाइल के अंदर base64 के रूप में संग्रहीत होते हैं (ध्यान दें कि दोनों एन्क्रिप्टेड के रूप में संग्रहीत होने पर अंतिम मशीनों में env वेरिएबल के रूप में समाप्त होंगे)।
पर्यावरण वेरिएबल के रूप में कॉन्फ़िगर किए गए रहस्यों की गणना करने के लिए, प्रोजेक्ट की सेटिंग्स पर जाएं और सूची की जांच करें। हालाँकि, ध्यान दें कि यहाँ सेट किए गए सभी प्रोजेक्ट env वेरिएबल निर्माण को ट्रिगर करते समय दिखाई देंगे।
कस्टम एन्क्रिप्टेड रहस्यों की गणना करने के लिए, सबसे अच्छा आप कर सकते हैं वह है .travis.yml
फ़ाइल की जांच करना।
एन्क्रिप्टेड फ़ाइलों की गणना करने के लिए, आप repo में .enc
फ़ाइलों के लिए देख सकते हैं, कॉन्फ़िगरेशन फ़ाइल में openssl aes-256-cbc -K $encrypted_355e94ba1091_key -iv $encrypted_355e94ba1091_iv -in super_secret.txt.enc -out super_secret.txt -d
जैसी पंक्तियों के लिए, या पर्यावरण वेरिएबल में एन्क्रिप्टेड iv और कुंजी के लिए:
Windows/Mac/Linux पर चल रहे रिवर्स शेल के साथ उदाहरण निर्माण
लॉग में बेस64 एन्कोडेड env लीक करने वाले उदाहरण निर्माण
यदि एक हमलावर एक ऐसे वातावरण में समाप्त होता है जो TravisCI enterprise का उपयोग करता है (इस बारे में अधिक जानकारी बुनियादी जानकारी में है), तो वह वर्कर में निर्माण को ट्रिगर करने में सक्षम होगा। इसका मतलब है कि एक हमलावर उस सर्वर पर पार्श्व रूप से स्थानांतरित होने में सक्षम होगा जिससे वह सक्षम हो सकता है:
क्या मेज़बान से भागना?
कुबेरनेट्स से समझौता करना?
क्या उसी नेटवर्क में चल रही अन्य मशीनों से समझौता करना?
नए क्लाउड क्रेडेंशियल्स से समझौता करना?
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)