![](/uploads/posts/2022-08/03.png)
Содержание статьи
Разведка
Сканирование портов
Добавляем IP-адрес машины в /
:
10.10.10.248 intelligence.htb
И запускаем сканирование портов.
![Результат работы скрипта Результат работы скрипта](/uploads/posts/2022-08/02.png)
![Результат работы скрипта (продолжение) Результат работы скрипта (продолжение)](/uploads/posts/2022-08/03.png)
Видим множество открытых портов, что для 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.
Еще в сертификате LDAP находим новое доменное имя dc.
, поэтому обновим запись в файле /
:
10.10.10.248 intelligence.htb dc.intelligence.htb
Первым делом запустим скрипты Nmap для получения информации с DNS (nmap
), но из этого ничего не вышло. Авторизоваться как аноним в SMB и LDAP не получилось. Поэтому нам нужно пробивать веб.
Внимательно осмотримся на сайте и поищем ценную инфу. Сам сайт на первый взгляд кажется простеньким. Из интересного — на первой странице находим два PDF-документа.
![Стартовая страница сайта Стартовая страница сайта](/uploads/posts/2022-08/05.png)
OSINT
В документах ничего важного не обнаружилось. Но из любого курса по OSINT (разведка на основе открытых источников) ты узнаешь, что в документах самое интересное — это метаданные, особенно атрибуты вроде «создатель» или «владелец». Они могут раскрывать имена пользователей, которые потом можно использовать для доступа к учеткам.
Для получения метаинформации можно использовать exiftool. Чтобы установить и использовать ее, пишем:
sudo apt install exiftool
exiftool *
![Получение метаинформации из документов Получение метаинформации из документов](/uploads/posts/2022-08/06.png)
Точка входа
Перечисление аккаунтов
Мы нашли два имени, а значит, можем поискать аккаунты через аутентификацию Kerberos. Дело в том, что Kerberos нам сообщит, если пользователя нет в базе. Нужно лишь сформировать все возможные названия аккаунтов и просеивать их. К примеру, для пары name
можно составить такие имена:
Administrator
Guest
name
namesurname
name.surname
names
name.s
sname
s.name
surname
surnamename
surname.name
surnamen
surname.n
nsurname
n.surname
Чтобы составлять юзернеймы по такому шаблону, используем следующий скрипт на Python:
#!/usr/bin/python3
names = ["Jose Williams", "William Lee"]
list = ["Administrator", "Guest"]
for name in names:
n1, n2 = name.split()
for x in [
n1, n1 + n2, n1 + "." + n2, n1 + n2[0], n1 + "." + n2[0], n2[0] + n1, n2[0] + "." + n1,
n2, n2 + n1, n2 + "." + n1, n2 + n1[0], n2 + "." + n1[0], n1[0] + n2, n1[0] + "." + n2
]:
list.append(x)
for n in list:
print(n)
А теперь используем kerbrute для перебора имен. Указываем опцию перечисления пользователей и передаем их список.
./kerbrute_linux_amd64 userenum --dcintelligence.htb -dintelligence.htb namelist.txt
![Найденные пользователи Найденные пользователи](/uploads/posts/2022-08/07.png)
Имена пользователей, указанные в документах, и оказались названиями аккаунтов. Дальше, что бы я ни попробовал (даже брут паролей), никуда продвинуться не вышло. Видимо, что‑то упустили на сайте.
Возвращаемся к вебу, на этот раз вооружившись Burp Suite. Благодаря Burp Proxy обращаем внимание на место хранения файлов и их названия.
![Вкладка Burp Proxy Вкладка Burp Proxy](/uploads/posts/2022-08/08.png)
Имена файлов — это даты, а значит, мы можем попытаться найти и другие документы. Для этого отправляем запрос в Burp Intruder, чтобы перебрать и номер месяца, и день.
![Burp Intruder — вкладка Position Burp Intruder — вкладка Position](/uploads/posts/2022-08/09.png)
![Burp Intruder — вкладка Payload (payload 1) Burp Intruder — вкладка Payload (payload 1)](/uploads/posts/2022-08/10.png)
![Burp Intruder — вкладка Payload (payload 2) Burp Intruder — вкладка Payload (payload 2)](/uploads/posts/2022-08/11.png)
Сортируем результат по коду ответа, чтобы найти документы среди сообщений об ошибках.
![Результат атаки Результат атаки](/uploads/posts/2022-08/12.png)
Осталось их скачать. Сначала сохраним нужные нам нагрузки средствами Burp. Для этого отметим в фильтре, что нас интересует только код ответа 200, а затем выбираем Save → Results table.
![Сохранение нагрузок в файл Сохранение нагрузок в файл](/uploads/posts/2022-08/13.png)
Поставим в качестве разделителя пробел и выберем только две нагрузки. Я сохранил нагрузки в файл save.
, а потом скачал все эти документы через wget.
Скачать:
Скриншоты:
Важно:
Все статьи и материал на сайте размещаются из свободных источников. Приносим свои глубочайшие извинения, если Ваша статья или материал была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.