Проделывать все это мы будем на машине с площадки Hack The Box. Она называется Shibboleth, а ее сложность отмечена как средняя.
warning
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Добавляем IP-адрес машины в /
:
10.10.11.124 shibboleth.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
).

Мы нашли всего один открытый порт — 80. На хосте активен веб‑сервер Apache 2.4.41.

На сайте ничего интересного найти не удалось, поэтому приступим к перебору адресов в поисках скрытых ресурсов.
Справка: сканирование веба c ffuf
Одно из первых действий при тестировании безопасности веб‑приложения — это сканирование методом перебора каталогов, чтобы найти скрытую информацию и недоступные обычным посетителям функции. Для этого можно использовать программы вроде dirsearch и DIRB.
Я предпочитаю легкий и очень быстрый ffuf. При запуске указываем следующие параметры:
-
-w
— словарь (я использую словари из набора SecLists); -
-t
— количество потоков; -
-u
— URL; -
-fc
— исключить из результата ответы с кодом 403.
Запускаем ffuf:
ffuf -u http://shibboleth.htb/FUZZ -t 256 -w files_interesting.txt -fs 279

Находим файл changelog.
, из которого можем узнать, на чем работает сайт.

Бывает полезно, помимо каталогов, перебрать и виртуальные хосты, то есть поддомены. Используем тот же ffuf и будем перебирать HTTP-заголовок Host
(параметр -H
). Так как ответ на все запросы включает десять строк, отфильтруем их из результата (параметр -fl
):
ffuf -u http://shibboleth.htb -t 256 -w subdomains-top1million-110000.txt -H 'Host: FUZZ.shibboleth.htb' -fl 10

Находим три доменных имени, которые приведут нас на один и тот же сайт. Добавим их в файл /
и заглянем на любой из них. Нас встретит панель авторизации Zabbix.
10.10.11.124 monitor.shibboleth.htb shibboleth.htb

Идти дальше некуда, однако в моем чек‑листе остался неотмеченным пункт сканирования UDP-портов. Это дело долгое, но может дать много полезного. Запускаем.
sudo nmap -sU shibboleth.htb

На порте UDP 623 работает служба IPMI. А по этому протоколу общаются контроллеры управления платами.
Точка входа
Похоже, мы имеем дело с контроллером управления платой, BMCS. Это что‑то вроде мини‑компьютера, который используется для мониторинга настольных компьютеров и серверов. BMCS часто реализованы как встраиваемые системы ARM, работающие под управлением Linux и подключенные непосредственно к материнской плате основной системы. Доступ к сети обеспечивается либо через основную сетевую карту, либо через специальный интерфейс. Почти все серверы и рабочие станции поставляются с той или иной формой BMC.
Продолжение доступно только участникам
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее