Tunelowanie DNS i eksfiltracja
Przemycanie danych za pomocą DNS
Tunelowanie DNS i eksfiltracja to bezpłatna lekcja Cyber Security Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cyber Security Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Przemycanie danych przez DNS
Tunelowanie DNS koduje dowolne dane w zapytaniach i odpowiedziach DNS, zamieniając system nazw w ukryty kanał komunikacyjny. Ponieważ niemal każda sieć pozwala ruchowi DNS opuszczać jej granice, jest to ulubiona droga eksfiltracji danych oraz komunikacji command-and-control (C2).
Jeśli zapora blokuje wszystko poza resolverem, który nadal odpowiada, atakujący mogą przekierować przez DNS pełny dwukierunkowy kanał.
Jak działa kanał
Atakujący kontroluje autorytatywny serwer nazw dla domeny, na przykład tunnel.evil.com. Implant koduje dane wychodzące w subdomenie (etykiecie po lewej stronie) zapytań:
- Dane są wysyłane jako
<base32-chunk>.tunnel.evil.com. - Autorytatywny serwer zwraca instrukcje w rekordach
TXT,CNAMElubNULL.
Każda para zapytanie–odpowiedź przenosi niewielką porcję danych.
ZXhmaWx0cmF0ZWQtc2VjcmV0.tunnel.evil.com
# Encoded chunk smuggled in the query labelWybór kodowania
Etykiety DNS nie rozróżniają wielkości liter i mają ograniczoną długość, dlatego dane binarne zwykle koduje się za pomocą Base32 (Base64 rozróżnia wielkość liter i używa niebezpiecznych znaków). Należy uwzględnić następujące ograniczenia:
- Każda etykieta może mieć do 63 znaków.
- Cała nazwa może mieć do 255 znaków.
- Dlatego jedno zapytanie przenosi najwyżej kilkaset bajtów.
Niska przepustowość sprawia, że eksfiltracja przez DNS jest powolna i generuje dużo ruchu, dzięki czemu można ją wykryć.
Używane typy rekordów
Różne typy rekordów maksymalizują przepustowość w kierunku do klienta:
TXT— duże ładunki dowolnego tekstu, podstawowy mechanizm odpowiedzi C2.NULL— surowe bajty, używane przez starsze narzędzia, takie jak iodine.CNAME/MX— umiarkowana przepustowość, łatwo wtapiają się w prawidłowy ruch.A/AAAA— niska przepustowość, ale są bardzo powszechne i nie wzbudzają podejrzeń.
Popularne narzędzia
Wykrywane narzędzia do tunelowania, które należy rozpoznawać:
- iodine — tunel IP przez DNS wykorzystujący rekordy NULL/TXT.
- dnscat2 — szyfrowany kanał C2 przez DNS.
- DNSExfiltrator — etapowa eksfiltracja plików.
- Beacon DNS Cobalt Strike — często spotykany w działaniach zespołów red team i rzeczywistych włamaniach.
Narzędzia te mają rozpoznawalne wzorce zapytań i sygnatury entropii.
Tryby wolny i szybki
Atakujący dostosowują tunel: profil low-and-slow wysyła niewiele zapytań na minutę, aby ominąć progi objętościowe, i nadaje się do dyskretnej eksfiltracji niewielkich sekretów, takich jak dane uwierzytelniające lub klucze.
Profil o wysokiej przepustowości maksymalizuje liczbę zapytań na potrzeby interaktywnego C2 lub transferu zbiorczego, poświęcając dyskrecję na rzecz szybkości. Mechanizmy detekcji muszą wykrywać oba skrajne warianty.
Sygnał detekcji: entropia
Kodowane subdomeny wyglądają jak losowe ciągi, dlatego mają wysoką entropię w porównaniu z naturalnymi nazwami domen. Obliczanie entropii Shannona dla każdej etykiety jest skuteczną heurystyką.
Prawidłowe nazwy zwykle są łatwe do wymówienia i mają niską entropię; xj4k9d2mq7zp1.tunnel.evil.com wyraźnie się wyróżnia. Należy oznaczać domeny, których entropia subdomen przekracza ustalony próg.
Sygnał detekcji: liczba i długość
Inne wskaźniki behawioralne:
- Nietypowo duża liczba zapytań do jednej domeny z jednego hosta.
- Długie nazwy zapytań zbliżające się do limitu 255 bajtów.
- Nieproporcjonalnie częste użycie rekordów
TXTlubNULL. - Wiele unikatowych subdomen w ramach jednej domeny nadrzędnej (wysoka kardynalność).
- Zapytania do świeżo utworzonej domeny o niskiej reputacji.
# Top talkers by unique subdomain count per parent domain
sort dns.log | awk '{print $domain}' | sort | uniq -c | sort -rn | headDlaczego filtrowanie ruchu wychodzącego pomaga
Punkty końcowe nie powinny nigdy łączyć się bezpośrednio z internetem za pomocą DNS. Należy wymusić kierowanie wszystkich klientów przez wewnętrzne resolvery oraz zablokować wychodzący UDP/TCP 53 na zaporze.
Skupia to ruch DNS w kontrolowanym punkcie, w którym można go rejestrować, analizować i stosować dane wywiadu zagrożeń. Unieruchamia to również implanty, które mają na stałe wpisane zewnętrzne resolvery, takie jak 8.8.8.8.
Warstwowe mechanizmy ograniczające
Należy połączyć mechanizmy kontroli, aby zablokować tunelowanie:
- Scentralizować rozwiązywanie nazw i zablokować bezpośredni dostęp do zewnętrznego portu 53.
- Wdrożyć zaporę DNS / RPZ z kanałami reputacyjnymi.
- Generować alerty na podstawie entropii, długości zapytań, współczynnika NXDOMAIN i kardynalności dla poszczególnych domen.
- Ograniczać częstotliwość zapytań i ich rozmiar, gdy jest to możliwe.
- Monitorować DoH kierowane do nieznanych punktów końcowych, ponieważ ukrywa ono tunelowanie w HTTPS.
DoH: ślepy punkt detekcji
DNS przez HTTPS opakowuje zapytania w TLS na porcie 443, więc tradycyjne monitorowanie portu 53 niczego nie wykrywa. Implant korzystający z DoH do komunikacji z nieautoryzowanym punktem końcowym może niewidocznie tunelować dane, omijając pasywne rejestrowanie DNS.
Ograniczają to następujące działania: przypisanie punktów końcowych do zatwierdzonego resolvera DoH, blokowanie znanych publicznych adresów IP i nazw hostów DoH na zarządzanych urządzeniach oraz analiza SNI TLS i reputacji miejsca docelowego.
Szybki test
Proszę sprawdzić swoje umiejętności wykrywania zagrożeń.
Podsumowanie
Tunelowanie DNS wykorzystuje subdomeny zapytań i rekordy odpowiedzi (TXT, NULL, CNAME) do utworzenia ukrytego kanału eksfiltracji i C2. Przepustowość jest niska, co sprawia, że tunelowanie jest powolne, ale dyskretne. Narzędzia takie jak iodine i dnscat2 pozostawiają rozpoznawalne wzorce.
Wykrywaj je za pomocą analizy entropii, długości, liczby i kardynalności zapytań; zapobiegaj im dzięki scentralizowanym resolverom, filtrowaniu ruchu wychodzącego, zaporom DNS/RPZ oraz kontroli nad DoH. Następnie: jak DNSSEC i filtrowanie chronią cały system nazw.
Często zadawane pytania
Czy lekcja „Tunelowanie DNS i eksfiltracja” jest bezpłatna?
Tak — pełny tekst „Tunelowanie DNS i eksfiltracja” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cyber Security Academy, przejdź na CoddyKit PRO. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Tunelowanie DNS i eksfiltracja”?
Przemycanie danych za pomocą DNS Ćwiczysz Cyber Security Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Cyber Security Academy?
Nie wymagamy żadnego doświadczenia. Cyber Security Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Tunelowanie DNS i eksfiltracja”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Cyber Security Academy?
Tak. Każda lekcja Cyber Security Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Jak działa DNS i jakie niesie ryzyko
- Spoofing DNS i zatruwanie pamięci podręcznej
- Tunelowanie DNS i eksfiltracja
- DNSSEC i filtrowanie DNS