
Tunelowanie DNS przekształca system nazw domen w broń hakerów. DNS to w zasadzie ogromny spis telefoniczny internetu. Ponadto, DNS jest podstawowym protokołem, który umożliwia administratorom składanie zapytań do bazy danych serwera DNS. Na razie wszystko jest jasne. Jednak sprytni hakerzy zdali sobie sprawę, że mogą potajemnie komunikować się z komputerem ofiary, wprowadzając polecenia kontrolne i dane do protokołu DNS. Ta idea leży u podstaw tunelowania DNS.
Jak działa tunelowanie DNS

W internecie każda rzecz ma swój własny protokół. A DNS obsługuje stosunkowo prosty typu zapytanie-odpowiedź. Jeśli chcesz zobaczyć, jak to działa, możesz uruchomić nslookup – podstawowe narzędzie do składania zapytań DNS. Możesz zażądać adresu, po prostu podając interesującą cię nazwę domeny, na przykład:

W naszym przypadku protokół odpowiedział adresem IP domeny. W terminologii protokołu DNS, złożyłem zapytanie adresowe, czyli zapytanie typu "A". Istnieją również inne typy zapytań, przy czym protokół DNS odpowiada różnymi zestawami pól danych, z których, jak później zobaczymy, mogą korzystać hakerzy.
Tak czy inaczej, w swojej istocie protokół DNS zajmuje się przekazywaniem zapytania do serwera i jego odpowiedzi z powrotem do klienta. A co, jeśli przestępca doda ukryte wiadomości wewnątrz zapytania nazwy domeny? Na przykład, zamiast wprowadzać całkowicie legalny URL, wprowadzi dane, które chce przesłać:

Załóżmy, że przestępca zarządza serwerem DNS. Wtedy może przesyłać dane — na przykład dane osobowe — i niekoniecznie będzie wykryty. Przecież skądże nagle zapytanie DNS mogłoby stać się czymś nielegalnym?
Zarządzając serwerem, hakerzy mogą fałszować odpowiedzi i wysyłać dane z powrotem na docelowy system. Umożliwia im to przesyłanie wiadomości ukrytych w różnych polach odpowiedzi DNS do złośliwego oprogramowania na zainfekowanej maszynie, z instrukcjami typu przeszukiwania określonego folderu.
Część "tunelująca" tej ataku polega na danych i poleceń przed wykrywaniem przez systemy monitorujące. Hakerzy mogą używać zestawów znaków base32, base64 itd., a nawet szyfrować dane. Tego rodzaju kodowanie przejdzie niezauważone dla prostych narzędzi wykrywania zagrożeń, które skanują tekst jawny.
I to jest tunelowanie DNS!
Historia ataków za pośrednictwem tunelowania DNS
Wszystko ma swój początek, w tym pomysł przejęcia protokołu DNS w celach hakerskich. Na ile możemy ocenić, pierwszy taki atak przeprowadził Oskar Pearson w mailingu Bugtraq w kwietniu 1998 roku.
Do 2004 roku tunelowanie DNS zostało przedstawione na Black Hat jako metoda hakerska w prezentacji Dana Kaminsky'ego. W ten sposób idea szybko przekształciła się w prawdziwe narzędzie ataku.
Obecnie tunelowanie DNS zajmuje mocną pozycję na mapie (a blogerzy zajmujący się bezpieczeństwem informacyjnym często proszą o jego wyjaśnienie).
Czy słyszałeś o ? Это действующая кампания киберпреступных группировок — скорее всего, спонсируемая государством, — направленная на захват легитимных DNS-серверов с целью перенаправления DNS-запросов на собственные сервера. Это означает, что организации будут получать «плохие» IP-адреса, указывающие на поддельные веб-страницы под управлением хакеров, — например, Google или FedEx. При этом злоумышленники смогут заполучить учётные записи и пароли пользователей, которые те неосознанно введут их на таких поддельных сайтах. Это не DNS-туннелирование, но просто ещё одно скверное последствие контроля DNS-серверов хакерами.
Zagrożenia synchronizacji DNS

Tunelowanie DNS jest jak wskaźnik początku etapu złych wiadomości. Jakich dokładnie? Już omówiliśmy kilka, ale uporządkujmy je:
- Wyprowadzanie danych (ekstrahowanie) – haker dyskretnie przesyła krytyczne dane przez DNS. To zdecydowanie nie jest najefektywniejszy sposób przesyłania informacji z komputera ofiary – biorąc pod uwagę wszystkie koszty i kodowania – ale działa, i to w sposób ukryty!
- Zarządzanie i kontrola (Command and Control, w skrócie C2) – hakerzy używają protokołu DNS do wysyłania prostych poleceń, na przykład poprzez (Remote Access Trojan, w skrócie RAT).
- Tunelowanie IP-Over-DNS – to może brzmieć szalenie, ale istnieją narzędzia, które implementują stos IP na podstawie zapytań i odpowiedzi protokołu DNS. Ułatwia to przesyłanie danych przy użyciu FTP, Netcat, ssh itd. To naprawdę złowieszcze!
Wykrywanie tunelowania DNS

Istnieją dwa podstawowe metody wykrywania nadużyć w DNS: analiza obciążenia i analiza ruchu.
Przy analiza obciążenia strona broniąca się szuka nieprawidłowości w danych przesyłanych w obie strony, które można wykryć metodami statystycznymi: dziwacznie wyglądające nazwy hostów, typ rekordu DNS, który nie jest często używany, lub niestandardowe kodowanie.
Przy analiza ruchu Ocena liczby zapytań DNS dla każdej domeny w porównaniu ze średnim poziomem. Oszuści wykorzystujący tunelowanie DNS będą generować duży ruch na serwer. Teoretycznie znacznie przewyższa on normalną wymianę komunikatów DNS. I to należy monitorować!
Narzędzia do tunelowania DNS
Jeśli chcesz przeprowadzić własny test penetracyjny i sprawdzić, jak dobrze twoja firma potrafi wykrywać i reagować na taką aktywność, istnieje kilka narzędzi, które to umożliwiają. Wszystkie one potrafią tunelować w trybie IP-Over-DNS:
- – dostępna na wielu platformach (Linux, Mac OS, FreeBSD i Windows). Umożliwia ustanowienie powłoki SSH między komputerem docelowym a komputerem zarządzającym. Oto niezły po konfiguracji i używaniu Iodine.
- – projekt tunelowania DNS autorstwa Dana Kaminsky'ego, napisany w Perlu. Umożliwia połączenie przez SSH.
- – «tunel DNS, po którym nie mdli». Tworzy zaszyfrowany kanał C2 do przesyłania/pobierania plików, uruchamiania powłok itd.
Narzędzia do monitorowania DNS
Poniżej znajduje się lista kilku narzędzi, które będą pomocne w wykrywaniu ataków tunelujących:
- – moduł Python, napisany dla MercenaryHuntFramework i Mercenary-Linux. Odczytuje pliki .pcap, ekstraktuje zapytania DNS i przeprowadza dopasowanie geolokalizacji, co ułatwia analizę.
- – narzędzie w Pythonie, które odczytuje pliki .pcap i analizuje komunikaty DNS.
Mikro FAQ na temat tunelowania DNS
Przydatne informacje w formie pytań i odpowiedzi!
P: Czym jest tunelowanie?
O: To po prostu sposób przesyłania danych przez istniejący protokół. Podstawowy protokół zapewnia wydzielony kanał lub tunel, który następnie jest używany do ukrycia informacji, które są w rzeczywistości przesyłane.
P: Kiedy miała miejsce pierwsza atak z użyciem tunelowania DNS?
O: Nie wiemy! Jeśli ty wiesz – daj nam proszę znać. Z tego co nam wiadomo, pierwsza wzmianka o ataku została zainicjowana przez Oscara Pirsana w newsletterze Bugtraq w kwietniu 1998 roku.
P: Jakie ataki są podobne do tunelowania DNS?
O: DNS to nie jedyny protokół, który można wykorzystać do tunelowania. Na przykład, złośliwe oprogramowanie do zarządzania i kontroli (C2) często wykorzystuje HTTP, aby ukryć swój kanał komunikacyjny. Podobnie jak w przypadku tunelowania DNS, haker chowa swoje dane, ale w tym przypadku wyglądają one jak ruch typowej przeglądarki internetowej łączącej się z zdalną stroną (kontrolowaną przez przestępcę). Może to uciec uwadze programów monitorujących, jeśli nie są one skonfigurowane do wykrywania nadużyć protokołu HTTP w celach hakerskich.
Chcesz, abyśmy pomogli w wykrywaniu tunelowania DNS? Zapoznaj się z naszym modułem i wypróbuj darmowe !
Źródło: habr.com
