SNMP RCE
SNMP RCE
SNMP може бути використаний зловмисником, якщо адміністратор не врахував його типову конфігурацію на пристрої або сервері. Зловмисник може виконати команди на сервері, зловживаючи SNMP-спільнотою з правами запису (rwcommunity) на операційній системі Linux.
Розширення сервісів за допомогою додаткових команд
Для розширення служб SNMP та додавання додаткових команд можна додавати нові рядки до таблиці "nsExtendObjects". Це можливо зробити за допомогою команди snmpset
, надаючи необхідні параметри, включаючи абсолютний шлях до виконуваного файлу та команду для виконання:
Впровадження команд для виконання
Впровадження команд для виконання на службі SNMP передбачає наявність та можливість виконання викликаного бінарного/скриптового файлу. NET-SNMP-EXTEND-MIB
вимагає надання абсолютного шляху до виконавчого файлу.
Для підтвердження виконання впровадженої команди можна використовувати команду snmpwalk
для переліку служби SNMP. Вивід відобразить команду та пов'язані з нею деталі, включаючи абсолютний шлях:
Виконання впроваджених команд
Коли впроваджена команда зчитується, вона виконується. Це поведінка відома як run-on-read()
. Виконання команди можна спостерігати під час читання snmpwalk.
Отримання оболонки сервера за допомогою SNMP
Для отримання контролю над сервером та отримання оболонки сервера можна використовувати сценарій на Python, розроблений mxrch, з https://github.com/mxrch/snmp-shell.git.
Також можна вручну створити зворотню оболонку, впровадивши конкретну команду в SNMP. Ця команда, спровокована snmpwalk, встановлює зворотне з'єднання оболонки з машини атакуючого, що дозволяє контролювати машину жертви. Ви можете встановити передумову для запуску цього:
Або зворотний shell:
Посилання
Last updated