###### tags: `Bypass`
# ICMP-туннелирование
Топология

*`У нас в сети разрешен только ping`*
Загружаем утилиту icmp-туннелирования:


Переименовываем папку, переходим в нее и собираем программу коммандной make:

Закидываем в папку выше:
`mv hans ..`
Передаем файл hans на машину внутри сети, которая клиент:

> На машине сервере запускаем ./hans -s 10.1.2.0 -p password

Как видим, создан туннель **tun0**
На сервере:


На клиенте:



По итогу, мы можем подключаться по ssh, когда изнутри разрешен только пинг

`Задача: сделать маршрутизатором машину клиента, чтобы все машины получали интернет через клиентскую машину:`
Включаем форвардинг трафика на машине сервера:

`nano /etc/resolv.conf - проверить чтобы прописан был nameserver 8.8.8.8`
Прокидываем нат с tun0 на eth0:


На машине клиента у нас туннель до 4.166, чтобы соединение не оборвалось, прописываем 4.166 шлюзом по умолчанию:

Прописываем на клиенте ip форвардинг:

Удаляем старый дефолтный маршрут:

Получилось:

связь с сервером осталась:

Добавим адрес туннеля сервака как адрес шлюза по умолчанию:

Добавляем маршрут через созданный туннель, и интернет есть:

Теперь в качестве шлюза указываем адрес кали клиента и трафик будет маршрутизироваться через него по туннелю наружу.