Содержание статьи
Полигоном для наших упражнений послужит учебная машина Hathor с площадки Hack The Box. Уровень сложности — «безумный»!
warning
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Сканирование портов
Первым делом, как всегда, добавляем IP-адрес машины в /
:
10.10.11.147 hathor.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
).
Нашли множество портов, что типично для Windows:
- 53 — служба DNS;
- 80 (HTTP) — веб‑сервер Microsoft IIS/10.0;
- 88 — служба Kerberos;
- 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);
- 9389 — веб‑службы AD DS.
Nmap автоматически показывает информацию из сертификатов. Именно так мы узнаем о новых доменах, которые добавим в /
.
10.10.11.147 hathor.htb hathor.windcorp.htb windcorp.htb
Справка: robots.txt
Этот файл используется для того, чтобы попросить краулеры (например, Google или Яндекс) не трогать какие‑то определенные каталоги. Никто не хочет, к примеру, чтобы в поисковой выдаче появлялись страницы авторизации администраторов сайта, файлы или персональная информация со страниц пользователей и прочие вещи в таком духе. Однако и злоумышленники первым делом просматривают этот файл, чтобы узнать о файлах и каталогах, которые стремится спрятать администратор сайта.
В нашем robots.txt аж 29 скрытых каталогов, в том числе и админка.
К сожалению, просмотрев все страницы, я ничего интересного не нашел. Но на сайте есть возможность зарегистрироваться и авторизоваться, что обычно открывает еще больший простор для атак.
Точка входа
Войдя в систему как пользователь, сразу увидим список всех аккаунтов.
В основном ничего интересного нет, поэтому перейдем к сканированию скрытых каталогов. Совсем не факт, что все они были перечислены в robots.txt, так что расчехляем ffuf.
Справка: сканирование веба c ffuf
Одно из первых действий при тестировании безопасности веб‑приложения — это сканирование методом перебора каталогов, чтобы найти скрытую информацию и недоступные обычным посетителям функции. Для этого можно использовать программы вроде dirsearch и DIRB.
Я предпочитаю легкий и очень быстрый ffuf. При запуске указываем следующие параметры:
-
-w
— словарь (я использую словари из набора SecLists); -
-t
— количество потоков; -
-u
— URL.
ffuf -u 'http://windcorp.htb/FUZZ' -t 256 -w directory_2.3_medium_lowercase.txt
Из множества страниц в выводе есть те, которые возвращают код 200, одна из них — filemanager
, но она нам недоступна.
Ничего больше не обнаружив, я решил попробовать авторизоваться с помощью списка дефолтных учеток. И от имени admin@admin.
авторизовался как администратор сайта.
Точка опоры
Мы нашли файловое хранилище, значит, попробуем загрузить реверс‑шелл и получить RCE. Так как используется веб‑сервер IIS, загрузим шелл на ASPX. В нем нам нужно будет лишь указать адрес, хост и порт для подключения.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»