---
# System prepended metadata

title: 'Практика №7. Скрытое туннелирование ICMP, DNS'

---

# Практика №7. Скрытое туннелирование ICMP, DNS
Абдуганиев Абдулло БСБО-07-20


## Задание к практической работе №7:
- Построить инфраструктуру в системе EVE-NG (есть возможность ее импортировать)
- Настроить каждое устройство
- Пробросить скрытое туннелирование и понять как они работают

## Инфраструктура организации:

- Kali-2021 - Linux Kali 2021 (2CPU, 2GB RAM)
- FW-pfsense - PfSense Firewall 2.5.2, default config (Qemu version 4.1.0, 2CPU, 2GB RAM)
- Switch - Cisco IOL-L2 (2 port-groups)
- Debian-RPi4 - Linux Debian 10 (1CPU, 1GB RAM)
- Win-10 - Windows 10 (full) (2CPU, 2GB RAM)
- Win-7 - Windows 7 (full) (QEMU 2.12, 4CPU, 4GB RAM)
- Win-server 2022 (2CPU, 2GB RAM)
- Network:
    - Pfsense Default config (WAN-DHCP, LAN - static IP)
    - Internet - Cloud-1
    - VLAN-10 - 172.16.10.0/24, GW 172.16.10.254
    - VLAN-10 - 172.16.20.0/24, GW 172.16.20.254
![](https://hackmd.io/_uploads/Hy_Lg4aHh.png)
---
# Настраиваем Debian:
![](https://hackmd.io/_uploads/B1r6-B0Sh.png)

    Перезагружаем и смотрим: 

![](https://hackmd.io/_uploads/HybBfHABn.png)

    Устанавливаем HANS: 

![](https://hackmd.io/_uploads/HJjXmH0r3.png)

![](https://hackmd.io/_uploads/Bk4vXrRBh.png)

    Также устанавливаем net-tools:

![](https://hackmd.io/_uploads/rJuq7SAH3.png)

    Поднимаем сервер на внешней Kali Linux с помощью HANS:

![](https://hackmd.io/_uploads/Bkf6QrRr3.png)

> Прописывая "ip a" увидим что появился tun0 

---
Далее заходим в Linux-vpn-client:

![](https://hackmd.io/_uploads/SyEwVHRBn.png)

    Устанавливаем утилиты : 
    git
    make
    g++
    net-tools
    
![](https://hackmd.io/_uploads/B1_j4BCSh.png)

    Устанавливаем HANS и собираем его с помощью make

![](https://hackmd.io/_uploads/HJOa4r0r2.png)

    Подключаемся к внешнему серверу Kali Linux:
    
![](https://hackmd.io/_uploads/B15-SS0H3.png)

    Проверяем и видим айпишник

![](https://hackmd.io/_uploads/r1UwBrABh.png)

    Пингуем его на сервере:

![](https://hackmd.io/_uploads/BJMorS0S3.png)

    Подключаемя по SSH:

![](https://hackmd.io/_uploads/r1LABrABn.png)

    Проверяем ICMP трафик через PFsense и видим что везде есть "HANS"

![](https://hackmd.io/_uploads/ry6kLBAS2.png)

    Но если пингануть 8.8.8.8, то строка "HANS" исчезает:
    
![](https://hackmd.io/_uploads/ryFHUBCH2.png)

---


# IODINE

    Устанавливаем утилиту:

![](https://hackmd.io/_uploads/SkPE2HCS2.png)


    Запускаем сервер и проверяем, должен появиться интерфейс dns0:
    
![](https://hackmd.io/_uploads/H1IPhSCB3.png)

    Меняем DNS записи у клиента:
    
![](https://hackmd.io/_uploads/BJ-yarRH2.png)

    Запускаем iodine у клиента и проверяем:
    
![](https://hackmd.io/_uploads/HyE4TSAHh.png)

    Появился интерфейс DNS0:
    
![](https://hackmd.io/_uploads/BkWIpH0Sh.png)

    Пингуем на сервере:

![](https://hackmd.io/_uploads/rJNjTrRrh.png)

    Подключаемся по SSH:

![](https://hackmd.io/_uploads/S1UR6rCrn.png)

    Проверяем DNS трафик через PFsense и видим что везде есть "Malformed  Packet"

![](https://hackmd.io/_uploads/ByaBRSAS2.png)

    Ниже скриншот на правильный DNS трафик:

![](https://hackmd.io/_uploads/rkv9RBCH2.png)

---



# **Сложное DNS-Туннелирование**
**Внутренний сервер**

    Настраиваем айпишники на динамические у Windows Server Internal:
![](https://hackmd.io/_uploads/HJ9cb5CSh.png)

    Перенаправляем на внешний сервер:
![](https://hackmd.io/_uploads/r1rlm9ABn.png)

---

**Внешний сервер**

    Перенаправляем на яндекс:
![](https://hackmd.io/_uploads/HyEoS5CH2.png)

    Переходим к внутренний Kali Linux и настраиваем:
![](https://hackmd.io/_uploads/SkuHUqArh.png)

    C помощью DIG видим что DNS проходит правильно:
![](https://hackmd.io/_uploads/HyPTU5Ar3.png)

    В Firewall делаем правило для DNS трафика
![](https://hackmd.io/_uploads/S1u5V9Rr2.png)

    Проверяем:
![](https://hackmd.io/_uploads/SyzTN5ABh.png)

    Добавляем зоны и тунель, который перенаправит трафик:
![](https://hackmd.io/_uploads/By2z75RBh.png)

    Проверяем через внутернюю Kali linux:
![](https://hackmd.io/_uploads/ryHzuqRH2.png)

![](https://hackmd.io/_uploads/Hkh7u50rh.png)


---

**Устанавливаем утилиту IODINE:**
![](https://hackmd.io/_uploads/SykUO50Hh.png)

    Запускаем сервер:
![](https://hackmd.io/_uploads/H1ydu50Bn.png)

    Проверяем:
![](https://hackmd.io/_uploads/H1Rt_5AHn.png)

![](https://hackmd.io/_uploads/Hknc_5Arh.png)

    Переходим к клиенту:
![](https://hackmd.io/_uploads/rJLnu9CB2.png)

    Проверяем:
![](https://hackmd.io/_uploads/BkexKqRrh.png)

![](https://hackmd.io/_uploads/rkvbtqRHn.png)

    Чтобы мы могли выходить наружу меняем настройки маршутизатора
![](https://hackmd.io/_uploads/HkNmFcRS2.png)

    Запускаем:
![](https://hackmd.io/_uploads/BJeIvK9CBh.png)

    Прописываем NAT:
![](https://hackmd.io/_uploads/SJ7tFc0B3.png)

    Прописываем маршрутизаоры:
![](https://hackmd.io/_uploads/r1_dc5CSn.png)

    Проверяем и выходим наружу:
![](https://hackmd.io/_uploads/HyPo95AH3.png)

    Смотрим трафик:
![](https://hackmd.io/_uploads/HyQlj5ASh.png)

![](https://hackmd.io/_uploads/BJaBj50r2.png)
