OFFZONE Conference. ActiveDirectory Lab WriteUP
https://t.me/StoriesProPentest25-26 августа в Москве проходила международная конференция по безопасности OFFZONE. Для этого события я приготовил небольшой полигон для участников на базе Active Directory.
Сначала несколько слов благодарностей, а потом перейдем к решению.
Спасибо всем организаторам за предоставленную возможность налутать мерча =)
Спасибо Positive technologies за Flipper!
Отдельное спасибо островку Codeby за классную кружку, меняющую цвет!
А теперь переходим к заданию.
Каждый участник, который смог решить в первый день определенное количество заданий получил ssh ключ от сервера.
Таким образом мог к нему подключиться.
При подключении в корне есть директория Hints и файл note.txt
Приветствую тебя! Ты показал хорошие результаты на предыдущих этапах. Пришло время проверить твои знания в области Active Directory. Условия довольно просты. Представь, что тебя пригласили провести внутренний пентест в компанию mybank.com. Предоставили рабочую машину на базе Kali Linux внутри сети заказчика. (И да, кривой админ не смог предоставить права root, так что придется работать так). Scope ограничили тремя рабочими станциями PC-1, PC-2 и DC. (172.16.0.0/24). У каждой машины(PC-1, PC-2) есть выход в интернет, так что можешь кидать реверсы, цепляться на С2 и тп. Но учитывай тот факт, что Defender тоже включен, все как в реальной жизни. Задача прочитать флаг. По истечению каждых 2х часов в директории Hints будут добавляться подсказки. А теперь цепляйся по ssh на хост 172.27.58.8 kali:kali и приступай. Что не потребуется для решения: responder, pspy,bruteforce, помните, что вы можете заблочить УЗ путем бездумного перебора паролей. А вот passwordspray вполне подойдет, когда придет время. Fair play для всех. Уважайте других участников и не завершайте чужие процессы. Любое вмешательство в чужой процесс будет караться. From BlackRabbit aka AlinaPoteet with love <3
Таким было содержимое note.txt, а в директории Hints также было 2 файла на момент старта.
Скачаем картинку и посмотрим содержимое.
Начало понятно. Приступим. Как было написано, мы можем подключиться на машину с установленной os kali linux и приступить.
Проверим сеть
Все готово для старта. Берем утечки. Комбинируем логины, пароли. И прикидываем варианты. Спустя время привлекает уз knizam с утечкой от 2008 года. Сейчас на дворе 2022. Стоит задуматься, а не поменял ли он год. Таким образом получаем первую УЗ.
Можем сразу сделать выгрузку в BloodHound
Из интересного там можно видеть потенциальное использование привилегий на изменение пароля другой УЗ. Правда у нас нет УЗ vwhistler.
Поизучав сеть, мы также находим открытый порт 3389
Но и туда мы не можем пока зайти.
Спустя какое-то время от безысходности мы начинаем сканить DC и находим powershell web access
Пробрасываемся в сеть.
Настраиваем прокси
И попадаем в pswa
У нас есть одна УЗ knizam пробуем под ней войти на все ендпоинты и попадаем на PC-1
Тк у каждой машины есть доступ в интернет, простор для фантазии довольно широкий. Можно кидать реверсы, можно заводить на С2. Каждый делает, как ему удобнее.
Посмотрев процессы, мы видим интерактив на explorer и microsoft.notes
Немного погуглив мы находим директорию с содержимым записок
Прочитав файл plum.sqlite-wal мы находим интересные записи
$PWD = ConvertTo-SecureString "P@ssW0rD654321!" -AsPlainText -Force $cred = New-Object System.Management.Automation.PSCredential ("mybank\\ksanders",$PWD) Enter-PSSession -ComputerName PC-2 -Credential $cred
Таким образом понимаем, что у нас появилась 2 УЗ
По RDP снова не зайти, а winrm закрыт для kali.
Пробуем из pswa. Не забываем, что обратный слэш один лишний.
Итак мы понимаем, что не можем создать еще 1 сессию pssession. Но у нас есть invoke-command
Таким образом мы попадаем на машину PC-2 под УЗ ksanders.
Видим файл и читаем его.
Похоже на пароль. Собираем всех пользователей домена и спреим.
А это как раз тот пользователь, который может менять пароль.
Ссылка на утилиту ТУТ
И под новым пользователем мы наконец можем зайти по RDP на pc-2, где и находим архив KEEPASS
Собрав все пароли и прогнав hashcat по rules мы получим пароль от архива
И уже с ним можем прочитать архив, где и спрятан флаг.
Всем спасибо за уделенное время!
Если кто хочет потыкать лабу своими руками, стучите @lolk3k. Смогу поднять инфру по часу каждому за небольшие $ =)