# ***Практика 7 Апасов Василий БСБО-06-20*** Практическая работа №7 Выполнил студент 3 курса: Апасов Василий Игоревич Группа: БСБО-06-20 **Задание к практической работе №7** * Скрытое туннелирование ICMP, DNS **Решение** Для работы был использован следующий стенд: ![](https://hackmd.io/_uploads/S12dtBcrn.png) # ICMP На Kali вне инфрастурктуры создаём папку и скачиваем необходимые утилиты: ![](https://hackmd.io/_uploads/rkYtcHqr3.png) Компилируем необходимый файл: ![](https://hackmd.io/_uploads/H1vn5S9Bh.png) Скачиваем net-tools: ![](https://hackmd.io/_uploads/SyXFiH5r2.png) Запускаем hans в сети 10.1.2.0 с паролем eve@123: ![](https://hackmd.io/_uploads/SkVy2BqB2.png) Получаем новый интерфейс tun0: ![](https://hackmd.io/_uploads/r1SfnBcr3.png) Далее октрываем Debian, который находится внутри инфраструктуры, обновляем репозиторий, скачиваем git и скачиваем hans: ![](https://hackmd.io/_uploads/Hk6kTr9H2.png) Скачиваем make, net-tools, и g++: ![](https://hackmd.io/_uploads/rJjmpBcS2.png) ![](https://hackmd.io/_uploads/BJfDpr9Bh.png) И компилируем командой make: ![](https://hackmd.io/_uploads/rJqI0SqSn.png) Запускаем систему и получаем новый интерфейс: ![](https://hackmd.io/_uploads/Syf3Cr5S3.png) Теперь с внешней Kali мы можем подключиться по выданному адресу на Debian внутри инфраструктуры. Запустим wireshark и захватим трафик на внутреннем интерфейсе фаервола: ![](https://hackmd.io/_uploads/r1UAQU9rh.png) ![](https://hackmd.io/_uploads/SJyrELcS2.png) ![](https://hackmd.io/_uploads/HyqJN8cSh.png) Мы видим, что при выводе каких-либо команд захватывается трафик, в том числе и по ICMP протоколу. # DNS 1 На Kali вне инфратсруктуры и на Debian внутри инфрастурктуры скачиваем iodine: apt install iodine На Kali вне инфраструктуры запускаем сервер iodine на адресе 10.99.99.1/24 с паролем eve@123 ![](https://hackmd.io/_uploads/ByN1UU5B3.png) Видим новый интерфейс dns0: ![](https://hackmd.io/_uploads/SyXQ889r3.png) На Debian внутри инфрастурктуры заходим в /etc/resolv.conf и меняем dns настройки: ![](https://hackmd.io/_uploads/Hy26885rh.png) И теперь с этой машинки подключаемся к нашему iodine серверу: ![](https://hackmd.io/_uploads/rJfXwI5Hh.png) Видим интерфейс dns0: ![](https://hackmd.io/_uploads/SJq4wI5rh.png) И теперь мы можем с внешней Kali подключиться по ssh до нашей Debian внутри инфраструктуры по адресу 10.99.99.2: ![](https://hackmd.io/_uploads/SkJNdUcBh.png) Откроем Wireshark и захватим трафик фаервола на внутреннем интерфейсе: ![](https://hackmd.io/_uploads/S1uK_U9Hn.png) Мы видим, что пошли неопознанные пакеты по протоколу DNS. # DNS hard Дополним наш стенд двумя DNS серверами - внутренним и внешним, а также добавим Kali Linux внутрь инфраструктуры: ![](https://hackmd.io/_uploads/Hk9m10ir3.png) Для начала настроим внутренний DNS сервер Заходим в настройки сети и ставим статический ip адрес: ![](https://hackmd.io/_uploads/B1-OfCjBn.png) Заходим в Server Manager и добавляем роль: ![](https://hackmd.io/_uploads/BJatB0jrh.png) ![](https://hackmd.io/_uploads/HkCcHAsBn.png) Зайдём в настройки DNS и добавим адрес DNS-External сервера, чтобы перенаправлять запросы: ![](https://hackmd.io/_uploads/SJp0uCsH3.png) Изменим адрес для DNS запросов на 127.0.0.1: ![](https://hackmd.io/_uploads/HybnI0irn.png) Зайдём на DNS-External и сменим имя компьютера и поставим нужный часовой пояс, чтобы не возникало ошибок: ![](https://hackmd.io/_uploads/H1h-rAoHn.png) ![](https://hackmd.io/_uploads/Hk2VBAorh.png) Также добавим роль, как и на внутреннем сервере: ![](https://hackmd.io/_uploads/HkwtO0oSn.png) ![](https://hackmd.io/_uploads/SyAK_AiS3.png) Зайдём в настройки DNS и в качестве forwarder[куда обращаться] укажем 77.88.8.8(yandex): ![](https://hackmd.io/_uploads/rye9tRir2.png) Проверим, работает ли наша система. Для этого попробуем пропинговать что-нибудь с внутреннего сервера: ![](https://hackmd.io/_uploads/HJj7qRiB3.png) Далее откроем нашу Kali внутри инфраструктуры, зайдём в /etc/resolv.conf и изменим конфигурацию так, чтобы наша машинка обращалась к внутреннему DNS серверу: ![](https://hackmd.io/_uploads/HkLtoCsr3.png) Проверим, проходит ли трафик через наши DNS сервера: ![](https://hackmd.io/_uploads/SJX6sRiH2.png) Видим, что пришёл ответ, значит всё работает. Зайдём на фаервол и создадим правило, которое будет разрешать выходить только через наш внутренний DNS сервер(192.168.1.200): ![](https://hackmd.io/_uploads/Hkg02Rsr2.png) ![](https://hackmd.io/_uploads/Bk15aAsS2.png) Видим, что восьмёрки не пингуются, запросы не проходят, а значит выхода в интернет нет: ![](https://hackmd.io/_uploads/BJyATAir2.png) ![](https://hackmd.io/_uploads/B1oxCAirn.png) Отправим запрос через наш внутренний DNS сервер и видим, что ответ приходит: ![](https://hackmd.io/_uploads/BkTN00iBh.png) Зайдём на DNS-External и добавим новую зону: ![](https://hackmd.io/_uploads/H1VA1JnHh.png) Создаём две новые записи, одна с адресом DNS-External, вторая с адресом внешней Kali(делегирование): ![](https://hackmd.io/_uploads/H1nseknSn.png) Создаём new delegation с адресом внешней кали и зоной delegate.mirea.tech: ![](https://hackmd.io/_uploads/rJ4mfJnHh.png) Теперь попробуем пропинговать delegate.mirea.tech с внутренней Kali: ![](https://hackmd.io/_uploads/S1CoKynS3.png) Видим, что адрес пингуется и определяется как адрес нашей внешней Kali. Запрашиваем NS запись tunnel.mirea.tech: ![](https://hackmd.io/_uploads/BkQx5knrn.png) Ответ получен. Заходим на внешнюю Kali и запускаем фейковый DNS сервер с помощью утилиты iodine на домене tunnel.mirea.tech: ![](https://hackmd.io/_uploads/HJniqkhS2.png) Получаем новый интерфейс dns0 со своим ip: ![](https://hackmd.io/_uploads/H1Jko12Bh.png) Заходим на внутреннюю Kali и подключаемся к нашему фейковому DNS серверу через iodine: ![](https://hackmd.io/_uploads/S1BSskhB2.png) Получаем ip адрес на новом интерфейсе dns0: ![](https://hackmd.io/_uploads/SJuvj1hBh.png) Теперь видим, что у нас проходят пинги наружу инфраструктуры: ![](https://hackmd.io/_uploads/ryf9iJ2Bh.png) На внешней Kali заходим в /etc/sysctl.conf и разрешаем маршрутизацию трафика: ![](https://hackmd.io/_uploads/BJAW2y3B3.png) И разрешаем выход наружу: ![](https://hackmd.io/_uploads/HyQP2k2Hn.png) На внутренней кали меняем ip route default так, чтобы весь трафик шёл через наш внешний сервер: ![](https://hackmd.io/_uploads/BkAT3J2S2.png) И теперь с внутренней Kali у нас появился доступ в интернет: ![](https://hackmd.io/_uploads/SJaw6k3S3.png) ![](https://hackmd.io/_uploads/HkKO6J3rn.png) Откроем wireshark и захватим трафик, выходящий через eth0: ![](https://hackmd.io/_uploads/SJ-URJnSh.png) Видим обмен пакетами между нашими DNS серверами.