
यह मॉड्यूल उस स्थिति में स्टार्टअप स्क्रिप्ट निष्पादन का शोषण करने के लिए उपयोग किया जाता है, जब इसे Windows Group Policy सेटिंग्स के माध्यम से किसी रिमोट SMB शेयर से चलाने के लिए कॉन्फ़िगर किया गया हो।
यह मॉड्यूल विंडोज ग्रुप पॉलिसी सेटिंग्स के माध्यम से स्टार्टअप स्क्रिप्ट निष्पादन का शोषण करने के लिए उपयोग किया जाता है, जब इसे रिमोट SMB शेयर से चलाने के लिए कॉन्फ़िगर किया गया हो।
विंडोज ग्रुप पॉलिसी का उपयोग स्टार्टअप स्क्रिप्ट कॉन्फ़िगर करने के लिए किया जा सकता है जो ऑपरेटिंग सिस्टम के चालू होने पर हर बार निष्पादित होंगी। ये स्क्रिप्ट उच्च-स्तरीय विशेषाधिकार, NT AUTHORITY/SYSTEM खाते के साथ निष्पादित होती हैं।
यदि कोई हमलावर ट्रैफ़िक मैनिपुलेशन हमले करने और रीबूट के दौरान ट्रैफ़िक प्रवाह को दुर्भावनापूर्ण SMB सर्वर पर पुनर्निर्देशित करने में सक्षम है, तो SYSTEM खाते के रूप में दूरस्थ रूप से कमांड निष्पादित करना संभव है।
यह मॉड्यूल सभी प्रकार के प्रमाणीकरण को स्वीकार करेगा, चाहे वह अनाम, डोमेन, रिक्त पासवर्ड, गैर-मौजूद खाते हों। यह किसी भी उपयोगकर्ता को SMB सर्वर और शेयर से कनेक्ट करने की अनुमति देगा।
यह फ़ाइल स्पूफिंग भी करेगा और मूल रूप से अनुरोधित फ़ाइल चाहे जो भी हो, और क्लाइंट चाहे किसी भी SMB शेयर से जुड़ा हो, वही फ़ाइल परोस देगा। यदि उपयोगकर्ता foo.vbs का अनुरोध करता है, तो यह उन्हें evil.vbs भेजेगा।
इसका परीक्षण विंडोज 7 सर्विस पैक 1 (x86) पर .bat और .vbs स्क्रिप्ट का उपयोग करके किया गया था।
ब्लॉग पोस्ट: "BadSamba - Exploiting Windows Startup Scripts Using A Malicious SMB Server" - http://blog.gdssecurity.com/labs/2015/1/26/badsamba-exploiting-windows-startup-scripts-using-a-maliciou.html
BadSamba का परीक्षण .bat और .vbs रिमोट स्क्रिप्ट इन्क्लूड का उपयोग करके किया गया है। फ़ाइल एक्सटेंशन मायने रखता प्रतीत होता है, इसलिए यदि यह .bat का अनुरोध कर रहा है, तो .bat ही परोसें।
प्रयोगशाला वातावरण में, प्रमाण-अवधारणा के लिए परीक्षण विंडोज 7 SP1 (अंग्रेज़ी) के विरुद्ध किया गया है। विंडोज के विभिन्न संस्करण अलग-अलग प्रतिक्रिया दे सकते हैं, लेकिन मुख्य अवधारणाएँ समान रहनी चाहिए।
वर्तमान में SMB शेयर के भीतर फ़ाइलों को "ब्राउज़" करना संभव नहीं है। यह SMB प्रोटोकॉल की जटिलता के कारण है, और इस कार्यक्षमता को जोड़ने से मॉड्यूल की जटिलता बहुत बढ़ जाएगी।
प्रोटोकॉल काफी शोरगुल वाला है, और इसलिए यह निर्धारित करना मुश्किल हो सकता है कि फ़ाइल सफलतापूर्वक डाउनलोड हुई थी या इसे डाउनलोड करके निष्पादित किया गया था।
वर्तमान में अनुरोधित फ़ाइलों पर कोई विशेष लॉक नहीं है, और यह फ़ाइल को कई बार डाउनलोड करने की अनुमति देता है। मेरे अनुभव में, यह केवल एक बार निष्पादित होती है, लेकिन यह मॉड्यूल के भीतर शोरगुल वाला आउटपुट बनाती है।