# Домашняя работа №3 (Получение доступа к Blue без использования payload и msfconsole)
###### tags: `Домашние задания Network Infrastructure Attacks Fundamentals`
При атаке на данную машину необходимо соблюдать ряд условий:
- нужно получить реверс-шелл
- нельзя загружать файлы, нужно сделать это одной командой при запуске сервиса
- нельзя пользоваться хэндлерами msf и payload-ами msfvenom
1) Подключаемся через openvpn к платформе (можно использовать любую ОС, в моем случае kali) для начала выполнения задания.

2) Итак, мы получили доступ к платформе и можем атаковать предлогаемую машину. Сразу пропишем в hosts ip и название машины для возможности проводить некоторые атаки.

3) Начинаем непосредственно атаковать машину. Выполняем сканирование с помощью утилиты `nmap` с ключом `-A` для полного сканирования с определением ОС и версий служб.

Обнаруживаем несколько портов один из которых 445 SMB, что указывает на возможность найти там популярную уязвимость Ethernal Blue.
4) Попробуем найти уязвимость с помощью того же nmap.

Обнаруживаем, что машина узвима к ethernal blue.
5) Итак, мы обнаружили, что данная машина уязвима, но у нас есть определенные условия, которые должны быть соблюдены. Несколько условий говорят о том, что запрещено использовать msfconsole + выполнение в рамках одного скрипта. Поэтому для атаки воспользуемся скриптом: https://github.com/worawit/MS17-010/blob/master/zzz_exploit.py
Данный скрипт выполняет на удаленной машине произвольный код, через уязвимость ethernal blue. Загружаем скрипт на машину.

Также, обратите внимание, что необходимо наличие python версии 2.7, установите его отдельно.
6) Наша задача дополнить скрипт кодом, который позволит получить доступ к машине. В результат анализы было принято решение собрать дамп с учетными данными и передать на машину атакующего эти данные. Для этого разворачивает samba сервер на атакующей машине со следующими параметрами:

7) Скрипт для атаки выбираем `zzz_exploit.py`, в данном скрипте нас интересует строчка, где видно загрузка и исполнение проивзольного кода.

8) Отредактируем код под наши нужды.

Таким образом мы добавляем 4 строчки исполнения кода на удаленной машине, в которых первые две - выгрузка из реестра хэшей паролей действующих пользователей системы. Две последующие страчки выгрузка их на наш созданный samba сервер.
9) Выполняем скрипт.

В результат на нашем сервере обнаруживаем нужные нам файлы с дампами. Дампим их с помощью secretdump из impacket.

10) С помощью того же impacket подключаемся к машине от админа.

Таким образом мы получаем доступ к шелу с правами админа.