В этой статье, на примере прохождения уязвимой машины Mentor с сайта Hack The Box, мы рассмотрим сканирование SNMP с помощью инструмента snmpbulkwalk.
Еще по теме: Взлом и защита сетевых принтеров
В SNMP используется модель безопасности сommunity-based (на основе строки сообщества). По факту это идентификатор пользователя или пароль, который отправляется вместе с запросом. Если строка сообщества не правильна, агент игнорирует запрос. Давайте попробуем пробрутить эти community-строки сканером onesixtyone.
1 |
onesixtyone -c snmp_default_pass.txt 10.10.11.193 |
Сканирование выявило только дефолтную строку public. В этом нет нечего полезного.
Сканирование SNMP с помощью snmpbulkwalk
У меня были случаи, когда используемые всеми инструменты для сканирования комьюнити‑строк ничего не находили, а строки таки существовали. Поэтому давайте попробуем запросить базовую информацию с помощью тулзы snmpbulkwalk по каждой строке из словаря.
1 2 3 |
while read line; do echo $line ; snmpbulkwalk -c $line -v2c 10.10.11.193 . 2>/dev/null | head -n 1 done < /usr/share/metasploit-framework/data/wordlists/snmp_default_pass.txt |
Так мы раскрыли еще одну комьюнити‑строку internal.
Рассматривая SNMP, следует упомянуть MIB. MIB — это иерархическая база данных со сведениями об устройстве. У каждого типа устройства своя таблица MIB: у принтера в ней содержится информация о состоянии картриджей, а у коммутатора — данные о трафике.
Благодаря MIB сетевой менеджер знает, какую информацию он может запросить у агента устройства.
Каждый объект в MIB имеет свой уникальный ID — OID, который представлен в числовом формате и имеет иерархическую структуру. OID — это числовой эквивалент пути к файлу. Он присваивает значения каждой таблице в MIB, каждому столбцу в таблице и каждому значению в столбце.
Так, по OID 1.3.6.1.2.1.25.4.2.1.2 мы можем запросить процессы на сетевом устройстве.
1 |
snmpbulkwalk -c internal -v2c 10.10.11.193 1.3.6.1.2.1.25.4.2.1.2 |
Видим, что запущены скрипты login.sh и login.py, а также процесс docker-proxy. У каждого процесса есть так называемая cmdline — полная команда со всеми параметрами, которая передается исполняемой командной оболочке.
Запросить их можно по OID 1.3.6.1.2.1.25.4.2.1.5.
1 |
snmpbulkwalk -c internal -v2c 10.10.11.193 1.3.6.1.2.1.25.4.2.1.5 |
В результате получаем какую‑то интересную строку, передаваемую процессу login.py. Возможно, это пароль.
И так мы переходим к сканированию веб-сервера, о чем поговорим в следующей статье.
ПОЛЕЗНЫЕ ССЫЛКИ:
- Как взломать пароль Cisco
- Лучшие площадки для обучения взлому
- Лучшие хакерские расширения для браузера Firefox