Содержание статьи
Наша цель — захват учебной машины Mentor с площадки Hack The Box. Уровень сложности — средний.
warning
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Сканирование портов
Добавляем IP-адрес машины в /
:
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://
. Так как мы раскрыли новый домен, добавляем и его в файл /
.
10.10.11.193 mentor.htb mentorquotes.htb
Также всегда стоит проверять четыре порта UDP, где может работать служба SNMP.
sudo nmap -p161,162,10161,10162 -sU 10.10.11.193
И мы видим, что SNMP работает на порте 161. SNMP — это протокол прикладного уровня, он делает возможным обмен данными между сетевыми устройствами. Протокол позволяет системному администратору проводить мониторинг, контролировать производительность сети и изменять конфигурацию подключенных устройств.
В SNMP используется модель безопасности сommunity-based (на основе строки сообщества). Фактически это идентификатор пользователя или пароль, который отправляется вместе с запросом. Если строка сообщества неверна, агент игнорирует запрос. Давай попробуем пробрутить эти community-строки сканером onesixtyone.
onesixtyone -c snmp_default_pass.txt 10.10.11.193
Нашли только дефолтную строку public
, ничего полезного она нам не дала.
Точка входа
Сканирование SNMP
У меня бывали случаи, когда популярные средства сканирования комьюнити‑строк ничего не находили, а строки все же существовали. По этой причине следующим скриптом пробуем запросить базовую информацию с помощью 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 сетевой менеджер знает, какую информацию он может запросить у агента устройства.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»