Содержание статьи
warning
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
Разведка
Сканирование портов
IP-адрес машины — 10.10.10.213, я добавлю его в /
и дальше буду обращаться к ней по адресу apt.
.
Дальше, как всегда, сканируем порты с помощью Nmap. Если читал другие прохождения, то уже, наверное, скопировал мой скрипт. Он сначала сканирует весь диапазон, а затем повторно проходится по найденным портам, используя скрипты (опция -A
).
#!/bin/bashports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)nmap -p$ports -A $1
Находим два открытых порта:
- порт 80 — веб‑сервер Microsoft IIS;
- порт 135 — служба Microsoft RPC.
Первичный анализ сайта ничего не дал (кроме еще одного доменного имени), поэтому, пока мы не засели за его глубокое тестирование, можно быстренько проверить службу RPC.
Мы можем выполнить полный дамп записей при помощи rpcdump (в качестве параметра нужно передать только номер порта), но это ничего интересного нам не дает.
rpcdump.py apt.htb -p 135
Но rpcdump не выполняет запросы DCE/RPC.
Сканирование DCE/RPC
DCE/RPC — это система удаленного вызова процедур, разработанная для распределенной вычислительной среды. Эта система позволяет программистам заниматься разработкой распределенного софта так, будто все работает на том же компьютере, без необходимости волноваться за код, отвечающий за работу с сетью. Мы можем просканировать DCE/RPC и поискать службы, которые доступны через TCP. Для сканирования подойдет модуль tcp_dcerpc_auditor
из Metasploit Framework.
msfconsole
use auxiliary/scanner/dcerpc/tcp_dcerpc_auditor
set RHOSTS apt.htb
run
В результате мы получаем два GUID, значение которых мы можем посмотреть на сайте Microsoft. Там мы узнаем, что GUID 99fcfec4-5260-101b-bbcb-00aa0021347a
отвечает за интерфейс IObjectExporter
, о котором мы можем почитать в документации. IObjectExporter
— это служба, которая запускается на каждой машине, где есть поддержка COM+. Он удаленно используется для доступа к локальному распознавателю объектов.
Одно из предназначений IObjectExporter
— разрешение OXID. Когда клиент получает OXID как часть ссылки на объект, ему необходимо определить информацию привязки RPC, нужную для связи с удаленным неизвестным объектом экспортера объекта. Наиболее интересен метод ServerAlive2(), с помощью которого можно получить сетевые адреса. Это можно автоматизировать! Выполним сканирование с помощью IOXIDResolver.
sudo apt install python2
python2 -m pip install setuptools
python2 -m pip install impacket
python2 IOXIDResolver.py -t apt.htb
В результате получим IPv6-адрес хоста.
Сканирование портов IPv6
Мы получили нужный адрес — нужно его просканировать аналогично первому, так как некоторые службы могут отвечать по IPv6 и не отвечать по IPv4. Используем тот же скрипт, что и при первом сканировании.
Видим много служб. Я добавил новую запись в /
.
dead:beef::b885:d62a:d679:573f apt.htb.local
Порты 80 и 135 предоставляют такую же информацию, что и по IPv4, к LDAP не подключиться, зато к SMB — можно.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»