
प्रूफ-ऑफ-कॉन्सेप्ट जो MS-Agent Shell टूल में कमांड इंजेक्शन भेद्यता प्रदर्शित करता है, जो सुरक्षा जांचों के Python बायपास के माध्यम से मनमाना कमांड निष्पादन और रिवर्स शेल सक्षम करता है।
MS-Agent फ्रेमवर्क संस्करण 1.5.2 के शेल टूल घटक में एक गंभीर कमांड इंजेक्शन भेद्यता (CVE-2026–2256, CVSS X.X) की पहचान की गई थी। यह भेद्यता उपयोगकर्ता-प्रभावित इनपुट के अनुचित सैनिटाइज़ेशन से उत्पन्न होती है, जिसे सीधे शेल निष्पादन संदर्भ में पारित किया जाता है, जिससे अनपेक्षित कमांड मूल्यांकन संभव हो पाता है। एक हमलावर एजेंट द्वारा उपभोग किए जाने वाले डेटा स्रोतों, जैसे प्रॉम्प्ट, दस्तावेज़, लॉग, या शोध इनपुट में निर्मित सामग्री इंजेक्ट करके इस दोष का शोषण कर सकता है, बिना सीधे शेल एक्सेस या स्पष्ट ऑपरेटर दुरुपयोग की आवश्यकता के। परिणामस्वरूप, एजेंट के सामान्य निष्पादन प्रवाह के भाग के रूप में होस्ट सिस्टम पर MS-Agent प्रक्रिया के विशेषाधिकारों के साथ मनमाने कमांड निष्पादित किए जा सकते हैं, जिससे संभावित रूप से पूर्ण होस्ट समझौता हो सकता है।
शेल टूल MS-Agent का एक आंतरिक घटक है जो एजेंटों को होस्ट पर ऑपरेटिंग सिस्टम कमांड निष्पादित करने की अनुमति देता है। यह अंतर्निहित OS को कमांड निष्पादन सौंपकर फ़ाइल प्रबंधन, निर्देशिका ट्रैवर्सल, और स्वचालन कार्यों जैसे एजेंट वर्कफ़्लो का समर्थन करने के लिए है।
यह सरलीकृत PoC दिखाता है कि ms-agent के शेल टूल में check_safe() फ़ंक्शन को Python का उपयोग करके रिवर्स शेल स्थापित करने के लिए कैसे बायपास किया जा सकता है।
nc (netcat)सुरक्षा जांच को बायपास करने वाले कमांड को सत्यापित करने के लिए PoC चलाएँ। अपेक्षित आउटपुट: ✓ बायपास सफल - कमांड सभी सुरक्षा जांचों को पार कर जाता है
एक नई टर्मिनल विंडो खोलें और चलाएँ:
nc -l 1111
यह पोर्ट 1111 पर एक लिसनर शुरू करता है। इस टर्मिनल को खुला और प्रतीक्षारत छोड़ दें।
अपने मूल टर्मिनल में, चलाएँ:
./reverse_shell_poc.py --execute
संकेत मिलने पर, yes टाइप करें और Enter दबाएँ।
netcat लिसनर वाले टर्मिनल पर स्विच करें (चरण 2 से)। अब आपके पास एक शेल प्रॉम्प्ट होना चाहिए!
इस तरह के कमांड आज़माएँ:
whoami - अपना उपयोगकर्ता नाम देखेंpwd - वर्तमान निर्देशिका देखेंls - फ़ाइलें सूचीबद्ध करेंexit - कनेक्शन बंद करेंpython3 का उपयोग करता हैpython3 ब्लॉक किए गए कमांड की सूची में नहीं हैcheck_safe() फ़ंक्शन इस तरह के कमांड ब्लॉक करता है:
sudo, rm -rf /, chmod, curl | bash, आदि।लेकिन यह ब्लॉक नहीं करता:
python3 (मनमाना कोड निष्पादन)nc (netcat - नेटवर्क कनेक्शन)perl, ruby, node (अन्य इंटरप्रेटर)यह एक गंभीर भेद्यता प्रदर्शित करता है:
परीक्षण के बाद, आप परीक्षण निर्देशिका हटा सकते हैं:
rm -rf /tmp/test_output
यह एक केवल-लोकलहोस्ट प्रदर्शन है (127.0.0.1 से कनेक्ट होता है)। यह PoC जानबूझकर दुरुपयोग के जोखिम को कम करने के लिए रिमोट कनेक्टिविटी से बचता है।