Co je DNS tunelování? Návod na odhalení

Co je DNS tunelování? Návod na odhalení

DNS tunelování přetváří systém doménových jmen na zbraň hackerů. DNS je v podstatě obrovský telefonní seznam internetu. A také je DNS základním protokolem, který umožňuje administrátorům posílat dotazy na databázi DNS serveru. Zatím to vypadá srozumitelně. Ale mazaní hackeři si uvědomili, že mohou tajně komunikovat s obětí počítače tím, že vloží ovládací příkazy a data do protokolu DNS. Tento nápad leží v základu DNS tunelování.

Jak funguje DNS tunelování

Co je DNS tunelování? Návod na odhalení

Pro všechno na internetu existuje svůj vlastní protokol. A DNS podporuje relativně jednoduchý protokol typ dotaz-odpověď. Pokud chcete vidět, jak to funguje, můžete spustit nslookup - hlavní nástroj pro provádění DNS dotazů. Můžete požádat o adresu jednoduše tím, že uvedete doménové jméno, které vás zajímá, například:

Co je DNS tunelování? Návod na odhalení

V našem případě protokol odpověděl IP adresou domény. V termínech protokolu DNS jsem provedl dotaz na adresu, nebo dotaz tzv. typu „A“. Existují i další typy dotazů a protokol DNS bude odpovídat s různými sadami datových polí, které, jak uvidíme později, mohou zneužít hackeři.

Ať tak či onak, DNS protokol se v podstatě zabývá přenosem požadavku na server a jeho odpovědí zpět klientovi. A co kdyby útočník přidal skrytou zprávu do požadavku doménového jména? Například místo zadání zcela legitimního URL by zadal data, která chce přenést:

Co je DNS tunelování? Návod na odhalení

Představme si, že útočník ovládá DNS server. Pak může přenášet data – například osobní údaje – a nemusí být nutně odhalen. Konec konců, proč by měl být DNS dotaz něčím nelegitimním?

Ovládáním serveru mohou hackeři falšovat odpovědi a posílat data zpět na cílový systém. To jim umožňuje přenášet zprávy, skryté v různých polích DNS odpovědi, do malware na infikovaném počítači, s pokyny jako například hledání v určité složce.

Část této útoku, která se nazývá „tunelování“, spočívá v skrytí dat a příkazů před detekcí monitorovacími systémy. Hackeři mohou používat sady znaků base32, base64 atd., nebo dokonce šifrovat data. Taková kódování projde bez povšimnutí kolem jednoduchých detekčních nástrojů, které probírají otevřený text.

A to je DNS tunelování!

Historie útoků prostřednictvím DNS tunelování

Všechno má svůj začátek, včetně myšlenky zneužití protokolu DNS pro hackerské účely. Podle dostupných informací byl první diskuze takový útok proveden Oskarem Pearsonem v diskusní skupině Bugtraq v dubnu 1998.

Do roku 2004 bylo DNS tunelování prezentováno na konferenci Black Hat jako hackerská metoda v prezentaci Dana Kaminskyho. Tak se myšlenka velmi rychle proměnila v skutečný útok.

Dnes má DNS tunelování pevné místo na mapě potenciálních hrozeb (a blogeři zabývající se informační bezpečností jsou často požádáni, aby ji vysvětlili).

Slyšeli jste o Sea Turtle ? Это действующая кампания киберпреступных группировок — скорее всего, спонсируемая государством, — направленная на захват легитимных DNS-серверов с целью перенаправления DNS-запросов на собственные сервера. Это означает, что организации будут получать «плохие» IP-адреса, указывающие на поддельные веб-страницы под управлением хакеров, — например, Google или FedEx. При этом злоумышленники смогут заполучить учётные записи и пароли пользователей, которые те неосознанно введут их на таких поддельных сайтах. Это не DNS-туннелирование, но просто ещё одно скверное последствие контроля DNS-серверов хакерами.

Hrozby DNS tunelování

Co je DNS tunelování? Návod na odhalení

DNS tunelování je jakýsi indikátor začátku fáze špatných zpráv. Jakých konkrétně? Již jsme hovořili o několika, ale pojďme je strukturovat:

  • Únik dat (exfiltrace) – hacker diskretne přenáší kritická data přes DNS. Určitě to není nejefektivnější způsob přenosu informací z počítače oběti – vzhledem k veškerým nákladům a kódování – ale funguje to a navíc – skrytě!
  • Řízení a kontrola (Command and Control, zkráceně C2) – hackeři využívají protokol DNS k odesílání jednoduchých řídicích příkazů, řekněme, prostřednictvím trojského koně pro vzdálený přístup (Remote Access Trojan, zkráceně RAT).
  • Tunelování IP-Over-DNS – to může znít šíleně, ale existují nástroje, které implementují IP zásobník nad dotazy a odpověďmi protokolu DNS. To usnadňuje přenos dat pomocí FTP, Netcat, ssh atd. Je to nesmírně zlověstné!

Odhalování DNS tunelování

Co je DNS tunelování? Návod na odhalení

Existují dva hlavní metody detekce zneužití DNS: analýza zatížení a analýza dopravy.

Při analýza zatížení obranná strana hledá anomálie v datech přenášených oběma směry, které mohou být detekovány statistickými metodami: divně vypadající názvy hostitelů, typ DNS záznamu, který se nepoužívá tak často, nebo nestandardní kódování.

Při analýza dopravy Hodnotí se počet DNS dotazů na každou doménu v porovnání s průměrnou úrovní. Útočníci využívající DNS tunelování generují velké množství provozu na server. Teoreticky to značně překračuje normální výměnu DNS zpráv. A je potřeba to sledovat!

Nástroje pro DNS tunelování

Pokud chcete provést vlastní penetrační test a zjistit, jak dobře vaše společnost dokáže odhalit a reagovat na takovou aktivitu, existuje několik nástrojů. Všechny umí tunelovat v režimu IP-Over-DNS:

  • Iodine – dostupný na mnoha platformách (Linux, Mac OS, FreeBSD a Windows). Umožňuje nastavit SSH shell mezi cílovým a řídicím počítačem. Zde je dobrý návody návod k nastavení a použití Iodine.
  • OzymanDNS – projekt DNS tunelování od Dana Kaminského, napsaný v Perlu. S ním se lze připojit přes SSH.
  • DNSCat2 – "DNS tunel, po kterém není na zvracení". Vytváří šifrovaný C2 kanál pro sdílení/stahování souborů, spouštění shellů atd.

Nástroje pro monitoring DNS

Níže je uveden seznam několika nástrojů, který bude užitečný pro detekci tunelových útoků:

  • dnsHunter – Python modul, napsaný pro MercenaryHuntFramework a Mercenary-Linux. Čte .pcap soubory, extrahuje DNS dotazy a provádí geolokační mapování, což pomáhá při analýze.
  • reassemble_dns – nástroj v Pythonu, který čte .pcap soubory a analyzuje DNS zprávy.

Mikro FAQ o DNS tunelování

Užitečné informace ve formě otázek a odpovědí!

Otázka: Co je tunelování?
Odpověď: To je prostě způsob, jak přenášet data přes existující protokol. Základní protokol zajišťuje vyhrazený kanál nebo tunel, který se následně používá k maskování informací, které se opravdu přenášejí.

Otázka: Kdy byla provedena první útok pomocí DNS tunelování?
Odpověď: Nevíme! Pokud víte – dejte nám prosím vědět. Podle našich informací byla první diskuse o útoku iniciována Oscarem Pirsanem na mailing listu Bugtraq v dubnu 1998.

Otázka: Jaké útoky jsou podobné DNS tunelování?
Odpověď: DNS – rozhodně není jediným protokolem, který lze použít pro tunelování. Například škodlivé programy pro řízení a kontrolu (C2) často používají HTTP k maskování komunikačního kanálu. Stejně jako při DNS tunelování hacker skrývá svá data, avšak v tomto případě vypadají jako provoz běžného webového prohlížeče, který se připojuje na vzdálenou stránku (ovládanou útočníkem). To může zůstat nezpozorováno monitorovacími programy, pokud nejsou nastaveny, aby rozpoznávaly hrozbu zneužití protokolu HTTP k hackerským účelům.

Chcete, abychom vám pomohli s odhalením DNS tunelování? Seznamte se s naším modulem Varonis Edge a vyzkoušejte bezplatnou demo!

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster