# ПРАКТИЧЕСКАЯ РАБОТА №7. Скрытое туннелирование ICMP, DNS <details><summary>Общая Схема: </summary> ![](https://hackmd.io/_uploads/BJ0hQhCH3.jpg) --- </details> ## ICMP туннелирование Принцип работы довольно прост: в часть icmp пакета помещается полезная информация от клиента к прокси-серверу, ответ же размещается в аналогичном блоке данных от сервера. Для реализации такого вида туннелирования есть программы, я использовал [Hans IP over ICMP](https://code.gerade.org/hans/). На сервере прописал: `./hans -s 10.1.2.0 -p icmp`; на клиенте: `./hans -c 10.0.137.189 -p icmp`. В итоге получил туннель, в котором смог с сервера подключиться к клиенту через ssh. <details><summary>Подробнее: </summary> Часть icmp пакета, в котором находится полезная информация! ![](https://hackmd.io/_uploads/rJAisCcH3.jpg) --- Атакующий получил доступ к мащине атакуемого! ![](https://hackmd.io/_uploads/BJm43C5S2.jpg) --- Трафик на интерфейсе eth0 pfsense. Виден след Ганса! ![](https://hackmd.io/_uploads/H1n9nAqHn.jpg) --- </details> ## Простое DNS туннелирование Принцип работы тоже довольно простой: полезная информация помещается в само доменное имя, либо же поля для txt, null, key. При использовании такого рода туннелирования [проявляются характерные аномаллии](https://cyberleninka.ru/article/n/obnaruzhenie-skrytogo-kanala-peredachi-dannyh-po-protokolu-dns): * Увеличенное число DNS-запросов. Объем трафика по DNS-протоколу является редко меняющейся величиной. * Размер запроса или ответа превышает среднестатистический, равный 40-60 байт. * Наличие запросов к DNS-серверам с DGA. Имена легитимных доменов, обычно, человекочитаемы, а DGA часто используются для незаконных действий и не несут смысловой нагрузки. * Присутствие в трафике запросов, использующих редко используемые ресурсные записи, например, TXT, NULL или KEY. * Обращение к DNS-серверам с длинными именами. Из результатов исследования наибольшая концентрация серверов, используемых злоумышленниками, имеет длину около 200 символов, нормальными считаются имена до 30 символов. Потребовалось запустить iodined н сервере и iodine на клиенте, по итогу получилось, что строчки, предназначенные для прокси-сервера вставляются в доменное имя 3 уровня. <details><summary>Подробнее: </summary> Атакующий подключился к жертве по ssh ![](https://hackmd.io/_uploads/S1w2130Sh.jpg) --- DNS трафик от машины атакуемого ![](https://hackmd.io/_uploads/HJ1GehAB2.jpg) --- </details> ## Продвинутое DNS туннелирование Также воспользовался iodine, но перед этим настроил DNS сервера, вышло так, что внутренний сервер использует внешний для того, чтобы узнать о записях, соотвественно, внеся изменения на внешний сервер злоумышленник вносит их на внутренний. <details><summary>Подробнее: </summary> Запрещен DNS трафик до любого сервера, кроме как до внутреннего ![](https://hackmd.io/_uploads/B154bhCS3.jpg) --- Трассировка до ya.ru изнутри закрытой сети по DNS туннелю ![](https://hackmd.io/_uploads/S11pAa0Hh.jpg) --- </details>