Co to jest tunelowanie DNS? Instrukcje wykrywania

Co to jest tunelowanie DNS? Instrukcje wykrywania

Tunelowanie DNS zamienia system nazw domen w broń dla hakerów. DNS to w zasadzie ogromna książka telefoniczna Internetu. DNS to także podstawowy protokół, który umożliwia administratorom wysyłanie zapytań do bazy danych serwera DNS. Póki co wszystko wydaje się jasne. Jednak przebiegli hakerzy zdali sobie sprawę, że mogą potajemnie komunikować się z komputerem ofiary, wprowadzając polecenia sterujące i dane do protokołu DNS. Pomysł ten jest podstawą tunelowania DNS.

Jak działa tunelowanie DNS

Co to jest tunelowanie DNS? Instrukcje wykrywania

Wszystko w Internecie ma swój własny, odrębny protokół. A obsługa DNS jest stosunkowo prosta protokół typ żądanie-odpowiedź. Jeśli chcesz zobaczyć, jak to działa, możesz uruchomić nslookup, główne narzędzie do tworzenia zapytań DNS. Możesz poprosić o adres, po prostu podając interesującą Cię nazwę domeny, na przykład:

Co to jest tunelowanie DNS? Instrukcje wykrywania

W naszym przypadku protokół odpowiedział adresem IP domeny. W kwestii protokołu DNS złożyłem zapytanie adresowe czyli tzw. request. "Typ. Istnieją inne rodzaje żądań, a protokół DNS odpowie innym zestawem pól danych, które, jak zobaczymy później, mogą zostać wykorzystane przez hakerów.

Tak czy inaczej, w swojej istocie protokół DNS zajmuje się przesyłaniem żądania do serwera i jego odpowiedzią z powrotem do klienta. Co się stanie, jeśli osoba atakująca doda ukrytą wiadomość do żądania nazwy domeny? Przykładowo, zamiast wpisywać całkowicie poprawny adres URL, wprowadzi dane, które chce przekazać:

Co to jest tunelowanie DNS? Instrukcje wykrywania

Załóżmy, że osoba atakująca kontroluje serwer DNS. Może następnie przesyłać dane — na przykład dane osobowe — bez konieczności bycia wykrytym. W końcu dlaczego zapytanie DNS miałoby nagle stać się czymś nielegalnym?

Kontrolując serwer, hakerzy mogą fałszować odpowiedzi i wysyłać dane z powrotem do systemu docelowego. Umożliwia im to przekazywanie wiadomości ukrytych w różnych polach odpowiedzi DNS do szkodliwego oprogramowania na zainfekowanej maszynie, wraz z instrukcjami, takimi jak przeszukiwanie określonego folderu.

Częścią tego ataku jest „tunelowanie”. ukrywanie dane i polecenia pochodzące z detekcji przez systemy monitorujące. Hakerzy mogą używać zestawów znaków base32, base64 itp., a nawet szyfrować dane. Takie kodowanie pozostanie niewykryte przez proste narzędzia do wykrywania zagrożeń, które przeszukują zwykły tekst.

I to jest tunelowanie DNS!

Historia ataków tunelowych DNS

Wszystko ma swój początek, łącznie z pomysłem przejęcia protokołu DNS w celach hakerskich. O ile nam wiadomo, pierwszy dyskusja Atak ten został przeprowadzony przez Oskara Pearsona na liście mailingowej Bugtraq w kwietniu 1998 r.

W 2004 roku w firmie Black Hat wprowadzono tunelowanie DNS jako technikę hakerską w prezentacji Dana Kaminsky'ego. Zatem pomysł bardzo szybko przekształcił się w prawdziwe narzędzie ataku.

Obecnie tunelowanie DNS zajmuje pewną pozycję na mapie potencjalne zagrożenia (a blogerzy zajmujący się bezpieczeństwem informacji często są proszeni o wyjaśnienie).

Słyszałeś o Żółw morski ? Jest to ciągła kampania prowadzona przez grupy cyberprzestępcze – najprawdopodobniej sponsorowana przez państwo – mająca na celu przejmowanie legalnych serwerów DNS w celu przekierowywania żądań DNS na ich własne serwery. Oznacza to, że organizacje otrzymają „złe” adresy IP wskazujące na fałszywe strony internetowe prowadzone przez hakerów, takich jak Google czy FedEx. Jednocześnie osoby atakujące będą mogły uzyskać konta użytkowników i hasła, które nieświadomie będą je wprowadzać na takich fałszywych stronach. To nie jest tunelowanie DNS, ale kolejna niefortunna konsekwencja kontrolowania serwerów DNS przez hakerów.

Zagrożenia związane z tunelowaniem DNS

Co to jest tunelowanie DNS? Instrukcje wykrywania

Tunelowanie DNS jest jak wskaźnik początku etapu złych wiadomości. Które? Mówiliśmy już o kilku, ale uporządkujmy je:

  • Wyjście danych (eksfiltracja) – haker w tajemnicy przesyła krytyczne dane przez DNS. Zdecydowanie nie jest to najskuteczniejszy sposób przekazania informacji z komputera ofiary - biorąc pod uwagę wszystkie koszty i kodowania - ale działa, a przy tym - potajemnie!
  • Dowodzenie i kontrola (w skrócie C2) – hakerzy wykorzystują protokół DNS do wysyłania prostych poleceń sterujących, np. trojan zdalnego dostępu (Trojan zdalnego dostępu, w skrócie RAT).
  • Tunelowanie IP przez DNS - Może to wydawać się szalone, ale istnieją narzędzia, które implementują stos IP na żądaniach i odpowiedziach protokołu DNS. Wykonuje transfer danych za pomocą FTP, Netcat, ssh itp. stosunkowo proste zadanie. Niezwykle złowieszcze!

Wykrywanie tunelowania DNS

Co to jest tunelowanie DNS? Instrukcje wykrywania

Istnieją dwie główne metody wykrywania nadużyć DNS: analiza obciążenia i analiza ruchu.

w analiza obciążenia Strona broniąca szuka anomalii w przesyłanych tam i z powrotem danych, które można wykryć metodami statystycznymi: dziwnie wyglądających nazw hostów, rzadziej używanego typu rekordu DNS lub niestandardowego kodowania.

w analiza ruchu Liczbę żądań DNS do każdej domeny szacuje się na podstawie średniej statystycznej. Osoby atakujące korzystające z tunelowania DNS wygenerują duży ruch na serwerze. Teoretycznie znacznie lepsza od normalnej wymiany wiadomości DNS. I to trzeba monitorować!

Narzędzia do tunelowania DNS

Jeśli chcesz przeprowadzić własny pentest i sprawdzić, jak dobrze Twoja firma potrafi wykryć takie działania i zareagować, istnieje do tego kilka narzędzi. Wszystkie mogą tunelować w tym trybie IP-over-DNS:

  • Jod – dostępny na wielu platformach (Linux, Mac OS, FreeBSD i Windows). Umożliwia zainstalowanie powłoki SSH pomiędzy komputerem docelowym i kontrolnym. To jest dobre przewodnik na temat konfigurowania i używania jodu.
  • OzymanDNS – Projekt tunelowania DNS autorstwa Dana Kaminsky'ego, napisany w Perlu. Można się z nim połączyć poprzez SSH.
  • DNSCat2 - „Tunel DNS, który nie powoduje choroby.” Tworzy zaszyfrowany kanał C2 do wysyłania/pobierania plików, uruchamiania powłok itp.

Narzędzia do monitorowania DNS

Poniżej znajduje się lista kilku narzędzi, które przydadzą się do wykrywania ataków tunelowych:

  • dnsHunter – Moduł Pythona napisany dla MercenaryHuntFramework i Mercenary-Linux. Odczytuje pliki .pcap, wyodrębnia zapytania DNS i wykonuje mapowanie geolokalizacyjne w celu pomocy w analizie.
  • ponownie złożyć_dns – narzędzie Pythona, które odczytuje pliki .pcap i analizuje wiadomości DNS.

Mikro FAQ na temat tunelowania DNS

Przydatne informacje w formie pytań i odpowiedzi!

P: Co to jest tunelowanie?
O: To po prostu sposób na przesyłanie danych za pośrednictwem istniejącego protokołu. Podstawowy protokół zapewnia dedykowany kanał lub tunel, który jest następnie używany do ukrywania faktycznie przesyłanych informacji.

P: Kiedy przeprowadzono pierwszy atak tunelujący DNS?
O: Nie wiemy! Jeśli wiesz, daj nam znać. O ile nam wiadomo, pierwszą dyskusję na temat ataku zainicjował Oscar Piersan na liście mailingowej Bugtraq w kwietniu 1998 roku.

P: Jakie ataki są podobne do tunelowania DNS?
O: DNS nie jest jedynym protokołem, którego można używać do tunelowania. Na przykład złośliwe oprogramowanie dowodzenia i kontroli (C2) często wykorzystuje protokół HTTP do maskowania kanału komunikacji. Podobnie jak w przypadku tunelowania DNS, haker ukrywa swoje dane, ale w tym przypadku wygląda to na ruch ze zwykłej przeglądarki internetowej uzyskujący dostęp do zdalnej witryny (kontrolowanej przez atakującego). Może to pozostać niezauważone przez programy monitorujące, jeśli nie są skonfigurowane do wykrywania zagrożenie nadużywanie protokołu HTTP do celów hakerskich.

Czy chcesz, żebyśmy pomogli w wykryciu tunelu DNS? Sprawdź nasz moduł Krawędź Varonisa i wypróbuj za darmo próbny!

Źródło: www.habr.com

Dodaj komentarz