Jako nedílnou součást naší práce a práce našich partnerů jsme měli možnost nahlédnout do síťové komunikace mnoha různých typů společností. V průběhu auditů jsme narazili na nejrůznější špatné konfigurace nebo škodlivé aktivity, dnes se podíváme, co neopomenout v oblasti DNS systému.

Když zadáte do webového prohlížeče adresu www.greycortex.com, automaticky předpokládáte, že se dostanete na webové stránky firmy GREYCORTEX. To, co se vám zobrazí, záleží mimo jiné na DNS překladu, který zajišťuje převod názvu jména www.greycortex.com do číselné podoby IP adresy: 91.239.201.14.

DNS server, který řídí tento překlad, řídí také cílovou IP adresu a server, na který bude uživatel přesměrován. Ten, kdo vidí DNS dotazy konkrétního zařízení, vidí také k jakým serverům se zařízení připojuje – jaké používá služby nebo co zhruba dělá.

Jako nejčastější problémy ve správě systému DNS vidíme:

  • Neomezeně otevřený port č. 53 – je možné přes něj přenášet libovolná data, a mohou je tak zneužít nejen útočníci, ale i legitimní aplikace.
  • Nejste správcem vlastní domény – vaše síť se pak může stát cílem útoku Man-in-the-Middle.
  • Překlepy v IP adresách DNS serverů – zranitelná jsou zejména ručně konfigurovaná zařízení, kterým se například znemožní bezpečnostní aktualizace.

Neomezeně otevřený port 53

V mnoha sítích vídáme otevřený port 53 z interní sítě do internetu, a to bez jakýchkoliv restrikcí. V praxi to znamená, že libovolné zařízení z interní sítě se může připojit k libovolnému jinému zařízení v internetu. Toho dnes využívají jak útočníci, tak legitimní aplikace, což z pohledu bezpečnosti může představovat problém.

Útočníci mohou využít otevřeného portu 53 do internetu pro vytvoření DNS tunelu a jeho pomocí pak mohou posílat libovolná data. Například pomocí software Iodine vytvoří IP vrstvu nad aplikačním DNS protokolem a následně přes port 53 může přenášet libovolná data nebo vytvořit reverzní SSH tunel z internetu do interní sítě. Tím se vytvoří stálý přístup, který útočníkovi dovolí se kdykoliv vrátit do interní sítě.

Konkrétně v případě software Iodine se vytvořená IP vrstva přenáší schovaná v řetězcích, které reprezentují doménu třetího řádu. Z pohledu analytika síťové komunikace komunikuje klient s legitimním DNS serverem v interní síti, bližší pohled na přenášená data ale ukáže, že tomu tak není. 

Podívejme se, jak tato data vidíme v nástroji GREYCORTEX Mendel na příkladu komunikace zařízení s IP adresou 10.0.2.30, která posílá DNS dotazy na interní DNS server s IP adresou 10.0.2.20. Na obrázku níže vidíte v samotných datech aplikačního protokolu příklad několika dotazů, které se ptají na doménové jméno pirate.sea. Doménové jméno třetího řádu se v každém dotazu mění a navíc vypadá už na první pohled velmi podivně. Všimněte si také, že atribut rrtype obsahuje nezvyklou hodnotu NULL.

Kdy je vhodné otevřít port 53

Příkladem legitimního využití otevřeného portu 53 mohou být některé antivirové produkty. Například produkt společnosti Avast má funkci DNS secure (nyní Real Site). Ta má zabránit útokům typu DNS hijacking, při nich útočník uživateli podvrhne DNS záznam, který pak uživatele zavede na škodlivý server. Při zapnutí funkce DNS secure antivirus posílá šifrované DNS požadavky na vlastní DNS servery, a tím podvržení DNS záznamu zamezí.

Klientské zařízení tedy obchází interní DNS server a posílá DNS dotazy na server přímo do internetu. Z pohledu síťového provozu poté vidíte na portu 53 odchozí provoz na externí server. Jelikož je komunikace šifrovaná, neuvidíte DNS jméno, které klient požadoval přeložit.

Tato funkcionalita může být žádaná při připojení zařízení třeba do veřejných wi-fi sítí, ale ve firemním prostředí může představovat problém při dohledávání a monitorování DNS komunikace.

Pro auditování DNS komunikace a dlouhodobého monitorování a sběru dat potřebného pro řešení bezpečnostních událostí doporučujeme:

  • Blokujte veškerou odchozí komunikaci na cílový port 53 do internetu ze sítí, v nichž se vyskytují kritické informační systémy, které je potřeba monitorovat. Výjimky vytvářejte pouze pro legitimní interní DNS servery.
  • Auditujte zařízení, která se snaží překládat DNS jména přímo vůči DNS serverům v internetu. Komunikace je generována buď specifickými aplikacemi nebo malwarem, který se snaží komunikovat přímo do internetu.

Jste vlastníkem své vlastní domény? 

Během auditu jsme se setkali se situací, kdy se v interní síti používaly dvě domény. Tato situace vznikla kvůli nemožnosti migrace staré domény na nové systémy, a proto se správci rozhodli vytvořit doménu novou.

Stará doména byla company.cz a nová doména dostala příponu 2v, vznikla tedy company2v.cz. Na první pohled se to může zdát jako neškodná změna. Problémem ovšem bylo, že administrátoři novou doménu neregistrovali u správce domény .CZ, u sdružení CZ.NIC, a zaregistroval si ji jiný subjekt. 

Jaké praktické dopady může tato skutečnost mít? 

Jednoho dne se správce rozhodne, že chce vidět webovou komunikaci, která odchází do internetu. Použije proxy server a automaticky ho nastaví pomocí Windows GPO (Group Policy Object). V takovém případě se stanice začnou pokoušet připojovat k serveru se jménem wpad.company2v.cz pro naši novou doménu. Zařízení, která mají nastaven externí DNS server a firewall je pustí do internetu, přesměrují dané zařízení na DNS server, který je pro doménu company2v.cz autoritativní. Tyto servery jsou v internetu a nejsou vlastněny daným zákazníkem.

Zde vzniká problém, protože skutečný vlastník domény company2v.cz spravuje veškeré DNS záznamy pro danou doménu. Může tedy zajistit, že se zařízení z interní sítě při pokusu o získáni konfigurace proxy připojí k proxy serveru v internetu. Je pak možné realizovat například MITM útok. Je pak velice jednoduché takovému klientovi doručit třeba ransomware – ten se může tvářit jako spustitelný soubor firefox.exe, který chtěl uživatel původně stáhnout.

Během auditu je tedy vhodné se podívat na to:

  • jaké domény se v síti vyskytují, 
  • na koho jsou tyto domény registrovány, 
  • a také jak se v síti využívají.

Překlepy v IP adresách DNS serverů

Často se také setkáváme s překlepy v těchto IP adresách DNS serverů:

  • Veřejně dostupné servery společnosti Google s adresami 8.8.8.88.8.4.4 jsou zapisovány například jako 4.4.4.4 nebo 8.8.6.6,
  • Adresy typu 192.168.X.X postrádají číslo 1 na začátku IP adresy.

Při špatné konfiguraci DNS serveru pak zařízení nemůže provádět DNS překlady. U zařízení, které jsou denně používána, bude problém rychle odhalen. Problém může nastat u zařízení, kde se DNS konfiguruje ručně. To mohou být kamery, senzorické systémy a jiné přístroje. Taková chyba v konfiguraci může znemožnit například bezpečnostní aktualizace daného zařízení.

Na obrázku níže můžete vidět příklad ze systému Mendel, který detekoval třináct zařízení, která se snaží posílat DNS dotazy na IP adresu 8.8.6.6. Na této IP adrese se však nenachází DNS server, a proto jsou překlady neúspěšné.

Pokud se navíc administrátorovi nebo uživateli při konfiguraci podaří trefit IP adresu, která je v internetu používána a poskytuje DNS službu, může docházet také k odesílání interních DNS jmen na veřejný server do internetu.

Tyto drobné miskonfigurace mohou vznikat a zanikat nahodile, proto neustále monitorujte a zaznamenávejte DNS provoz, který sítí prochází.

Hledejte odchylky od normálního provozu

DNS systém je dnes jeden základních kamenů každé počítačové sítě. 

Proto pravidelně auditujte síťovou komunikaci, kterou tento systém generuje. Pro účely auditu je potřeba danou komunikaci zaznamenávat a po nějakou dobu také uchovávat. Jelikož DNS systém je schopen během jediného dne vygenerovat velké množství dat, je vhodné mít po ruce systém, který umí v těchto datech hledat odchylky od normálního provozu nebo zodpovědět základní otázky o provozu ve vaší infrastruktuře.