Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
В этом райтапе нам предстоит получить 2,5 тысячи пользователей сервера XMPP и валидировать их в Active Directory. Затем мы найдем учетные данные и получим сессию на сервере, используя механизм DCOM. Повысить привилегии нам поможет вредоносный плагин для сервера Openfire.
Наша цель — получение прав суперпользователя на машине Jab с учебной площадки Hack The Box. Уровень сложности — средний.
warning
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Добавляем IP-адрес машины в /etc/hosts
:
10.10.11.4 jab.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
).
Результат работы скрипта
Сканер нашел много открытых портов:
Разведка на SMB ничего не дала, поэтому попробуем найти что‑нибудь на сервере Jabber.
Для подключения к серверу Jabber потребуется какой‑нибудь клиент, например Pidgin.
Устанавливаем:
sudo apt install pidgin
Приветствие Pidgin
Так как у нас нет никаких учетных данных, создадим свою учетную запись.
Создание учетной записи
Создание учетной записи (продолжение)
После чего с созданной учетной записью регистрируемся на сервере.
Регистрация клиента
При присоединении к чату находим еще одно доменное имя.
Присоединение к чату
Добавим его в файл /etc/hosts
.
10.10.11.4 jab.htb conference.jab.htb
Также можно получить список доступных комнат.
Список комнат
Когда все готово, можно поискать пользователей. Для этого нужно перейти в меню «Учетные записи → Пользователь → Искать пользователей → search.jab.htb
». В поле Search указываем звездочку, чтобы искать любые имена.
Поиск пользователей
Список найденных пользователей
Список оказался намного больше, чем я ожидал, поэтому нужно найти способ сохранить свыше 2,5 тысячи пользователей в файл.
Закрываем Pidgin и запускаем его снова, но на этот раз в режиме отладки, с сохранением логов в файл:
pidgin -d > log.txt
Повторяем все действия для получения списка пользователей и проверяем файл.
Содержимое файла log.txt
Теперь из файла log.txt
нужно вытащить имена пользователей и сохранить в другой файл.
grep -oP '<value>K[^<][email protected](?=</value>)' log.txt | cut -d '@' -f 1 | sort | uniq > users.txt
Когда все готово, можно перебрать этих полученных пользователей через Kerbrute. Так мы убеждаемся в том, что пользователи реально существуют в домене.
kerbrute_linux_amd64 userenum -d jab.htb --dc 10.10.11.4 -t 128 ./users.txt
Результат перебора
Почти все пользователи из списка присутствуют в домене. Так как у нас нет никаких учетных данных, попробуем провести атаку AS-Rep Roasting. Ее смысл в том, что мы посылаем на сервер аутентификации анонимный запрос для предоставления определенному пользователю доступа к какой‑либо услуге. На что сервер выдает один из трех ответов:
UF_DONT_REQUIRE_PREAUTH
; Выполнить можно при помощи скрипта impacket-GetNPUsers.
GetNPUsers.py jab.htb/ -usersfile users.txt
Результат проведения атаки
Источник: xakep.ru