How Hackers Spoof DNS Requests With DNS Cache Poisoning
Domain Name Server (DNS) Spoofing to cyberatak, który oszukuje komputer, aby myślał, że przechodzi do właściwej strony internetowej, ale tak nie jest. Atakujący używają zatruwania pamięci podręcznej DNS, aby porwać ruch internetowy i ukraść dane uwierzytelniające użytkownika lub dane osobowe.
Zatruwanie pamięci podręcznej DNS i spoofing DNS są synonimami i często są używane zamiennie. Ale, aby być precyzyjnym, można myśleć o nich jako o tym, jak i co z tego samego cyberataku. Haker chce oszukać użytkowników, aby wprowadzili swoje prywatne dane na niebezpieczne strony internetowe. Jak to zrobi? Poprzez zatrucie pamięci podręcznej DNS. To, co robi, to spoofing lub podmiana danych DNS dla konkretnej strony internetowej, tak aby przekierowywała ona na serwer hakera, a nie na prawdziwy serwer WWW. Stamtąd haker jest przygotowany do przeprowadzenia ataku phishingowego, kradzieży danych, a nawet wstrzyknięcia złośliwego oprogramowania do systemu ofiary.
Zdobądź darmową książkę Pen Testing Active Directory Environments EBook
Varonis może wykryć ataki DNS cache poisoning poprzez monitorowanie DNS i wykrywanie nietypowych zachowań w aktywności użytkowników.
- What is DNS Spoofing and Cache Poisoning?
- How Does a DNS Cache Poisoning Attack Work?
- How To Detect DNS Cache Poisoning
- How To Protect Against DNS Cache Poisoning
- DNS Spoofing FAQs
What is DNS Spoofing and Cache Poisoning?
Before we talk about the attack, we need a refresher on what is DNS and DNS caching. DNS jest ogólnoświatowym katalogiem adresów IP i nazw domen. Pomyśl o tym jak o książce telefonicznej dla internetu. Tłumaczy on adresy URL przyjazne użytkownikowi końcowemu, takie jak Varonis.com, na adresy IP, takie jak 192.168.1.169, które są używane przez komputery do pracy w sieci.
Buforowanie DNS jest systemem, który przechowuje te adresy w serwerach DNS na całym świecie. Aby utrzymać szybkość żądań DNS, oryginalni twórcy stworzyli rozproszony system DNS. Każdy serwer przechowuje listę rekordów DNS, które zna – jest to tzw. cache. Jeśli najbliższy serwer DNS nie zna adresu IP, którego potrzebujesz, pyta inne serwery DNS, aż znajdzie adres IP strony, na którą próbujesz wejść. Twój serwer DNS następnie zapisuje ten nowy wpis do pamięci podręcznej, aby uzyskać szybsze czasy odpowiedzi.
Przykłady i skutki DNS Cache Poisoning
DNS nie został zaprojektowany do zarządzania nowoczesnym Internetem w ogóle. Z biegiem lat było coraz lepiej, ale jeden źle skonfigurowany serwer DNS, który wyciągnął wpisy DNS z serwera w Chinach – i nagle nikt nie może dostać się do Facebooka. Ten incydent pokazuje, jak bardzo jesteśmy uzależnieni od DNS. Jedna osoba źle konfiguruje serwer i nagle setki milionów ludzi odczuwa tego skutki.
WikiLeaks był również celem ataku napastników, którzy użyli ataku zatruwającego pamięć podręczną DNS, aby porwać ruch do własnej wersji WikiLeaks. Był to celowy atak mający na celu utrzymanie ruchu z dala od WikiLeaks z pewnym powodzeniem.
Ataki zatruwające pamięć podręczną DNS są podstępne i trudne do złapania dla przeciętnych ludzi. DNS jest obecnie systemem opartym przede wszystkim na zaufaniu, dlatego też łatwo go wykorzystać. Ludzie bezgranicznie ufają DNS i nigdy tak naprawdę nie sprawdzają, czy adres w przeglądarce jest tym, którego oczekiwali. Atakujący wykorzystują to samozadowolenie i nieuwagę, aby ukraść dane uwierzytelniające lub więcej.
Jak działa atak zatrucia pamięci podręcznej DNS?
Zatrucie pamięci podręcznej DNS ma miejsce wtedy, gdy najbliższy serwer DNS ma wpis, który odsyła użytkownika pod niewłaściwy adres – zazwyczaj taki, który kontroluje atakujący. Oto kilka różnych technik, których napastnicy używają do zatruwania pamięci podręcznej DNS.
Hijacking the Local Network With ARP Spoofing
Sieć lokalna może być zaskakująco podatnym na ataki celem. Wielu administratorom wydaje się, że mają ją opanowaną, ale diabeł tkwi w szczegółach. Jednym z częstych problemów są pracownicy pracujący w domu. Czy ich sieć Wi-Fi jest zabezpieczona? Hakerzy mogą złamać słabe hasło Wi-Fi w ciągu zaledwie kilku godzin. Innym jest otwarty porty ethernet narażone w korytarzach i lobby publicznych. Wystarczy wyobrazić sobie kogoś, kto czeka w holu, podłączając się do kabla ethernet przeznaczonego do wyświetlacza lobby.
Zobaczmy, jak haker mógłby potencjalnie wykorzystać dostęp do sieci lokalnej w jednej z tych sytuacji.
Po pierwsze, haker stworzyłby stronę phishingową, którą może wykorzystać do zbierania danych uwierzytelniających użytkownika i innych cennych danych. Mogliby wtedy hostować tę stronę lokalnie w sieci lub zdalnie na serwerze za pomocą jednej linii kodu Pythona.
Z tego miejsca haker mógłby następnie rozpocząć monitorowanie sieci za pomocą narzędzi takich jak Betterrcap. Na tym etapie, są one mapowanie i badanie sieci docelowej, ale ruch jest nadal przepływa przez router.
Następnie, haker będzie używać ARP spoofing do restrukturyzacji sieci wewnętrznie. ARP, czyli protokół rozwiązywania adresów, jest używany przez urządzenia w sieci do powiązania adresu MAC urządzenia z adresem IP w sieci. Bettercap będzie wysyłać wiadomości ARP informujące wszystkie urządzenia w sieci, że komputer hakera jest routerem. To pozwala hakerowi przechwycić cały ruch sieciowy związany z routerem.
Po przekierowaniu całego ruchu przez komputer hakera, haker może uruchomić Bettercap’s DNS spoofing module. Będzie on szukał wszelkich żądań do domeny docelowej i wysyłał fałszywą odpowiedź z powrotem do ofiary. Fałszywe żądanie zawiera adres IP komputera hakera, przekierowując każde żądanie do docelowej strony internetowej na stronę phishingową hostowaną przez hakera.
Teraz haker może zobaczyć ruch przeznaczony dla innych urządzeń w sieci i przekierować żądania do dowolnej strony internetowej. Haker może zobaczyć wszystko, co ofiara robi na tej stronie, w tym zbieranie danych logowania lub serwowanie złośliwych plików do pobrania.
Jeśli haker nie może uzyskać dostępu do połączenia sieci lokalnej, ucieka się do jednego z następujących ataków.
Response Forgery Using the Birthday Attack
DNS nie uwierzytelnia odpowiedzi na zapytania rekursywne, więc pierwsza odpowiedź jest przechowywana w pamięci podręcznej. Atakujący wykorzystują „paradoks urodzinowy”, aby spróbować przewidzieć i wysłać sfałszowaną odpowiedź do żądającego. Ten atak urodzinowy wykorzystuje matematykę i teorię prawdopodobieństwa do zgadywania. W tym przypadku, atakujący próbuje odgadnąć ID transakcji Twojego żądania DNS, więc sfałszowana odpowiedź ze sfałszowanym wpisem DNS dociera do Ciebie przed prawdziwą odpowiedzią.
Atak urodzinowy nie jest gwarantowanym sukcesem, ale w końcu atakujący wkradnie sfałszowaną odpowiedź do pamięci podręcznej. Gdy atak się powiedzie, atakujący będzie widział ruch z fałszywego wpisu DNS aż do wygaśnięcia czasu życia (TTL).
Eksploit Kaminsky’ego
Eksploit Kaminsky’ego jest odmianą ataku urodzinowego przedstawionego na BlackHat 2008.
Najpierw atakujący wysyła do resolwera docelowego zapytanie DNS dla nieistniejącej domeny, takiej jak „fake.varonis.com”. Następnie resolwer przekazuje zapytanie do autorytatywnego serwera nazw, aby uzyskać adres IP dla fałszywej subdomeny. W tym momencie atakujący zalewa resolver ogromną liczbą fałszywych odpowiedzi, mając nadzieję, że jedna z tych fałszywek pasuje do identyfikatora transakcji z oryginalnego zapytania.
Jeśli im się to uda, atakujący zatruł pamięć podręczną DNS docelowego resolvera fałszywym adresem IP dla – w tym przykładzie – varonis.com. Resolwer będzie nadal mówił każdemu, kto go zapyta, że adres IP dla varonis.com jest sfałszowanym zapytaniem aż do TTL.
Jak wykryć DNS Cache Poisoning
Jak więc wykryć atak zatruwający cache DNS? Monitoruj swoje serwery DNS w poszukiwaniu wskaźników możliwych ataków. Ludzie nie mają wystarczającej mocy obliczeniowej, aby nadążyć za ilością żądań DNS, które trzeba będzie monitorować. Zastosuj analitykę bezpieczeństwa danych do monitorowania DNS, aby odróżnić normalne zachowanie DNS od ataków.
- Nagły wzrost aktywności DNS z jednego źródła na temat jednej domeny wskazuje na potencjalny atak typu Birthday.
- Wzrost aktywności DNS z pojedynczego źródła, które odpytywałoby Twój serwer DNS dla wielu nazw domen bez rekursji, wskazuje na próbę znalezienia wpisu, który mógłby zostać użyty do zatrucia.
Oprócz monitorowania DNS, monitoruj zdarzenia Active Directory i zachowanie systemu plików pod kątem nietypowej aktywności. A jeszcze lepiej, wykorzystaj analitykę do korelowania aktywności między wszystkimi trzema wektorami, aby dodać cenny kontekst do swojej strategii cyberbezpieczeństwa.
How To Protect Against DNS Cache Poisoning
Poza monitorowaniem i analityką, możesz wprowadzić zmiany konfiguracyjne na swoim serwerze DNS.
- Ograniczyć zapytania rekursywne w celu ochrony przed potencjalnymi atakami ukierunkowanymi na zatruwanie.
- Przechowuj tylko dane związane z żądaną domeną.
- Ogranicz odpowiedzi, aby dotyczyły tylko żądanej domeny.
- Zmuszaj klientów do korzystania z protokołu HTTPS.
Upewnij się, że używasz najnowszych wersji BIND i oprogramowania DNS, więc masz najnowsze poprawki bezpieczeństwa.
Jeśli jest to wykonalne, np. w przypadku pracowników zdalnych, wszyscy zdalni klienci łączą się przez VPN, aby chronić ruch i żądania DNS przed lokalnym snoopingiem. Dodatkowo, upewnij się, że zachęcasz do stosowania silnego hasła do domowego Wi-Fi, aby jeszcze bardziej zmniejszyć ryzyko.
I na koniec, używaj szyfrowanych żądań DNS. Domain Name System Security (DNSSEC) jest protokołem DNS, który używa podpisanych żądań DNS, aby zapobiec fałszerstwom. Kiedy używamy DNSSEC, DNS resolver musi zweryfikować podpis z autorytatywnym serwerem DNS, co spowalnia cały proces. To doprowadziło do tego, że DNSSEC nie jest jeszcze szeroko przyjęty.
DNS over HTTPS (DoH) i DNS over TLS (DoT) są konkurującymi specyfikacjami dla następnej wersji DNS, aby utrzymać bezpieczeństwo żądań DNS bez poświęcania prędkości jak DNSSEC. Nie są to jednak rozwiązania idealne, gdyż mogą spowalniać lub wręcz uniemożliwiać monitorowanie i analizę DNS lokalnie. Ważne jest również, aby pamiętać, że DoH i DoT mogą ominąć wszelkie kontrole rodzicielskie lub inne blokady poziomu DNS wykonywane w sieci. W związku z tym Cloudflare, Quad9 i Google posiadają publiczne serwery DNS, które mogą obsługiwać DoT. Wiele nowszych klientów jest w stanie wspierać te nowsze standardy, ale są one domyślnie wyłączone. Więcej szczegółowych informacji można znaleźć na blogu Varonis poświęconym bezpieczeństwu DNS.
DNS spoofing zastępuje adres IP legalnej strony internetowej adresem IP komputera hakera. To może być szczególnie podstępne, ponieważ jak trudno jest zauważyć, z perspektywy użytkownika końcowego mają umieścić zupełnie normalny wyglądający adres w pasku adresu URL w przeglądarce. Jednakże, nie jest to niemożliwe do powstrzymania. Ryzyko może być zmniejszone przez oprogramowanie monitorujące, takie jak Varonis oraz zastosowanie standardu szyfrowania DNS over TLS.
DNS Spoofing FAQs
Przeanalizuj kilka najczęściej zadawanych pytań dotyczących spoofingu DNS, na które odpowiedzi znajdują się poniżej.
Q: Czy DNS Cache Poisoning i DNS Spoofing to to samo?
A: Tak, DNS spoofing i cache odnoszą się do tego samego cyberataku.
Q: How Does DNS Cache Poisoning Work?
A: DNS cache poisoning działa poprzez oszukiwanie serwera DNS w celu zapisania fałszywego wpisu DNS. Ruch do sfałszowanego wpisu DNS trafia na wybrany przez atakujących serwer w celu kradzieży danych.
Q: Which Security Features Can Be Used to Protect Against DNS Cache Poisoning?
A: Właściciele witryn mogą wdrożyć monitorowanie i analizę spoofingu DNS. Obejmuje to aktualizację ich serwerów DNS do korzystania z DNSSEC lub innego systemu szyfrowania, takiego jak DNS over HTTPS lub DNS over TLS. Korzystanie z pełnego szyfrowania end-to-end, takiego jak HTTPS, gdziekolwiek jest to możliwe, może również zapobiec spoofingowi. Cloud Access Security Brokers (CASB) są niezwykle przydatne do tego.
Użytkownicy końcowi mogą zresetować potencjalnie spoofed DNS cache poprzez okresowe spłukiwanie pamięci podręcznej DNS przeglądarki lub po dołączeniu do niezabezpieczonej lub współdzielonej sieci. Korzystanie z VPN może chronić przed spoofingiem DNS w sieci lokalnej. Unikanie podejrzanych linków pomoże zapobiec narażaniu pamięci podręcznej przeglądarki na ryzyko.
Q: How Can You Check For a DNS Cache Poisoning Attack?
A: Kiedy pamięć podręczna DNS zostanie zatruta, może to być trudne do wykrycia. Lepszą taktyką może być monitorowanie danych i ochrona systemów przed złośliwym oprogramowaniem, aby uchronić się przed kompromitacją spowodowaną zatrutą pamięcią podręczną DNS.
Sprawdź Live Cyber Attack Lab, aby zobaczyć, jak wykorzystujemy monitorowanie DNS do wykrywania rzeczywistych zagrożeń cyberbezpieczeństwa.
Q: Jak działa komunikacja DNS?
A: Kiedy użytkownik końcowy wpisuje adres URL, taki jak „Varonis.com” w swojej przeglądarce, zostaną wykonane następujące czynności:
- Przeglądarka najpierw sprawdzi swoją lokalną pamięć podręczną, aby sprawdzić, czy dane DNS są już przechowywane.
- Jeśli przeglądarka nie ma danych wtedy zapyta następny serwer DNS upstream, który zwykle będzie router w sieci lokalnej.
- Jeśli router nie ma potrzebnego wpisu DNS w jego pamięci podręcznej wtedy użyje dostawcy DNS upstream, takich jak Google, Cloudflare, lub Quad9.
- Ten serwer upstream otrzyma żądanie DNS i sprawdzi swoją pamięć podręczną.
-
- 4.1 Zakładając, że nie posiada jeszcze danych DNS w pamięci podręcznej, uruchomi rekurencyjny resolver DNS najpierw pytając serwery główne DNS z zapytaniem „Kto obsługuje .com”
- 4.2 Następnie resolver zapyta serwer domeny najwyższego poziomu dla .com z pytaniem „Kto obsługuje Varonis.com?” TDL odpowiada podając autorytatywny serwer nazw dla adresu URL.
- 4.3 Następnie resolver kieruje zapytanie do autorytatywnego serwera nazw z pytaniem „Jaki jest adres IP domeny Varonis.com?” autorytatywny serwer nazw odpowiada podając adres IP dla domeny.
5. Dane DNS są następnie przesyłane z powrotem w dół łańcucha do urządzenia użytkownika końcowego. Po drodze każdy serwer DNS buforuje tę odpowiedź do przyszłego użytku.
Q: How do Attackers Poison DNS Cache?
Nie ma jednego sposobu, w jaki pamięć podręczna DNS może zostać zatruta, ale niektóre z najczęstszych sposobów to: Posiadanie przez ofiarę kliknięcia złośliwych linków, które używają osadzonego kodu do zmiany pamięci podręcznej DNS w ich przeglądarkach. Ponadto, hakerzy mogą porwać lokalny serwer DNS za pomocą ataku man-in-the-middle spoofing. Atak ten wykorzystuje ARP spoofing do przekierowania żądań DNS na serwer DNS kontrolowany przez hakerów.
Q: What is DNS Cache Poisoning?
A: DNS cache poisoning jest aktem zastąpienia wpisu w bazie danych DNS złośliwym adresem IP, który wysyła użytkownika końcowego do serwera kontrolowanego przez hakera.
Q: How Is DNS Spoofing Done?
Haker przeprowadza atak DNS spoofing poprzez uzyskanie dostępu i zmianę pamięci podręcznej DNS lub przekierowanie zapytań DNS do własnego serwera DNS.
Q: What Is Meant By DNS Spoofing?
DNS spoofing oznacza, że adres URL, który użytkownik wpisuje w przeglądarce, taki jak varonis.com nie jest faktycznie idzie do uzasadnionego adresu IP związanego z tym adresem URL, ale zamiast tego jest przekierowywany do złośliwego serwera kontrolowanego przez hakera.
Q: Dlaczego DNS Spoofing jest problemem?
A: DNS spoofing jest problemem, ponieważ DNS jest z natury ufne i często nie zabezpieczone z żadnego rodzaju szyfrowania. Oznacza to, że haker może sfałszować wpis DNS i wykorzystać go do kradzieży danych, infekcji złośliwym oprogramowaniem, phishingu i zapobiegania aktualizacjom.
Q: Jakie są zagrożenia stwarzane przez atak DNS Spoofing?
Głównym zagrożeniem stwarzanym przez DNS spoofing jest kradzież danych poprzez wykorzystanie stron phishingowych. Dodatkowo, istnieje ryzyko infekcji złośliwym oprogramowaniem poprzez hostowanie legalnie wyglądających plików do pobrania, które w rzeczywistości są zainfekowane złośliwym oprogramowaniem. Wreszcie, jeśli system polega na Internecie dla aktualizacji, aktualizacje mogą być uniemożliwione przez zmianę wpisów DNS tak, że nie rozwiązuje do rzeczywistej strony internetowej. Może to być również zastosowane do każdej strony internetowej jako metoda cenzury.
.