
एक्सप्लॉइट CVE-2019-5736 का उपयोग करके बिटकॉइन माइन करने के लिए कोड नमूना, जिसका मूल कंटेनर या उपयोगकर्ता से कोई संबंध नहीं है।
यह दो ओपन सोर्स लाइब्रेरीज़ का उपयोग करता है:
इसे Kali Linux, Docker संस्करण 18.03.0 और RunC संस्करण 1.0.0-rc5 पर परीक्षण किया गया था।
डॉकर कंटेनर एस्केप कई माइनिंग डेमन शुरू करता है जो प्रक्रिया #1 (कर्नेल) से संबंधित होते हैं। इसका मतलब है कि कंप्यूटर के संसाधनों का उपयोग माइनिंग के लिए किया जाता है बिना स्क्रिप्ट/गणना संसाधनों को आपके कंटेनर से जोड़े।
यह CVE-2019-5736 का लाभ उठाता है। जब कंटेनर चलाया जाता है, तो Docker उसे चलाने के लिए docker-runc का उपयोग करता है, और हम runc के पिड तक पहुँच प्राप्त करते हैं जो हमारे कंटेनर को चला रहा है। फिर हम runc बाइनरी के लिए सिमलिंक के साथ निष्पादन को दूसरे प्रोग्राम (overwrite_runc) पर स्थानांतरित करते हैं। यह सिमलिंक हमें सीधे runc बाइनरी के फ़ाइल डिस्क्रिप्टर की ओर इंगित करता है। यह हमें runc फ़ाइल डिस्क्रिप्टर को लिखने के लिए खोलने और इसे ओवरराइट करने की अनुमति देता है। इसे एक दुर्भावनापूर्ण स्क्रिप्ट से ओवरराइट करके, जब कंटेनर बंद होता है, तो यह स्क्रिप्ट को रूट विशेषाधिकारों के साथ निष्पादित करता है, जिससे हम एक क्रिप्टोमाइनर शुरू कर सकते हैं।
यह परीक्षण बेड पर runc बाइनरी को ओवरराइट करता है, इसलिए इसे चलाने से पहले वास्तविक बाइनरी की प्रतिलिपि बनाना बुद्धिमानी है।
इसे वास्तविक, असुरक्षित प्रणालियों पर उपयोग न करें।