
Net-SNMP पर extend कार्यक्षमता के साथ Shell Simulation
यहाँ एक पूर्वावलोकन है :

यदि आपके लक्ष्य में Net-SNMP इंस्टेंस है जिसमें "extend" कार्यक्षमता है, और आपके पास SNMP कम्युनिटी स्ट्रिंग है जो लिखने की पहुँच देती है, तो आप इस उपकरण का उपयोग SNMP RCE के साथ कमांड भेजने की प्रक्रिया को स्वचालित करने के लिए कर सकते हैं।
उपकरण स्वचालित रूप से आपको आपके पथ पर रखता है ताकि एक वास्तविक शैल का अनुकरण किया जा सके।
आप उन सभी कमांड का उपयोग कर सकते हैं जिनकी आप कल्पना कर सकते हैं, उन कमांड को छोड़कर जिनके लिए पूरी तरह से इंटरैक्टिव शैल की आवश्यकता होती है (MySQL, Vim, Nano, आदि)।
Windows के साथ संगत नहीं, क्षमा करें।
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
$ rlwrap python shell.py <IP> -c <community string>
यदि आपको लंबी स्ट्रिंग भेजने की आवश्यकता है, जैसे आपकी SSH सार्वजनिक कुंजी, तो कृपया legacy.py संस्करण का उपयोग करें।
भेजने के लिए वर्ण सीमा छोटी है (SNMP सीमा)।
सुझाव : ed25519 SSH सार्वजनिक कुंजी का उपयोग करें, न कि RSA वाली, यह छोटी होती है।
Usage: shell.py [OPTIONS] IP
Simulates a terminal over Net-SNMP "extend" functionality. Be sure your
SNMP Community String has write access.
Options:
-c, --communitystring TEXT Community string for SNMP
-v, --version TEXT SNMP version (1/2c/3)
-ss, --snmpset TEXT Path for the snmpset binary
-sw, --snmpwalk TEXT Path for the snmpwalk binary
-h, --help Show this message and exit.
https://mogwailabs.de/blog/2019/10/abusing-linux-snmp-for-rce/