Содержание статьи
Наша цель — получение прав суперпользователя на машине Puppy с учебной площадки Hack The Box. Уровень сложности задания — средний.
warning
Подключаться к машинам с HTB рекомендуется с применением средств анонимизации и виртуализации. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Сканирование портов
Добавляем IP-адрес машины в /
:
10.10.11.70 puppy.htb
На этот раз, помимо IP-адреса, нам доступны учетные данные пользователя домена.

Просканируем порты.
Справка: сканирование портов
Сканирование портов — стандартный первый шаг при любой атаке. Он позволяет атакующему узнать, какие службы на хосте принимают соединение. На основе этой информации выбирается следующий шаг к получению точки входа.
Наиболее известный инструмент для сканирования — это Nmap. Улучшить результаты его работы ты можешь при помощи следующего скрипта:
#!/bin/bashports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '' ',' | sed s/,$//)nmap -p$ports -A $1
Он действует в два этапа. На первом производится обычное быстрое сканирование, на втором — более тщательное сканирование, с использованием имеющихся скриптов (опция -A
).

Сканер нашел 13 открытых портов:
- 88 — служба Kerberos;
- порты 111, 2049 — служба Network File System (NFS);
- 135 — Microsoft RPC;
- 139 — служба сеансов NetBIOS, NetLogon;
- 389 — LDAP;
- 445 — SMB;
- 464 — служба смены пароля Kerberos;
- 593 (HTTP-RPC-EPMAP) — используется в службах DCOM и MS Exchange;
- 636 — LDAP с шифрованием SSL или TLS;
- 3268 (LDAP) — для доступа к Global Catalog от клиента к контроллеру;
- 3269 (LDAPS) — для доступа к Global Catalog от клиента к контроллеру через защищенное соединение;
- 5985 — служба удаленного управления WinRM.
Первым делом проверим выданные нам учетные данные с помощью NetExec.
nxc smb 10.10.11.70 -u levi.james -p 'KingofAkron2025!'

Получаем имя контроллера домена, поэтому обновим запись в файле /
.
10.10.11.70 puppy.htb DC.puppy.htb
Точка входа
Собираем информацию в домене. Первый шаг — получение списка пользователей. Иногда в описании учетных записей можно найти интересную информацию и даже пароли.
nxc ldap 10.10.11.70 -u levi.james -p 'KingofAkron2025!' --users

Ничего интересного не находим, но список пользователей в файл сохраняем. Теперь просмотрим список общих каталогов.
nxc smb 10.10.11.70 -u levi.james -p 'KingofAkron2025!' --shares

На сервере расшарена папка DEV
, но для ее просмотра у текущей учетной записи не хватает прав. Очевидных путей пока нет, поэтому соберем базу BloodHound.
Справка: BloodHound
Утилита BloodHound использует теорию графов для выявления скрытых и зачастую непреднамеренных взаимосвязей в среде Active Directory. Ее можно использовать, чтобы легко идентифицировать очень сложные пути атаки. Помимо самой утилиты, которая позволяет просматривать граф, существует часть, загружаемая на удаленный хост для сбора информации. Она бывает в версиях для разных ОС и на разных языках программирования.
Для сбора информации будем использовать коллектор RustHound-CE.
./rusthound-ce -i 10.10.11.70 -d PUPPY.HTB -u levi.james -p 'KingofAkron2025!' -c All -z

Данные собрались очень быстро. Загружаем итоговый архив в BloodHound-CE и строим граф от пользователя levi.
.

Продолжение доступно только участникам
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее