Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
В этом райтапе я покажу, как работать со службой SNMP, чтобы получить информацию, которая поможет в продвижении атаки. Также мы взломаем сайт и получим RCE благодаря уязвимости в API.
Наша цель — захват учебной машины Mentor с площадки Hack The Box. Уровень сложности — средний.
warning
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Добавляем IP-адрес машины в /etc/hosts
:
10.10.11.193 mentor.htb
И запускаем сканирование портов.
Справка: сканирование портов
Сканирование портов — стандартный первый шаг при любой атаке. Он позволяет атакующему узнать, какие службы на хосте принимают соединение. На основе этой информации выбирается следующий шаг к получению точки входа.
Наиболее известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи следующего скрипта:
#!/bin/bashports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr 'n' ',' | sed s/,$//)nmap -p$ports -A $1
Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное сканирование, с использованием имеющихся скриптов (опция -A
).
Результат работы скрипта
Скрипт нашел два открытых порта: 22 — служба OpenSSH 8.9p1 и 80 — веб‑сервер Apache 2.4.52. На порте 80 также отмечаем редирект на сайт http://mentorquotes.htb/
. Так как мы раскрыли новый домен, добавляем и его в файл /etc/hosts
.
10.10.11.193 mentor.htb mentorquotes.htb
Также всегда стоит проверять четыре порта UDP, где может работать служба SNMP.
sudo nmap -p161,162,10161,10162 -sU 10.10.11.193
Результат сканирования портов UDP
И мы видим, что SNMP работает на порте 161. SNMP — это протокол прикладного уровня, он делает возможным обмен данными между сетевыми устройствами. Протокол позволяет системному администратору проводить мониторинг, контролировать производительность сети и изменять конфигурацию подключенных устройств.
В SNMP используется модель безопасности сommunity-based (на основе строки сообщества). Фактически это идентификатор пользователя или пароль, который отправляется вместе с запросом. Если строка сообщества неверна, агент игнорирует запрос. Давай попробуем пробрутить эти community-строки сканером onesixtyone.
onesixtyone -c snmp_default_pass.txt 10.10.11.193
Результат перебора community-строк
Нашли только дефолтную строку public
, ничего полезного она нам не дала.
У меня бывали случаи, когда популярные средства сканирования комьюнити‑строк ничего не находили, а строки все же существовали. По этой причине следующим скриптом пробуем запросить базовую информацию с помощью snmpbulkwalk по каждой строке из словаря. В итоге раскрываем еще одну комьюнити‑строку internal
.
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
Результат выполнения скрипта
Говоря о SNMP, стоит упомянуть MIB. MIB — это иерархическая база данных со сведениями об устройстве. У каждого типа устройства своя MIB-таблица: у принтера в ней содержится информация о состоянии картриджей, а у коммутатора — данные о трафике. Благодаря MIB сетевой менеджер знает, какую информацию он может запросить у агента устройства.
Источник: xakep.ru