STROKOVNI PRISPEVKI Zastrupljanje protokolov za razreševanje imen na lokalnih omrežjih Urban Dopudja, Matevž Pesek Univerza v Ljubljani, Fakulteta za Racunalništvo in Informatiko, Vecna pot 113, 1000 Ljubljana ud74172@student.uni-lj.si, matevz.pesek@fri.uni-lj.si Izvlecek V kontekstu povezovanja razlicnih informacijskih sistemov je razreševanje domenskih naslovov kljucni proces identifikacije deležnikov v širšem okolju IT infrastrukture, ki ob pomanjkljivi konfiguraciji lahko predstavlja tveganje za zlorabo s strani napadalcev. Zaradi rastoce kompleksnosti infrastrukture se kolicina takšnih vektorjev napada na informacijske sisteme v zadnjem casu povecuje. V pricujocem clanku se poglobimo v delovanje protokolov za vec vrstno oddajanje (angl. multicast) razreševanje imen v omrežjih ter njihovo potencialno zlorabo. Na tipicnih primerih pokažemo nacine izrabe razlicnih orodij, s katerimi lahko relativno enostavno izve­demo takšne napade. Skladno z demonstracijo napadov nato prikažemo razlicne tehnike, s katerimi je mogoce prikazane napade zadostno omejiti. Kljucne besede: DNS zastrupljanje, LLMNR, Omrežna varnost, Šifrirni algoritmi LOCAL NETWORK NAME RESOLUTION POISONING Abstract In the context of connecting different information systems, the resolution of domain addresses is a key process of identification of stakeholders in the wider environment of the IT infrastructure, which in the case of faulty configuration can pose a risk of abuse by attackers. Due to the growing complexity of the infrastructure, the amount of such attack vectors on information systems has been increasing recently. In this article, we delve deeper into the operation of protocols for the multicast name resolution in networks and their potential abuse. On typical examples, we show ways of using various tools that can be used to carry out such attacks relatively easily. According to the demonstration of the attacks, we then show various mitigations of the displayed attacks, with which the displayed attacks can be sufficiently limited. Key words: DNS poisoning, LLMNR, Network security, Hash algorithms 1. UVOD V zadnjih dveh letih smo bili prica napadom na ve­cje ukrajinske organizacije pred zacetkom ruske in­vazije leta 2022 [4, 13]. Ti napadi so razkrili nacine razširjenega zasega zgošcenih poverilnic z namenom dešifriranja le-teh in njihove uporabe v obsežnih na­padalskih kampanjah na ukrajinsko internetno in komunikacijsko infrastrukturo. Ti napadi so se izka­zali za efektivne, hkrati pa je odziv nanje pokazal vec enostavnih prijemov, ki so takšne napade v nadalje­vanju vojne odbili ali vsaj efektivno omejili. V okoljih Windows je izkorišcanje ranljivosti, zlasti s tehnika­mi kot sta LLMNRin NBT-NS zastrupitev, pogosto [11]. Te tehnike se pogosto uporabljajo v omrežjih za preusmerjanje prometa in krajo poverilnic, kar ogro­ža varnost celotnega sistema. Manipulacija proce­sov DNS razreševanja je kljucni del teh napadov, saj omogoca napadalcem, da prestrežejo in preusmerijo omrežni promet [15]. Avtomatizacija takih napadov, ki jo omogocajo orodja, kot sta Metasploit ali Re­sponder, povecuje tveganje za varnost predvsem sis­temov v okolju Windows domen [2]. Ta orodja olaj­šajo napadalcem izvajanje kompleksnih napadov, ki bi sicer zahtevali vec tehnicnega znanja in izkušenj. V kontekstu potencialnih ranljivosti v praksi se jenadzor nad avtentikacijskimi procesi izkazal kot klju­cen. Freimanis idr. so analizirali vpliv avtentikacijskihmetod na splošno varnost racunalniških sistemovvecjih organizacij [6]. Njihove ugotovitve, ki temelji­jo na vec izvedenih penetracijskih testih, kažejo, da jestrikten nadzor nad podprtimi avtentikacijskimi algo­ritmi kljucnega pomena pri zagotavljanju zaupnostiin celovitosti racunalniških sistemov [17]. Zlasti je topomembno pri preprecevanju t.i. “pass-the-hash” in“pass-the-ticket” zlorab, ki so med najpogostejšiminapadi na Windows sisteme [14]. Te zlorabe omogo­cajo napadalcem pridobivanje dostopa do omrežnihvirov brez dejanske pridobitve gesel, kar dodatno po­udarja potrebo po strogih varnostnih ukrepih. Naš cilj je poglobljeno raziskati zlorabo protoko­lov za razreševanje imen z vecvrstnim oddajanjem, (angl. multicast) z namenom zajetja poverilnic kot delu kompleksnejšega napada na IT infrastruktu­ro. Demonstracija in analiza takšnih napadov nam omogoca vzpostavitev varnejše in bolj odporne in­frastrukture proti tovrstnim napadom. V nadalje­vanju clanka najprej predstavimo tehnicne potrebe za delovanje protokolov, ki so potencialno ranljivi — Link-Local Multicast Name Resolution (LLMNR), NetBIOS Name Service (NBT-NS) in Multicast DNS (mDNS). Nato obravnavamo nacine zlorabe teh pro­tokolov z razlicnimi orodji ter predstavimo lastno okolje za avtomatizacijo tovrstnih napadov. clanek zakljucimo s pregledom obrambnih mehanizmov za zašcito pred takšnimi napadi. 2 TeHnicne speCiFiKaCije RaZReŠevaLniH PROTOKOLOV 2.1 Link-Local Multicast Name Resolution Link-Local Multicast Name Resolution (LLMNR) [1] je protokol druge plasti ISO/OSI modela, ki po­nuja alternativo (ali t.i. »fallback«) DNS-u za razre­ševanje imen v lokalnih omrežjih. LLMNRdelujedecentralizirano po principu poizvedb vecvrstnegaoddajanja znotraj lokalnega omrežja, s katerim za­gotavlja ucinkovito razreševanje imen brez potrebepo centralizirani DNS infrastrukturi, vendar pa jezaradi njegove narave lahko zlorabljen v okviru ki­bernetskih napadov. LLMNRdeluje na vratih 5355, pri cemer so IPv4 poizvedbe poslane na naslov za vecvrstno oddajanje 224.0.0.252, IPv6 poizvedbe pa na naslov FF02::1:3. V kontekstu LLMNRso gostitelji (angl. hosts) obicajno konfigurirani tako kot pošiljatelji kot tudi odzivni­ki, lahko pa so tudi izkljucno pošiljatelji (vendar ne obratno), saj mora vsak gostitelj, konfiguriran kot odzivnik, delovati tudi kot pošiljatelj z namenom za­gotavljanja edinstvenosti imen. Postopek razreševanja se odvija v zaporedju, kjer pošiljatelj sproži poizvedbo, na katero nato odgovo­ri odzivnik. Odgovor se pošlje nazaj pošiljatelju kot vecvrstni ali enovrstni UDPpaket, odvisno od nara­ve poizvedbe. Format LLMNRpaketa (poizvedba ter odgovor) temelji na formatu DNS-a, kateri je defini­ran v standardu RFC1035 -razdelek 4. Standard RFC predvideva pošiljanje UDPpaketov znotraj dovolje­nih velikosti z namenom izogibanja drobljenju (oz. fragmentaciji) -priporocljivo do 512 oktetov. Imple­mentacija protokola pa lahko sprejme UDPpakete do velikosti najvecje enote prenosa (angl. maximum transmission unit -MTU) ali 9194 oktetov – velikost Ethernet jumbo 9 KB okvirja, z odštetimi 22 okteti za glavo ter oznaki navideznega omrežja (VLAN) in CRC kode. Slika 1: Format zaglavja paketa[1] • ID: 16-bitni identifikator, dodeljen poizvedbam, kipošiljateljem omogoca ujemanje odgovorov. Zaradivarnosti je nastavljen na psevdonakljucno vrednost. • QR: 1-bitno polje, ki oznacuje, ali je sporocilo od­govor (set) ali poizvedba (clear). • OPCODE: 4-bitno polje, ki doloca vrsto poizvedbe. • C: Oznacuje konflikt v poizvedbi ali edinstvenost imena v odgovoru. • TC: Doloca prirezovanje (truncation) zaradi ome­jitev dolžine. Ce je nastavljeno v odgovoru, mora pošiljatelj ponovno poslati poizvedbo prek TCP. • T: Oznacuje pogojni odgovor, ce oseba, ki je odgo­vorila, ni preverila edinstvenosti imena. • Z: Rezervirano za prihodnjo uporabo, trenutno nastavljeno na 0. • RCODE: Koda odziva, nastavljena v odgovorih. V poizvedbah mora biti nic. RCODE, ki ni nicel, v odgovorih za vecvrstno oddajanje vodi do poi­zvedbe TCP. • QDCOUNT, ANCOUNT, NSCOUNT, ARCO­UNT: 16-bitna nepredznacena (unsigned) števila, kidolocajo število vnosov v razlicnih delih sporocila.Upoštevati mora dolocena pravila, da se preprecitiho zavrženje s strani pošiljateljev ali prejemnikov. 2.2 Multicast DNS Protokol mDNS[3] deluje na podoben princip in slu­ži podoben namen kot LLMNR, le da je vecinoma uporabljen v energetsko omejenih napravah/vgraje­nih ter operacijskih sistemih kot so Linux ter MacOS, za razliko od LLMNR, ki je primarno uporabljen v Windowsu. mDNS se razlikuje tudi v tem, da IPv4 poizvedbe sprejema na naslov 224.0.0.251, IPv6 po­izvedbe pa na FF02::fb. Kljub vsemu, novejše Win­dows razlicice za razreševanje pogosto uporabijo kar oba protokola, kot je razvidno iz spodnje slike prometa, zajetega s programom Wireshark, kjer smo izvedli poizvedbo po imenu (angl. hostname) “abc”. Slika 2: LLMNR in mDNS poizvedba ter odgovor Na sliki prikazujemo, kako naprava pošlje mDNS poizvedbo prek IPv4 ter IPv6, nato pa isto stori še z uporabo protokola LLMNR. V tem primeru, že na prvo povpraševanje odgovori napadalec. 2.3 NetBIOS Name Service NBT-NS[10] je starejši protokol za razreševanje imen, ki je bil predvsem uporabljen v starejših Windows okoljih. Uporablja se za razrešitev NetBIOS imen v IP-naslove. Deluje preko UDPin uporablja vrata 137. Za razliko od mDNS in LLMNR, ki sta bolj gene­ricna in delujeta na razlicnih operacijskih sistemih, je NBT-NS specificen za okolja Windows. Deluje skupaj z drugimi protokoli, povezanimi z NetBIOS, kot je NetBIOS preko TCP/IP(NBT), in se uporablja predvsem zaradi povratne združljivosti v sodobnih Windows domenah/omrežjih. NBT-NS pravzaprav ne razrešuje domenska imena v IP-naslove, temvec v NetBIOS imena, ki so uporabljena za prepoznavanje Windows naprav ter storitev. Za razliko od ostalih dveh protokolov, NBT-NS podpira samo IPv4. 3 ZLORABA V tem sklopu bomo najprej predstavili teoreticno zlorabo omenjenih protokolov, nato pa prikazali prakticni primer z uporabo orodja Responder. Kot potreben pogoj za izvedbo napada mora predhodno napadalec imeti dostop do omrežja. Naprava, ki želi dostopati do nekega domenske­ga imena, katerega naslova še ne pozna, sprva pošlje poizvedbo na DNS strežnik. Ce slednji ne poseduje ustreznega zapisa, naprava nato poplavi omrežje z vprašanjem po tem naslovu. Ta korak procesa pred­stavlja kljucno ranljivost, pri kateri se lahko v ko­munikacijo vrinemo kot napadalec, ki na lokalnem omrežju posluša za tovrstnimi poizvedbami in ob prejeti poizvedbi sestavi “zastrupljen” odgovor, v katerem predstavlja sebe (ali drugo napravo) pod is­kanim imenom. Poizvedujoca naprava nato od tarce zahteva poverilnice ali druge informacije, katere do­bimo v obliki zgošcenih vrednosti ali pa celo kot golo besedilo (plain text). Slika 3: Diagram poteka “zastrupitve” 3.1 Orodje RESPONDER Za prakticno izvedbo napadov smo uporabili orod­je Responder [8]. Prikazali bomo šest tipov napadov z omenjenim orodjem v prakticni obliki na simula­cijskem okolju. Za simulacijsko okolje smo postavili tri virtualne naprave in jih povezali na isto virtualno omrežje (NAT network). Omenjene tri naprave so: • Naprava Windows 11 s prizetimi nastavitvami — uporabljena kot tarca pri vecini napadov, • Naprava Kali Linux z orodjem Responder — upo­rabljena kot napadalec, • Naprava Debian — uporabljena kot podpora na­pravam - na primer za Samba strežnik. 3.2 Zastrupljanje z uporabo smB strežnika Ko tarca poskusi dostopati do SMB strežnika, pošlje poizvedbo DNS strežniku, ki odgovori, da nima za­pisa za to domensko ime. Tarca nato pošlje vecvrstno poizvedbo po omrežju, ki jo lahko prestrežemo z uporabo orodja Responder responder -I eth0 . Responder tarci pošlje paket “Standard Query Response 0x0000 A”, v katerem tarco pozove, naj se avtenticira. Na Windows napravi se pojavi vpisno okno, kamor uporabnik vpiše poverilnice, in se po­šljejo napadalcu. Napadalec prejme izpis v formatu: Poisoned answer sent to for name abc.local NTLMv2-SSP Client: NTLMv2-SSP Username: / NTLMv2-SSP Hash: ::: 3.3 Zastrupljanje z uporabo protokola WPAD WPAD (angl. Web Proxy Auto-Discovery Protocol) jemehanizem za konfiguracijo omrežja, ki se uporabljapredvsem v vecjih organizacijah za samodejno odkri­vanje posredniških (angl. proxy) strežnikov. Z WPADprotokolom lahko odjemalec poišce konfiguracijskodatoteko posrednika, ki se obicajno nahaja na spletnemstrežniku v lokalnem omrežju. Konfiguracijska dato­teka vsebuje navodila o odjemalcevem dostopu do in­terneta, vkljucno s tem, kateri posredniški strežnik najuporabi in katera vrsta prometa naj bo usmerjena preko slednjega. Ce uporabnik poskuša dostopati do neveljavnega URL naslova (npr. skozi brskalnik), DNS strežnik ne bo vseboval imel zapisa za is­kano stran. Brskalnik bo, ce ima vklopljeno funkci­onalnost “automatic configuration detection”, po­slal vecvrstno povpraševanje po omrežju, v katerem povprašuje po WPAD strežniku. To funkcionalnost brskalnika lahko zlorabimo z uporabo “-w” zastavice pri zagonu programa Re­sponder, katera vzpostavi zlonamerni WPAD stre­žnik. Ko uporabnik zahteva konfiguracijsko datote­ko, jo le-ta pozove za poverilnice. Tako zopet prido­bimo NTLMv2(/SSP) zgošcene vrednosti poverilnic, v nekaterih primerih pa celo v golem tekstu. 3.4 Prisilna uporaba osnovne avtentikacije Osnovna (angl. basic) avtentikacija uporablja golo besedilo za pošiljanje poverilnic — to je nešifrirana oblika, ki jo je mogoce neposredno prebrati. Dešifri­ranje lahko dolgotrajen in zahteven proces, zato bi bilo z vidika porabe casa in procesorske moci naj­lažje, da poverilnice izmenjujemo v goli obliki, kar pa predstavlja veliko grožnjo varnosti. Za ta primer nadaljujemo s prej opisanim napadom z strežnikom WPAD, ki mu v konfiguraciji orodja Responder do­damo zastavico “-b”, ki prisili uporabnike v uporabo osnovne avtentikacije. Na tem mestu bi radi izposta­vili, da to deluje v relativno redkih primerih. V pri­meru WPAD napada, ki se izvede skozi brskalnik, uporabnik prejme opozorilo, da se njegove poveril­nice ne bodo varno prenesle, številni drugi programi in storitve pa avtomatsko zavržejo povpraševanje, ce je avtentikacija nastavljena na osnovno. V primeru, da žrtev vpiše poverilnice, jih prejmemo v formatu: Basic Client : Basic Username : Basic Password : 3.5 Prisilen spust šifrirnega algoritma iz NTLMv2­SSP na NTLM Windows za šifriranje poverilnic in ostalih informa­cij privzeto uporablja šifrirni algoritem NTLMv2­-SSP, ki je nadgradnja algoritma NTLM (angl. NT LAN Manager)[16] z dodatkom SSP(angl. Security Support Provider). Na sistemu Windows SSPpred­stavlja dinamicno knjižnico (angl. Dynamic Link Li­brary -DLL), ki ponuja vmesnik med operacijskim sistemom in razlicnimi avtentikacijskimi protokoli in tako omogoca okolju Windows razširjen nabor pod­prtih protokolov. SSPje v kontekstu opisanega napada zanimiv z vidika funkcionalnosti ESS (angl. Extended Session Security), katera doda “SSP” zastavico v zgošcene NTLM vrednosti, in s tem podaljša SSPzgošceno vrednost, zaradi katere je poverilnice težje dešifrirati. Ta korak v vec procesih poznamo pod imenom solje­nje (angl. salting). V tem primeru napada orodje Re­sponder konfiguriramo z zastavico “–disable-ess”, s katero prisilimo tarco, da poverilnice pošlje v obliki NTLMv2 zgošcene vrednosti, kar pomaga pri zmanj­šanju casa, ki ga rabimo za dešifriranje. V nekaterih primerih lahko dodatno omejimo ka­kovost zgošcevalnega algoritma z dodatno zastavico “–lm”, s katero uporabnikovo napravo silimo v upo­rabo protokola NTLMv1, kar še dodatno zniža nivo varnosti. Vredno je tudi omeniti, da tovrstna prisila lahko privede do opozoril ali prekinitve seje s stra­ni tarce, vendar je med našim testiranjem do takšnih opozoril prihajalo redko, za razliko od osnovne av­tentikacije. 3.6 Zloraba posredovanja Posredovanje (angl. relaying) je pogosto uporabljen nacin za nepooblašcen dostop do sistema. Deluje po principu posrednika, ki prejme veljavno avtentikaci­jo in nato to zahtevo posreduje drugemu strežniku ali sistemu ter se poskuša avtenticirati tem strežniku z uporabo prejetih poverilnic. Pred takimi napadi se lahko efektivno zavarujemo s podpisovanjem, ven­dar razlicni sistemi tega zašcitnega koraka ne upora­bljajo [12], ali pa ga celo ne podpirajo. Princip takšne­ga napada smo testirali na Samba strežniku. Uporabimo ukaz: nmap -p445 –script=smb-security-mode , ki preišce vrata 445 (privzeta vrata za SMB) na tarci in preveri varnostno stanje konfiguracije Samba stre­žnika. Pridobimo odgovor, iz katerega lahko razbe­remo, da je podpisovanje izklopljeno. Host script results: | smb-security-mode | account_used: guest | authentication_level: user | challange_response: supported | message_signing: disabled (dangerous, but default) Za napad nato uporabimo skripto “MultiRelay.py”, ki jo lahko najdemo med seznamom orodij vorodju Responder. Skripti z zastavico “-t” nastavi­mo tarco (kamor bodo poverilnice posredovane),ter z zastavico “-u” izvore, iz katerih sprejemamopoverilnice. Vredno je tudi omeniti, da ta skripta ni bila poso­dobljena že od leta 2016 in je za njeno delovanje po­trebna manjša prilagoditev — thread.Daemon = True. Po zagonu skripte, ki je poslušala za poizvedbami na omrežju, smo uspešno izvedli posredovanje po­verilnic Samba strežniku in tako pridobili dostop do strežnika. 3.7 Dns vrivanje v DHCp odgovoru Ce se v omrežju uporablja DHCPza identifikacijo IP­-naslovov strežnikov, lahko orodje Responder v DHCPnacinu tarci v odgovor podtakne lažni DNS zapis. Orodje Responder lahko vzpostavi lažni DNS stre­žnik[5]. Ko žrtev poskuša dostopiti do naslova, naj­prej razreši ime z iskanjem DNS strežnika, kar storis pošiljanjem DHCPzahteve. Responder odgovori nato zahtevo in v DHCPodgovor vstavi svoj IP-naslovDNS strežnika, in tako zastrupi odgovor. Ko žrtev toprejme, vidi IP-naslov lažnega DNS strežnika in z nje­govo pomocjo poskuša dostopati do strežnika/stori­tve, vendar nevede dostopa le do napadalca. Responder lahko zaženemo v DHCP-DNS poiso­ning nacinu z zastavico “-D”. 4 LLMNR AUTOMATION Za izvedbo takšnih napadov lahko tudi avtomatizi­ramo opisane postopke in jih posledicno tudi poeno­stavimo, na primer v primeru obsežnejših napadov z vec tarcami. V ta namen smo ustvarili skripto LLM­NRAutomation.sh in konfiguracijsko datoteko LLM­NRAutomation.conf, ki se nahajata v našem javnem GitHub repozitoriju: https://github.com/Urichh/LL­MNR-automation. Skripta deluje v štirih korakih, izmed katerih dva slonita na drugih orodjih, ki sta potrebni za pravil­no delovanje skripte. Ti dve orodji sta Responder (https://github.com/SpiderLabs/Responder) ter Has­hcat (https://github.com/hashcat/hashcat). Obe orod­ji sta prosto dostopni. Omenjeni štirje koraki so: 1. Branje konfiguracijske datoteke in zacetek poslu­šanja z želenimi nastavitvami. 2. Zajem zgošcenih poverilnic. 3. Organizacija zajetih poverilnic v logicno datotec­no strukturo za lažje dešifriranje. 4. Dešifriranje zgošcenih poverilnic. V tem sklopu bomo razložili kako s pomocjo skripte avtomatizirano pridemo do dešifriranih po­verilnic. 4.1 Konfiguracija V repozitoriju se poleg LLMNRAutomation.sh skrip­te nahaja tudi konfiguracijska datoteka LLMNRAu­tomation.conf, v kateri so nastavitve s katerimi se nato zažene skripta. Datoteka vsebuje šest glavnih razdelkov: • Vmesnik (angl. interface) – nastavitev vmesnika, na katerem skripta posluša in oddaja. Privzeta vrednost: eth0. • Želeni strežniki – uporabnik vklopi ali izklopi la­žne strežnike, ki jih skripta nato zažene. Privzeto so vsi vklopljeni. • Preferirana avtentikacijska metoda -uporab­nik nastavi šifrirni algoritem. Privzeta vrednost: NTLMv2-SSP. • Lažni (angl. rogue) WPAD strežnik -uporabnik vklopi ali izklopi, ce skripta zažene lažni WPAD strežnik za odgovore na DHCPpoplavljanja. Ta nastavitev strežnika je locena od drugih, ker se žrtev na WPAD strežnik ne povezuje neposredno, temvec je uporabljen v kombinaciji z drugimi. Pri­vzeta vrednost: Off. • DHCP-DNS vrivanje -uporabnik vklopi ali izklo­pi DHCP-DNS vrivanje, kot je razloženo v “DNS injection v DHCPodgovoru” razdelku poglavja o orodju responder. Privzeta vrednost: Izklopljena. • Lažni zunanji IP-naslov -uporabnik lahko izbere lažni IP-naslov, iz katerega bo tarca prejela zastru­pljene odgovore. Privzeta vrednost: None. 4.2 Organizacija zajetih poverilnic Ko uporabnik ustavi skripto, se zajete zgošcene po­verilnice shranijo v direktorij imenovan “hashes” znotraj direktorija v katerem se nahaja skripta. Te zgošcene vrednosti so urejene po IP-naslovih tarc, znotraj katerega so urejeni po protokolu in nazadnje, znotraj tekstovnih datotek, so locene po uporabni­ških imenih, kot je prikazano v spodnjem diagramu: Ta datotecna struktura pomaga pri izbiri optimal­nih zgošcenih vrednosti za dešifriranje, da se cim laž­je prebijemo do želenih poverilnic. 4.3 Dešifriranje poverilnic Ko zakljucimo fazo zajema poverilnic, lahko preide­mo na zadnjo fazo, ki je dešifriranje poverilnic. To storimo tako, da skripto zaženemo z zastavico “-c”: ./LLMNRAutomation.sh -c Ce skripto zaženemo, dobimo izpis vseh zajetih poverilnic urejenih po IP-naslovu, ter nato po upo­rabniškem imenu. Npr: Slika 4: Organizacija zgošcenih poverilnic IP: • uporabniško ime 1 • uporabniško ime 2 • ... • uporabniško ime n Nato lahko izberemo katero zgošceno vrednost želimo dešifrirati, kar storimo z ukazom: ./LLMNRAutomation.sh -c -i -u Ta modul skripte nato dešifrira izbrane poverilni­ce z uporabo orodja Hashcat[7]. Za izbrano uporab­niško ime, povezano z izbranim IP-naslovom, samo­dejno izbere najlažje zgošcene vrednosti za dešifri­ranje, ki si sledijo od najlažje do najtežje v slednjem zaporedju: 1.Golo besedilo (angl. plain text)2.NTLMv13.NTLMv1-SSP4.NTLMv25.NTLMv2-SSP Hashcat poleg vhodne in izhodne datoteke zahte­va še dodatni argument, ki predstavlja vrsto podane zgošcene vrednosti. Skripta to vrednost zazna avto­matsko, glede na spodnjo tabelo[9]: Tabela 1: Vrste algoritmov Algoritev Vrsta Golo besedilo NTLMv1 1000 NTLMv2 5600 Skripta nato zacne z dešifriranjem poverilnic, vendar cas dešifriranja lahko mocno variira glede na kompleksnost in dolžino gesla. Nazadnje skripta še shrani dešifrirane poverilnice v besedilno datoteko znotraj direktorija “cracked”, ki je v istem direktoriju kot skripta. DisKUsija in ZaKLjUceK Ceprav so predstavljeni napadi lahko zelo nevarni, obstajajo številni obrambni mehanizmi, ki jih lahko preprecijo, ali pa vsaj minimizirajo posledice. Skrb­niki IT okolij lahko, razen v primeru kjer narava organizacije to preprecuje, tovrstno razreševanje iz­klopijo, kar lahko storijo npr. kar preko upravljanja s politiko skupine (angl. group policy). V primeru, da si organizacija tega ne more privošciti, pa lahko k varnosti pripomorejo z implementacijo omejenih dostopov do omrežja (ang. network access control) kot npr. protokol 802.1x. Poleg tega, se efektivnost takih zlorab lahko mocno zmanjša s splošno dobrimi varnostnimi praksami, kot so podpisovanje zahtev­kov/odgovorov na SMB strežnikih, preprecevanje uporabe zastarelih šifrirnih algoritmov, mocna gesla, ki otežujejo dešifriranje gesel in ostale splošne dobre prakse infrastrukturne varnosti, kot so locitev (se­gmentacija) omrežij. V modernih racunalniških sistemih je še vedno veliko vidikov, ki bodisi zaradi lahkote uporabe, po­vratne združljivosti ali drugih razlogov lahko pred­stavljajo varnostne luknje. Napadi, predstavljeni v tem clanku po vecini ne predstavljajo takojšnje ne­posredne grožnje za varnost racunalniških sistemov, saj je za izvedbo takšnega napada potreben dostop do lokalnega omrežja, znotraj katerega tovrstni pro­tokoli za razreševanje niso blokirani. Prav tako pa imajo napadalci ob uspešno izvedenem napadu pred sabo še mnogo ovir, kot so dejansko dešifriranje po­verilnic, ki je ob ustrezno zahtevni kompleksnosti gesel in mocnih šifrirnih algoritmih lahko zelo ca­sovno potratno, poleg tega pa lahko zelo pomagajo tudi ostali preventivni ukrepi, kot so vecstopenjska avtentikacija in podobni prijemi. Kljub vsemu pa je pomembno tem zlorabam posvetiti pozornost, saj za zagotavljanje varnosti vseeno želimo minimizirati potencialno ranljive vidike in tako zmanjšati število potencialnih vektorjev napada. V tem clanku smo predstavili delovanje protoko­lov za razreševanje imen v lokalnih omrežjih z upo­rabo vecvrstnih poizvedb, ter kako lahko te protoko­le zlorabljajo napadalci z namenom zasega šifriranih poverilnic. Demonstrirali smo tudi delovanje orodij za tovrstne napade ter razlicne uporabe le-teh, kar smo nato nadgradili v lastno orodje za avtomati­zacijo napadov in za konec predstavili še efektivne obrambne mehanizme. Hitra rast procesorske moci za namene dešifriranja poverilnic, neodpornost tre­nutnih šifrirnih algoritmov na kvantne racunalnike, vedno vecje kompleksnosti omrežij, vecja uporaba mrežnih storitev namesto »tradicionalnih« namiznih programov in ostali dejavniki so razlogi, zaradi ka­terih menimo, da je zašcita pred takšnimi napadi v današnjem svetu kljucnega pomena. LITERATURA [1] B Aboba, D Thaler in L Esibov. RFC 4795. English. Jan. 2007. URL: https://www.rfc-editor.org/ rfc/rfc4795.html (pridoblje­no 5. 9. 2024). [2] Iliano Cervesato. “Empirical Study of the Impact of Metasplo­it-Related Attacks in 4 Years of Attack Traces”. English. V: Advances in Computer Science - ASIAN 2007. Doha, Qatar: Springer, dec. 2007, str. 198–211. ISBN: 3-540-76927-7. URL: https://link.springer.com/chapter/10.1007/978-3- 540­76929-3_19 (pridobljeno 21. 5. 2024). [3] S Cheshire in M Krochmal. Multicast DNS. English. 2013. URL: https://datatracker.ietf.org/ doc/html/rfc6762 (prido­bljeno 5. 9. 2024). [4] R Cichocki. “State-Sponsored and Organized Crime Threats to Maritime Transportation Systems in the Context of the At­tack on Ukraine”. English. V: TransNav. the International Jo­urnal on Marine Navigation and Safety of Sea Transportation 17.3 (sep. 2023), str. 5. URL: https://bibliotekanauki. pl/arti­cles/24811512.pdf. [5] Maven Cybertech. Using Responder to Capture Creden­tials. English. Okt. 2023. URL: https :// systemweakness . com / using - responder - to - capture - the - credentials -a9d5a1013333 (prido- bljeno 5. 9. 2023). [6] Davis Freimanis. “Vulnerability Assessment of Authentication Methods in a Large-Scale Computer System”. English. Ma­gistrsko delo. SCHOOL OF ELECTRICAL ENGINEERING in COMPUTER SCIENCE: KTH ROYAL INSTITUTE OF TECH­NOLOGY, maj 2019. URL: https : / / www . diva - portal.org/ smash/get/diva2:1358687/FULLTEXT01.pdf (pridobljeno 5. 9. 2024). [7] Radek Hranicky` in sod. “Distributed password cracking with BOINC and hashcat”. V: Digital Investiga- tion 30 (2019). Pu­blisher: Elsevier, str. 161–172. [8] William Hurer-Mackay. LLMNR and NBT-NS Poisoning Using Responder. English. Jun. 2016. URL: https : / / www . 4armed . com / blog / llmnr - nbtns - poisoning - using - responder/ (pridobljeno 5. 9. 2024). [9] Nicklas Mortensen Hamang. “Effective Password Cracking”. English. Magistrsko delo. Faculty of ma- thematics in natural sciences: University of Oslo, 2019. URL: https://www.duo. uio.no/bitstream/ handle/10852/73247/Nicklas_M_Hamang_ Master_Thesis.pdf (pridobljeno 5. 9. 2024). [10] NetBIOS over TCP/IPNetbio’s NBT-NS Poisoning. English. (Pridobljeno 19. 5. 2024). [11] Mike O’Leary. “Attacking the Windows Domain”. English. V: Cyber Operations: Building, Defending, and Attacking Modern Computer Networks. 2nd. Apress Media LLC, feb. 2019, str. 1151. ISBN: 978- 1-4842-4294-0. URL: https:// link.springer.com/chapter/10.1007/978- 1- 4842- 4294- 0_8 (pridobljeno 5. 9. 2024).[12] Alexander Oberle in sod. “Preventing pass-the-hash and similar impersonation attacks in enterprise infrastructures”. V: 2016 IEEE 30th International Conference on Advanced Information Networking and Appli­cations (AINA). IEEE, 2016, str. 800–807. [13] Konstantinos Pantazis. “An External Red Team Assessment in a Corporate Environment”. English. Doktorska disertacija. Department of Information in Electronic Engineering: Interna­tional Hellenic University of Greece, 2022. URL: https : / / www . researchgate . net / profile / Konstantinos - Pantazis -8/ publication / 364958274 _ An _ External _ Red _ Team _ Assessment _ in _a_ Corporate _ Environment / links / 63610c3a8d4484154a53def7 / An - External - Red - Team -Assessment - in - a- Corporate-Environment.pdf (pridobljeno 5. 9. 2024). [14] Abdurrahman Pektas¸. “Practical Approach For Securing Windows Environment: Attack Vectors And Countermeasu­res”. V: International Journal of Network Security & Its Appli­cations (IJNSA) Vol 9 (2017). URL: https://papers.ssrn.com/ sol3/papers.cfm?abstract_id=3649907. [15] U Steinhoff, A Wiesmaier in R Araújo. The State of the Art in DNS Spoofing. English. 2006. URL: https : / / citeseerx . ist . psu . edu / document ? repid = rep1 & type = pdf & doi = 7fd­d734e684c6eb79a61864bb418ddc93a6ac751 (pridobljeno 21. 5. 2024). [16] Nuno Tavares. NTLM vs KERBEROS. English. Apr. 2018. URL: https://answers.microsoft.com/ en - us / msoffice / fo­rum / all / ntlm - vs - kerberos / d8b139bf - 6b5a - 4a53 - 9a00 - bb75d4e219eb (pridobljeno 5. 9. 2023). [17] Zhihao Zheng in sod. “Best Practices in Designing and Imple­menting Cloud Authentication Schemes”. English. V: CS & IT Conference Proceedings. Zv. 11. Issue: 3. CS & IT Conferen­ce Proceedings, 2021, str. 10. URL: https://www.csitcp.com/ paper/11/113csit07.pdf. • Urban Dopudja je študent na Fakulteti za racunalništvo in informatiko Univerze v Ljubljani. Cas posveca strokovnim izpopolnjevanjem na podrocju kibernetske varnosti. Njegovi raziskovalni interesi segajo na podrocja spletne varnosti, omrežnih protokolov in nizkonivojske analize sistemov. • matevž pesek je docent in raziskovalec na Fakulteti za racunalništvo in informatiko Univerze v Ljubljani, kjer je diplomiral (2012) in doktoriral (2018). Od leta 2009 je clan Laboratorija za racunalniško grafiko in multimedije. Od leta 2024 izvaja predmet Varnost programov.