Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
В этой статье с помощью DCE-RPC узнаем IPv6-адрес хоста, ломаем ZIP-архив, получаем бэкапы базы учеток AD, брутим имена пользователей c помощью Kerberos, читаем данные из реестра удаленного хоста благодаря Silver Ticket и делаем другие интересные вещи, чтобы пройти лабораторию APT с площадки Hack The Box. Уровень сложности — Insane!
warning
Подключаться к машинам с HTB рекомендуется только через VPN. Не делай этого с компьютеров, где есть важные для тебя данные, так как ты окажешься в общей сети с другими участниками.
IP-адрес машины — 10.10.10.213, я добавлю его в /etc/hosts
и дальше буду обращаться к ней по адресу apt.htb
.
Дальше, как всегда, сканируем порты с помощью 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
Результат работы скрипта
Находим два открытых порта:
Первичный анализ сайта ничего не дал (кроме еще одного доменного имени), поэтому, пока мы не засели за его глубокое тестирование, можно быстренько проверить службу RPC.
Стартовая страница сайта
Мы можем выполнить полный дамп записей при помощи rpcdump (в качестве параметра нужно передать только номер порта), но это ничего интересного нам не дает.
rpcdump.py apt.htb -p 135
Но rpcdump не выполняет запросы 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
Результат DCE/RPC-сканирования
В результате мы получаем два GUID, значение которых мы можем посмотреть на сайте Microsoft. Там мы узнаем, что GUID 99fcfec4-5260-101b-bbcb-00aa0021347a
отвечает за интерфейс IObjectExporter
, о котором мы можем почитать в документации. IObjectExporter
— это служба, которая запускается на каждой машине, где есть поддержка COM+. Он удаленно используется для доступа к локальному распознавателю объектов.
Таблица соответствия GUID и целевого объекта
Одно из предназначений 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
Результат работы скрипта IOXIDResolver
В результате получим IPv6-адрес хоста.
Мы получили нужный адрес — нужно его просканировать аналогично первому, так как некоторые службы могут отвечать по IPv6 и не отвечать по IPv4. Используем тот же скрипт, что и при первом сканировании.
Результаты сканирования портов по IPv6-адресу
Видим много служб. Я добавил новую запись в /etc/hosts
.
dead:beef::b885:d62a:d679:573f apt.htb.local
Порт 80 и 135 предоставляют такую же информацию, что и по IPv4, к LDAP не подключиться, зато к SMB — можно.
Источник: xakep.ru