====== Pass the hash napadi i zaštita ====== ===== Sažetak ===== U današnje vrijeme, kako sve više organizacija koristi tehnologiju **jednostrukog prijavljivanja (SSO)** kako bi omogućile udaljeni rad i poboljšale korisničko iskustvo. Napadači su prepoznali **ranjivost** pohranjenih lozinki i korisničkih akreditacija zbog čega su **napadi** bazirani na identitetu poput Pass the hash napada češći nego ikad prije. Takvi napadi, gdje se napadači pretvaraju da su legitimni korisnici posebno su teški za otkrivanje jer većina tradicionalnih kibernetičkih rješenja ne može razlikovati pravog korisnika od napadača koji se pretvara da je legitimni korisnik. Ova tehnika napada često prethodi drugim, ozbiljnijim sigurnosnim problemima, poput krađe identiteta te napada zlonamjernim softverom ili //ransomware//-om, zbog čega je **zaštita** od takvih napada veoma bitna. U ovom radu detaljnije će biti objašnjeno što su i kako funkcioniraju **//Pass the hash// napadi** te kako ih spriječiti i kako se od njih zaštititi. Ključne riječi: hash; ranjivost; napad; korisnik; napadač; jednostruko prijavljivanje; prevencija; zaštita ===== Uvod ===== **Pass the hash (PtH)** je vrsta kibernetičkog napada u kojem napadač ukrade **hash** korisničke akreditacije (najčešće lozinke) i koristi ju kako bi prevario **autentifikacijski sustav** i stvorio novu **autentificiranu korisničku sjednicu** na istoj mreži. Za razliku od ostalih napada krađe akreditacija, kod PtH napada napadač ne treba znati ili probiti lozinku kako bi dobio pristup sustavu jer za upad u sustav koristi hash lozinke. Nakon što **napadač** dobije pristup sustavu PtH napadom, **cilj** mu je izvući čim više informacija i akreditacija i dalje se kretati mrežom koristeći različite uređaje i račune. To čine s nadom da će povećati svoja korisničke privilegije kako bi pristupili kritičnim sustavima, poput administratorskog računa mreže. Iako se PtH napadi mogu dogoditi na Linuxu, Unixu i drugim platformama, **najčešći** su na sustavima koji koriste **operacijski sustav Windows**. Windows je posebno ranjiv na ove napade zbog tehnologije jednostrukog prijavljivanja (engl. **//Single-Sign-On//** (SSO)) koja omogućuje korisnicima da unesu lozinku samo jednom kako bi pristupili svim resursima sustava. SSO zahtijeva da korisničke akreditacije budu pohranjene unutar sustava (engl. //**cached**//), što olakšava pristup napadačima. ===== Kako funkcioniraju Pass the hash napadi? ===== === Hashevi === Kako bismo mogli bolje razumjeti kao funkcionira PtH napad, bitno je prvo razumjeti što je **hash** i kako se hash koristi za identifikaciju i autentifikaciju korisnika te općenito za **informacijsku sigurnost**. Hash je jednosmjerna matematička **funkcija** koja pretvara niz znakova, tj. obični tekst (engl. //plain text//) u šifrirani tekst (engl. //ciphertext//), što je vidljivo na Slici 1. {{:racfor_wiki:seminari2023:hash_flow.png?450|}} Slika 1. Postupak hashiranja teksta Hash funkcija je **jednosmjerna** u smislu da nije reverzibilna, tj. ne može se iskoristiti dobiveni šifrirani tekst (hash) kako bi se došlo do originalnog niza znakova (npr. lozinke). Postoji više **algoritama za hashiranje**, ali svi rade na istom principu. Kada se korisnik prijavljuje u sustav, pokreće se ista hash funkcija koja se koristila prilikom prvog stvaranja njegovih podataka za prijavu. Ako se rezultirajuće hash vrijednosti poklapaju, sustav **autentificira** korisnika. Na primjer, pretpostavimo da je korisnička lozinka "Racfor123". Hash te lozinke, koristeći //Bcrypt Hash Generator//, bio bi: „$2y$10$aPakLVrCDbdrA960gh3BWOPDIVGaCohTKozVHW0KiozFF6SSpNeFa“, što je vidljivo na Slici 2. {{:racfor_wiki:seminari2023:hash_generator.png?500|}} Slika 2. Generiranje hasha lozinke U ovom slučaju, što se tiče mehanizma autentifikacije, korisnikova lozinka bila bi „$2y$10$aPakLVrCDbdrA960gh3BWOPDIVGaCohTKozVHW0KiozFF6SSpNeFa“, a ne "Racfor123". Hashevi pružaju **sigurnosne prednosti** jer sprječavaju pohranu akreditacija u običnom tekstu. Lozinka "Racfor123" nikada neće biti spremljena u sustav kao „Racfor123“. Također su praktični za sustave jednostrukog prijavljivanja (SSO). Nakon što se korisnik prijavi u mrežu, **SSO sustav** može koristiti kombinaciju korisničkog imena i hasha lozinke za kontinuiranu autentifikaciju dok korisnici obavljaju svoj posao. To je veoma korisno, međutim, ako **napadač** može pristupiti hashu, može ga iskoristiti za preuzimanje uloge korisnika u okruženju SSO-a i stvaranje **autentificiranih sjednica** u ime tog korisnika. === Koraci napada === Koraci PtH napada **mogu varirati** ovisno o tome koju tehniku napadač odabere za kompromitiranje žrtvinog računala i koliko će mu vremena trebati da ostvari svoj cilj (npr. ako napada direktno jednog korisnika ili manju tvrtku vjerojatno će mu trebati manje vremena nego ako napada neku veliku kompaniju), ali neki koraci napada uvijek ostaju isti (Slika 3.): Slika 3. Koraci Pass the hash napada {{:racfor_wiki:seminari2023:pth_tijek.png?300 |}} - Napadač na neki način **kompromitira** računalo korisnika s niskom razinom privilegija (npr. pomoću phishinga ili malware-a). - Računalo **sadrži hash** trenutnog korisnika kao i hasheve drugih korisnika koji su se prijavili na to računalo izravno ili udaljeno. Napadač izvlači sve te hasheve iz memorije, no među njima se još uvijek ne nalazi hash domenskog administratora. - Napadač zatim **koristi PtH** za prijavu na svako drugo računalo za koje je dobio hash. To se radi automatski i naziva se napadom raspršenja hasheva (engl. //hash spray attack//). - Tim postupkom, **izvlači** se lista hasheva lokalnih i domenskih računa. - Naposlijetku, jedno od računala će imati hash računa s **administratorskim ovlastima** u memoriji koji će biti **korišten** za dobivanje pristupa bazama podataka, poslužiteljima datoteka i kontrolorima domene. PtH napadi često su **jedni od uspješnijih** online napada. Jedan od razloga njihove visoke uspješnosti je taj što napadaču nije potrebno prevariti člana IT tima da kompromitira svoje akreditacije. Potrebno im je samo da pronađu način za kompromitiranje računala ili korisničkog računa unutar mreže. To se može učiniti pomoću //**phishinga**// ili na neki drugi način (npr. zaražavanjem korisnikovog računala zlonamjernim softverom). Ako **administrator sustava** unese svoje akreditacije za svoj račun koji ima visoku razinu privilegija na to isto računalo, njegova lozinka će također biti **pohranjena** u memoriji kao hash, čak i ako se na računalo povezuje udaljeno. Ako napadač uspije **kompromitirati** to računalo i pristupiti mu, bit će u mogućnosti uhvatiti hash lozinke administratora sustava. Nakon toga može taj hash iskoristiti kako bi stvorio **autentificiranu sjednicu** pretvarajući se da je administrator sustava bez da zna stvarnu lozinku administratora sustava. Jednom kada to ostvari, može **iskoristiti** tu sjednicu kako bi pristupio bazi podataka klijenata, repozitorijima izvornog koda, poslužiteljima e-pošte ili bilo čemu drugome čemu taj administrator sustava ima pristup. Sa tolikom moći, napadač može gotovo sigurno **ostvariti** svoj zlonamjerni **cilj**. === Rizici napada === Budući da je potencijalna šteta PtH napada povezana s razinom ovlasti kompromitiranih akreditacija, **rizici** mogu biti gotovo bilo što, od **gubitka podataka** do **potpunog preuzimanja mreže** i svega između toga. Neki od tih rizika **uključuju** akcije poput: * Povrede podataka * Otkrivanja osjetljivih/vlasničkih informacija * Krađe identiteta * Zaključavanja korisnika iz njihovih računa * Napada //ransomware//-om * Isključivanja mreže * Preusmjeravanja mrežnog prometa na zlonamjerne stranice * Pokretanja preuzimanja zlonamjernog softvera === Stvarni primjeri Pass the hash napada === == Napad na Eletrobras & Copel == U veljači 2021. godine, //Centrais Eletricas Brasileiras// (**Eletrobras**) i //Companhia Paranaense de Energia// (**Copel**), dvije velike brazilske energetske tvrtke, objavile su da su postale **žrtve** //ransomware// napada. Taj napad omogućio je prethodni PtH napad. Zlonamjerni akteri uspjeli su izvući hasheve lozinki iz //**Active Directory**//-ja (AD), točnije, iz datoteke NTDS.dit. Nakon izvlačenja hasheva, **lateralno** su se kretali kroz lanac korisničkih ovlasti sve dok nisu uspjeli izvući hasheve s dovoljno visokim ovlastima za izvođenje //**ransomware**// napada. Kod tvrtke Copel, napad je djelo //ransomware// grupe poznate kao **Darkside**, koja tvrdi da je ukrala više od 1.000 GB podataka, uključujući **osjetljive informacije** o pristupu infrastrukturi tvrtke te **osobne podatke** vrhovnog menadžmenta i klijenata. Oba //ransomware// napada poremetila su operacije tih tvrtki i prisilila ih da privremeno **obustave** neke od svojih sustava. == Napad na Microsoft Exchange Server == U travnju 2022., platforma //ransomware-as-a-service// (RaaS) nazvana **Hive** iskoristila je koordinirani napad koji je ciljao veliki broj korisnika //Microsoft Exchange Servera//, uključujući one u sektorima energetike, financijskih usluga, neprofitnih organizacija i zdravstva. Napad je iskoristio **ranjivost** //Microsoft Exchange Servera// poznatu kao //**ProxyShell**//. Iako je Microsoft brzo popravio ovu ranjivost, mnoga poduzeća nisu **ažurirala** svoj sustav i ostala su ranjiva. Napadači su iskoristili //ProxyShell// ranjivost kako bi ubacili skriptu za stražnja vrata (engl. //backdoor//) koja je korištena za izvršavanje **zlonamjernog koda** na Exchange serveru. Zatim su **preuzeli kontrolu** nad sustavom pomoću PtH napada, koristeći Mimikatz za izvlačenje hasha akreditacija domenskog administratora. Hive je zatim izvidio kako poslužitelj radi, prikupio podatke te izveo //**ransomware**// napad. Detalje napada otkrila je sigurnosna tvrtka **Varonis** koja je istraživala //ransomware// napad na jednog od svojih klijenata. ===== Prevencija i zaštita od Pass the hash napada ===== Najbolji način zaštite od PtH napada je upravo njihova **prevencija** ili barem maksimalno **ublažavanje**. Postoje mnogi postupci kojima to možemo postići, a možemo ih podijeliti u dvije kategorije: postupci za administratore sustava i postupci za korisnike. Neki postupci prevencije koje mogu primijeniti **administratori** sustava: * Omogućavanje //Windows Defender Credential Guard//-a – sigurnosni Windows alat dostupan od Windowsa 10 koji čini sustav otpornijim na PtH napade * Korištenje //Microsoft Local Administrator Password Solutions//-a (LAPS) – sigurnosni Windows alat koji omogućuje da administratorski računi imaju drugačiju složenu lozinku za svako računalo na koje se prijavljuju * Automatiziranje česte promjene lozinki za administratore sustava – mijenjanjem lozinke mijenja se i njezin hash, što automatski otežava PtH napad * Određivanje posebno zaštićenih računala i prijavljivanje računima s administratorskim ovlastima samo na ta računala – sa što manje računala se prijavljuje računima s administratorskim ovlastima i što su sigurnija ta računala, to je manja vjerojatnost uspješnog PtH napada * Ograničavanje broja računa sa administratorskim ovlastima – što manje administratorskih računa se upotrebljava, to je teže doći do hasha administratorskog računa * Ne korištenje //Remote Desktop Protocol//-a (RDP) za upravljanje korisničkim računalima – mnoge RDP aplikacije čuvaju kopije hasheva, što povećeva rizik od PtH napada * Onemogućavanje //LAN Management// (LM) hasheva – LM hashevi su slabiji od Windows NT hasheva i ranjivi na napade grubom silom (engl. //brute force attacks//) * Omogućavanje obuke o svjesnosti o sigurnosti – što su zaposlenici neke tvrtke svjesniji opasnosti i sigurnosnih rizika (npr. //phishinga//), to je manja vjerojatnost uspješnog PtH napada (ako napadač ne može kompromitirati nijedno računalo, ne može niti izvući hash i napraviti PtH napad) * Ograničavanje dopuštenja računa domenskih administratora – dobro za ograničavanje vrijednosti administratorskog računa koju nudi napadačima Neki postupci prevencije koje mogu primijeniti **korisnici**: * Korištenje vatrozida – štiti od nekih malicioznih poveznica * Korištenje antivirusa – štiti od nekih virusa i nekih drugih online prijetnji * Redovito ažuriranje operacijskog sustava – ažuriranja sustava često nude sigurnosne zakrpe koje popravljaju sigurnosne ranjivosti i pomažu smanjiti rizik od zlonamjernih kibernetičkih napada * Redovito odjavljivanje iz uređaja i njihovo ponovno pokretanje – odjavljivanjem iz uređaja može se spriječiti da netko drugi pristupi uređaju kada korisnik nije prisutan, a ponovnim pokretanjem uređaja brišu se spremljeni hashevi iz memorije * Redovito mijenjanje lozinki – mijenjanjem lozinke mijenja se i njezin hash što automatski otežava PtH napad * Pozorno razmišljanje prije otvaranja poveznica i privitaka u elektroničkoj pošti – i poveznice i privitci mogu sadržavati maliciozan sadržaj kojim se može pokrenuti PtH napad * Ne otvaranje skočnih prozora (engl. //pop-up window//) i/ili omogućavanje programa koji blokira skočne prozore (engl. //pop-up blocker//) – skočni prozori također mogu sadržavati maliciozan sadržaj * Ozbiljno shvaćanje upozorenja preglednika da je neka stranica opasna – preglednici ponekad mogu prepoznati da neka stranica sadrži maliciozan sadržaj, dojaviti nam upozorenje i blokirati tu stranicu * Omogućavanje //Windows Defender Credential Guard//-a – sigurnosni Windows alat dostupan od verzije Windows 10 koji čini sustav otpornijim na PtH napade ===== Zaključak ===== **Pass the hash** napadi poprilično su opasni iz razloga što ih je **teško otkriti** i zaustaviti jer koriste **važeće** akreditacije kako bi nanijeli **štetu**. Nažalost, zbog rasta popularnosti sustava koji koriste tehnologiju **jednostrukog prijavljivanja** (engl. //Single-Sign-On//) raste i popularnost ovih napada. Upravo zato je veoma važno biti **svjestan** postojanja tih napada i načina kako ih spriječiti, kako na strani **administratora** sustava, tako i na strani **korisnika** sustava. Srećom, danas postoje mnogi mehanizmi koji **olakšavaju** njihovo sprječavanje, međutim nijedan od njih ga ne može **garantirati**. Budući da svaki PtH napad najčešće počinje nekom metodom //**social engineering**-a//, najslabija karika sustava, naravno, još uvijek ostaje sam **korisnik**, tj. čovjek. ===== Literatura ===== [1] [[https://www.crowdstrike.com/cybersecurity-101/pass-the-hash/|Lenaerts-Bergmans, B., PASS-THE-HASH ATTACK, 24. svibnja 2023.]] [2] [[https://www.beyondtrust.com/resources/glossary/pass-the-hash-pth-attack|What is a Pass-the-Hash Attack (PtH)?]] [3] [[https://www.techtarget.com/searchsecurity/definition/pass-the-hash-attack|Bacon, M., pass the hash attack, travanj 2021.]] [4] [[https://www.comparitech.com/blog/information-security/pass-the-hash-attacks/|Dahan, M., What are pass the hash (PtH) attacks and how to prevent them, 28. rujna 2023.]] [5] [[https://auth0.com/blog/hashing-passwords-one-way-road-to-security/|Arias, D., Hashing Passwords: One-Way Road to Security, 30. rujna 2019.]] [6] [[https://bcrypt.online/?plain_text=Racfor123&cost_factor=10|Bcrypt Hash Generator]] [7] [[https://us.norton.com/blog/emerging-threats/pass-the-hash|Stouffer, C., What is a pass the hash attack? + How to mitigate an attack, 22. lipnja 2023.]] [8] [[https://www.bleepingcomputer.com/news/security/eletrobras-copel-energy-companies-hit-by-ransomware-attacks/|Ilacsu, I., Eletrobras, Copel energy companies hit by ransomware attacks, 5. veljače 2021.]] [9] [[https://www.bleepingcomputer.com/news/security/microsoft-exchange-servers-hacked-to-deploy-hive-ransomware/|Toulas, B., Microsoft Exchange servers hacked to deploy Hive ransomware, 20. travnja 2022.]] [10] [[https://www.bleepingcomputer.com/news/security/pass-the-hash-attacks-and-how-to-prevent-them-in-windows-domains/|Specops, Pass-the-Hash Attacks and How to Prevent them in Windows Domains, 27. rujna 2022.]]