TravisCI Security

Support HackTricks

What is TravisCI

Travis CI एक होस्टेड या स्थानीय निरंतर एकीकरण सेवा है जिसका उपयोग कई विभिन्न गिट प्लेटफार्मों पर होस्ट किए गए सॉफ़्टवेयर प्रोजेक्ट्स को बनाने और परीक्षण करने के लिए किया जाता है।

Basic TravisCI Information

Attacks

Triggers

एक हमले को शुरू करने के लिए, आपको पहले यह जानना होगा कि निर्माण को कैसे ट्रिगर किया जाए। डिफ़ॉल्ट रूप से, TravisCI पुश और पुल अनुरोधों पर निर्माण को ट्रिगर करेगा:

Cron Jobs

यदि आपके पास वेब एप्लिकेशन तक पहुंच है, तो आप निर्माण चलाने के लिए क्रोन सेट कर सकते हैं, यह निरंतरता के लिए या निर्माण को ट्रिगर करने के लिए उपयोगी हो सकता है:

ऐसा लगता है कि .travis.yml के अंदर क्रोन सेट करना संभव नहीं है इस के अनुसार।

Third Party PR

डिफ़ॉल्ट रूप से, TravisCI तीसरे पक्ष से आने वाले PRs के साथ env वेरिएबल साझा करने को अक्षम करता है, लेकिन कोई इसे सक्षम कर सकता है और फिर आप repo में PR बना सकते हैं और रहस्यों को एक्सफिल्ट्रेट कर सकते हैं:

Dumping Secrets

जैसा कि बुनियादी जानकारी पृष्ठ में समझाया गया है, रहस्यों के 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 और कुंजी के लिए:

TODO:

  • Windows/Mac/Linux पर चल रहे रिवर्स शेल के साथ उदाहरण निर्माण

  • लॉग में बेस64 एन्कोडेड env लीक करने वाले उदाहरण निर्माण

TravisCI Enterprise

यदि एक हमलावर एक ऐसे वातावरण में समाप्त होता है जो TravisCI enterprise का उपयोग करता है (इस बारे में अधिक जानकारी बुनियादी जानकारी में है), तो वह वर्कर में निर्माण को ट्रिगर करने में सक्षम होगा। इसका मतलब है कि एक हमलावर उस सर्वर पर पार्श्व रूप से स्थानांतरित होने में सक्षम होगा जिससे वह:

  • मेज़बान से भाग सकता है?

  • कुबेरनेट्स से समझौता कर सकता है?

  • उसी नेटवर्क में चल रही अन्य मशीनों से समझौता कर सकता है?

  • नए क्लाउड क्रेडेंशियल्स से समझौता कर सकता है?

References

Support HackTricks

Last updated