====== Forenzička analiza WannaCry napada ====== Seminarski rad iz kolegija Računalna forenzika, akademske godine 2025./26 ====== Sažetak ====== WannaCry je kripto-ransomware koji se pojavio u svibnju 2017. godine te je u vrlo kratkom vremenu kompromitirao velik broj Windows sustava diljem svijeta. Njegova posebnost proizlazi iz kombinacije kriptografskog šifriranja korisničkih podataka i autonomnog mrežnog širenja iskorištavanjem ranjivosti u SMBv1 protokolu, što je rezultiralo iznimno brzom propagacijom i značajnim operativnim posljedicama za zahvaćene organizacije. Analiza napada temelji se na forenzičkoj obradi mrežnog prometa, diskovnih artefakata i radne memorije kompromitiranih sustava, uz primjenu standardnih digitalno-forenzičkih alata. Kroz korelaciju mrežnih, datotečnih i memorijskih tragova identificiraju se karakteristični obrasci ponašanja WannaCryja, uključujući DNS upite prema kill-switch domeni, pojačanu SMB komunikaciju na TCP portu 445 te prisutnost specifičnih procesa i datoteka povezanih s ransomware komponentama. ====== Uvod ====== Ransomware predstavlja skupinu zlonamjernih programa čija je primarna svrha onemogućavanje pristupa podacima ili cijelom informacijskom sustavu uz zahtjev za plaćanjem otkupnine. U većini slučajeva to se ostvaruje kriptografskim šifriranjem korisničkih datoteka, pri čemu napadač zadržava kontrolu nad ključem potrebnim za njihovu dekripciju. WannaCry se u tom kontekstu posebno ističe jer, osim funkcionalnosti ransomwarea, implementira i mehanizam autonomnog mrežnog širenja, čime poprima obilježja računalnog crva. Za razliku od ransomware kampanja koje se oslanjaju na socijalni inženjering ili ručnu distribuciju, WannaCry iskorištava ranjivost u zastarjelom SMBv1 protokolu implementiranom u Windows operacijskim sustavima. Ključnu ulogu pritom ima eksploat //EternalBlue//, koji omogućuje udaljeno izvršavanje proizvoljnog koda slanjem posebno oblikovanih SMB paketa na port 445. Iskorištavanjem navedene ranjivosti WannaCry automatski identificira ranjive sustave i kompromitira ih bez autentikacije. {{ :racfor_wiki:seminari2025:wana_decrypt0r_screenshot.png?400 |}} __Slika 1. Snimka zaslona poruke s zahtjevom za otkupninu ostavljene na zaraženom sustavu__ [[https://en.wikipedia.org/wiki/WannaCry_ransomware_attack|WannaCry ransomware attack]] ====== Mrežno ponašanje ====== Neposredno nakon pokretanja WannaCry izvršava provjeru dostupnosti unaprijed definirane domene, koja služi kao tzv. kill-switch mehanizam. Naziv domene generiran je bez očite semantičke strukture, čime se otežava njegova slučajna identifikacija. U slučaju uspješnog DNS razrješenja, zlonamjerni kod prekida daljnje izvršavanje, čime se sprječava šifriranje podataka i mrežno širenje. Ako kill-switch provjera ne uspije, WannaCry nastavlja s prikupljanjem informacija o mrežnoj konfiguraciji kompromitiranog sustava. Analizira se IP adresa kako bi se utvrdilo nalazi li se sustav unutar privatnog ili javnog adresnog prostora. Ovisno o tom rezultatu, prilagođava se strategija širenja: u privatnim mrežama naglasak je na lokalnom adresnom rasponu, dok se u slučaju javnih IP adresa generiraju i ispituju dodatne vanjske IPv4 adrese. Sljedeća faza uključuje agresivno paralelno skeniranje mreže s ciljem pronalaska sustava koji imaju otvoren SMB servis. Velik broj istovremenih zahtjeva prema TCP portu 445 rezultira prepoznatljivim obrascem mrežnog prometa, koji se može detektirati analizom mrežnih zapisa. Sustavi kod kojih je SMB servis dostupan označavaju se kao potencijalno ranjivi i uključuju u sljedeću fazu napada. **Eksploatacija SMBv1 ranjivosti** WannaCry u procesu kompromitacije sustava ne koristi isključivo exploit //EternalBlue//, već se oslanja na kombinaciju alata //EternalBlue// i //DoublePulsar//. //EternalBlue// omogućuje inicijalno udaljeno izvršavanje proizvoljnog koda iskorištavanjem ranjivosti u SMBv1 protokolu, bez potrebe za autentikacijom korisnika. Nakon uspješnog iskorištavanja ranjivosti, //DoublePulsar// djeluje kao kernel-level backdoor koji osigurava pouzdano učitavanje i izvršavanje dodatnog zlonamjernog payloada unutar kompromitiranog sustava. Ovakva kombinacija povećava stabilnost infekcije i smanjuje vjerojatnost rušenja sustava tijekom eksploatacije, što je ključno za masovno i autonomno širenje ransomwarea. Po završetku faze eksploatacije, WannaCry uspostavlja vlastiti Windows servis //mssecsvc2.0//, koji se izvršava s povišenim ovlastima. Taj servis ima središnju ulogu u daljnjem tijeku napada, jer upravlja mrežnom propagacijom, inicijalnim provjerama kompromitiranih sustava te koordinacijom prijenosa i pokretanja dodatnih komponenti ransomwarea. Tijekom ove faze u radnu memoriju ciljnog sustava učitava se kombinacija kernel-razinskog i korisničkog shellcodea, čime se omogućuje pokretanje glavne šifrirajuće logike i ostalih funkcionalnih modula WannaCryja. Takav infekcijski tijek omogućuje potpuno autonomno širenje zlonamjernog koda bez ikakve interakcije korisnika, značajno povećavajući brzinu i opseg napada. {{ :racfor_wiki:seminari2025:infectionflow.png?400 |}} __Slika 2. Dijagram toka infekcije__ [[https://icact.org/upload/2018/0708/20180708_finalpaper.pdf|[1]]] ====== Faze napada ====== **Dropper komponenta: mssecsvc.exe i servis mssecsvc2.0** Početna faza izvršavanja WannaCryja uključuje komponentu __mssecsvc.exe__, koja ima ulogu tzv. droppera i mehanizma za mrežno širenje. Ova komponenta odgovorna je za inicijalne provjere okruženja, uključujući kill-switch mehanizam, te za uspostavu mrežne komunikacije putem SMB protokola na portu 445. Tijekom ove faze provodi se aktivno skeniranje mreže i pokušaji kompromitacije drugih sustava. Ako kill-switch provjera ne rezultira prekidom izvršavanja, //mssecsvc.exe// pokušava osigurati daljnje djelovanje malwarea kreiranjem Windows servisa naziva //mssecsvc2.0//. Naziv servisa osmišljen je tako da nalikuje legitimnoj sistemskoj usluzi, čime se otežava njegova identifikacija od strane korisnika ili administratora. Servis se pokreće s povišenim ovlastima i omogućuje trajno izvršavanje koda, kao i daljnju mrežnu propagaciju WannaCryja unutar dostupnog adresnog prostora. {{ :racfor_wiki:seminari2025:flowchart.png?400 |}} __Slika 3. Dijagram toka instalacije mssecsvc2.0__ [[https://icact.org/upload/2018/0708/20180708_finalpaper.pdf|[1]]] **Glavna ransomware komponenta: tasksche.exe i učitavanje resursa** Nakon uspješne inicijalne faze, pokreće se glavna ransomware komponenta //tasksche.exe//. Ova izvršna datoteka odgovorna je za pripremu i provođenje šifriranja podataka na kompromitiranom sustavu. U toj fazi //tasksche.exe// iz vlastite resursne sekcije izdvaja komprimirani skup podataka, često označen kao //XIA// resurs, koji sadrži više pomoćnih WannaCry komponenti. Tijekom učitavanja resursa, //tasksche.exe// generira jedinstveni identifikator direktorija u koji se izdvajaju datoteke, čime se smanjuje mogućnost jednostavne detekcije prema statičkim nazivima. Program zatim provjerava ulazne parametre prilikom pokretanja, pri čemu određeni parametri (npr. način instalacije) utječu na daljnje ponašanje. Nakon izdvajanja resursa, provodi se priprema kriptografskih komponenti, uključujući dekriptiranje datoteke //t.wnry//, koja sadrži modul za šifriranje datoteka. {{ :racfor_wiki:seminari2025:mainransomware.png?400 |}} __Slika 4. Dijagram toka ransomwarea__ [[https://icact.org/upload/2018/0708/20180708_finalpaper.pdf|[1]]] **Perzistencija i promjene sustavnih postavki** Kako bi osigurao dugotrajan boravak na kompromitiranom sustavu, WannaCry provodi niz promjena koje omogućuju perzistenciju. Među njima je stvaranje unosa u Windows Registryju koji omogućuju automatsko pokretanje zlonamjernih komponenti pri svakom podizanju sustava. Dodatno, direktoriji u koje su smještene WannaCry datoteke označavaju se skrivenim atributima, čime se smanjuje vjerojatnost da će ih korisnik uočiti tijekom uobičajenog rada. Uočene su i promjene dozvola pristupa datotekama i direktorijima, pri čemu se dodjeljuju široke ovlasti kako bi se spriječile greške tijekom izvršavanja i šifriranja. Uz glavnu komponentu //tasksche.exe//, pokreću se i pomoćni procesi, poput //taskdl.exe//, koji sudjeluju u dodatnim fazama napada. Premještanjem binarnih datoteka u sistemske direktorije, kao što je //ProgramData//, WannaCry dodatno prikriva svoju prisutnost i otežava naknadnu analizu i oporavak sustava. ====== Kriptografski mehanizmi i artefakti šifriranja ====== WannaCry u provedbi šifriranja koristi Microsoft CryptoAPI za generiranje, pohranu i upravljanje kriptografskim ključevima. Ransomware primjenjuje hibridni kriptografski model koji kombinira simetrične i asimetrične algoritme s ciljem postizanja učinkovitog i sigurnog šifriranja podataka. Stvarni sadržaj korisničkih datoteka šifrira se simetričnim algoritmom AES, pri čemu se za svaku datoteku generira zaseban AES ključ. Ti ključevi zatim se dodatno štite asimetričnom kriptografijom temeljenom na RSA algoritmu. Nakon pokretanja glavne ransomware komponente, WannaCry koristi unaprijed ugrađeni glavni RSA javni ključ, zajednički za sve žrtve unutar iste kampanje. Na kompromitiranom sustavu generira se dodatni, jedinstveni RSA par ključeva koji služi kao podključ za konkretnu instancu infekcije. Javni dio tog para pohranjuje se u datoteku s nastavkom .pky, dok se privatni dio šifrira glavnim RSA javnim ključem i sprema u datoteku .eky. Tijekom procesa šifriranja, svaki AES ključ korišten za šifriranje pojedine datoteke dodatno se šifrira pomoću javnog RSA ključa iz //.pky// datoteke te se, zajedno s pripadajućim metapodacima, zapisuje u zaglavlje šifrirane datoteke, koje započinje prepoznatljivim nizom znakova //„WANACRY!“//. Ovakva struktura onemogućuje žrtvi samostalan oporavak podataka bez posjedovanja odgovarajućeg privatnog RSA ključa. {{ :racfor_wiki:seminari2025:keyencrypt.png?400 |}} __Slika 5. Tok šifriranja i struktura ključa__ [[https://icact.org/upload/2018/0708/20180708_finalpaper.pdf|[1]]] Iako WannaCry nakon dovršetka šifriranja briše privatne kriptografske ključeve s diska, forenzička analiza radne memorije pokazuje da se određeni kriptografski materijali, uključujući RSA proste brojeve, mogu privremeno zadržati u memoriji sve dok ne dođe do ponovnog pokretanja sustava. Ova implementacijska slabost omogućila je razvoj alata za djelomični oporavak podataka u ranim fazama infekcije. Proces šifriranja ostavlja iza sebe jasno prepoznatljive datotečne i direktorijske artefakte. WannaCry u radnom direktoriju i instalacijskim mapama stvara niz datoteka s nastavkom //.wnry//, od kojih svaka ima specifičnu funkciju. Datoteka //b.wnry// sadrži upute i grafičke resurse za prikaz poruke o otkupnini, //r.wnry// pohranjuje tekstualni sadržaj ransom note poruke, dok //c.wnry// sadrži podatke povezane s Tor komunikacijom i adresama za uplatu otkupnine. Datoteka //s.wnry// uključuje Tor komponentu potrebnu za anonimnu komunikaciju s infrastrukturom napadača, dok //t.wnry// predstavlja dinamičku biblioteku odgovornu za samu funkciju šifriranja. Datoteka __u.wnry__ sadrži komponentu namijenjenu dekripciji, čija je funkcionalnost dostupna isključivo uz valjani ključ. Uz navedene datoteke, u sustavu se pojavljuju i //.eky// i //.pky// datoteke povezane s RSA ključevima, kao i dodatne //.res// datoteke koje sadrže resurse ransomwarea. Kako bi dodatno onemogućio oporavak podataka bez plaćanja otkupnine, WannaCry nakon dovršetka šifriranja briše sve postojeće Volume Shadow Copy zapise korištenjem ugrađenih sistemskih naredbi. Budući da se shadow kopije uobičajeno koriste za vraćanje prethodnih verzija datoteka, njihovo uklanjanje značajno smanjuje mogućnost oporavka podataka primjenom standardnih mehanizama operacijskog sustava. ====== Analiza radne memorije ====== Analiza radne memorije koristi tehnike kao što su dinamičko učitavanje koda, DLL injekcija i obrada kriptografskih ključeva isključivo u memoriji. Određene komponente ransomwarea, uključujući dijelove šifrirajuće logike, podatke povezane s procesom enkripcije i privremene kriptografske materijale, dostupne su samo tijekom aktivne faze napada i ne ostavljaju trajne tragove u datotečnom sustavu. Zbog toga memorijska forenzika omogućuje identifikaciju elemenata koji nisu vidljivi klasičnom diskovnom analizom, ali su ključni za potpuno razumijevanje ponašanja zlonamjernog koda. **Analiza procesa i lanac izvršavanja** Analiza procesa u memoriji pokazuje da je u slučajevima WannaCry infekcije na Windows 7 x64 sustavima proces //@WanaDecryptor// identificiran kao središnja komponenta korisničkog sučelja ransomwarea, odgovorna za prikaz poruka o otkupnini i interakciju s korisnikom. Istraživanje stabla procesa otkriva da se većina WannaCry povezanih procesa pojavljuje kao potomci legitimnih sistemskih procesa, poput //wininit.exe// ili //explorer.exe//, čime se otežava njihovo razlikovanje od uobičajenih aktivnosti operacijskog sustava. Posebna pozornost pritom se posvećuje procesima //svchost.exe//, koji su česti ciljevi zlouporabe zbog svoje uloge u hostanju Windows servisa. U analiziranim memorijskim slikama zabilježeni su slučajevi u kojima je //svchost.exe// identificiran kao nositelj injektiranog zlonamjernog koda, što predstavlja snažan indikator kompromitacije. Praćenjem PID-ova, vremena pokretanja procesa i njihovih roditeljskih odnosa moguće je rekonstruirati lanac izvršavanja WannaCryja, od inicijalne infekcije do pokretanja glavnih ransomware komponenti. WannaCry dodatno koristi tehnike DLL injekcije kako bi zlonamjerni kod izvršavao unutar adresnog prostora legitimnih procesa, čime se prikriva njegova aktivnost i otežava detekcija temeljena isključivo na analizi procesa. U tom kontekstu posebno je značajna zlouporaba sistemske biblioteke //ntdll.dll//, koja predstavlja ključnu komponentu komunikacije između korisničkog prostora i kernel razine Windows operacijskog sustava. Kompromitacija ili zlouporaba ove biblioteke omogućuje izvođenje niskorazinskih operacija te ima ozbiljne sigurnosne implikacije. Analiza memorijskih slika pokazuje anomalije u mapiranju DLL-ova i prisutnost izvršnog koda u neuobičajenim memorijskim regijama, osobito unutar procesa //svchost.exe// i //tasksche.exe//, što upućuje na DLL injekciju čak i u slučajevima kada su datoteke na disku legitimne ili netaknute. {{ :racfor_wiki:seminari2025:ntdll.png?400 |}} __Slika 6. Rad normalnog DLL-a i injektiranog DLL-a__ [[https://icact.org/upload/2018/0708/20180708_finalpaper.pdf|[2]]] **Analiza memorijskih slika** Nakon akvizicije memorije, primjerice korištenjem alata //Belkasoft RAM Capturer// ili //FTK Imager//, početni korak analize jest identifikacija odgovarajućeg profila operacijskog sustava, što je nužno za ispravnu interpretaciju struktura u memorijskoj slici. Za samu analizu koristi se alat //Volatility//, koji omogućuje profiliranje operacijskog sustava i izvođenje niza forenzičkih postupaka nad memorijskom slikom. Naredbe za enumeraciju procesa koriste se kako bi se identificirali svi aktivni i potencijalno skriveni procesi u trenutku akvizicije memorije, dok analiza stabla procesa omogućuje utvrđivanje njihovih međusobnih odnosa i rekonstrukciju lanca izvršavanja. Pregled učitanih dinamičkih biblioteka unutar pojedinih procesa služi za detekciju anomalnih DLL mapiranja, koja mogu upućivati na injekciju zlonamjernog koda. Dodatni analitički moduli omogućuju identifikaciju skrivenih procesa, neuobičajenih memorijskih regija i tragova injekcije koda, uključujući izvršni sadržaj smješten izvan očekivanih memorijskih područja. Kombinacijom navedenih tehnika moguće je izdvojiti procese i memorijske segmente koji čine jezgru WannaCry ransomwarea te rekonstruirati njegovo ponašanje tijekom izvršavanja. ====== Zaključak ====== Analiza pokazuje da WannaCry predstavlja zlonamjerni kod čije se djelovanje može pouzdano rekonstruirati kroz kombiniranu analizu mrežnog prometa, diskovnih artefakata i radne memorije. Mrežni promet pruža rane indikatore kompromitacije, ponajprije kroz kill-switch DNS upite i neuobičajeno intenzivnu SMB komunikaciju na portu 445. Datotečni i sistemski artefakti omogućuju identifikaciju zlonamjernih komponenti, faza napada i mehanizama perzistencije, dok analiza radne memorije otkriva aktivne procese, lanac izvršavanja i tehnike prikrivanja poput DLL injekcije. U cjelini, WannaCry pokazuje kako kombinacija zastarjelih protokola i nepravovremenog zakrpavanja sustava može dovesti do masovne kompromitacije. Sveobuhvatan forenzički pristup, temeljen na korelaciji mrežnih, diskovnih i memorijskih tragova, ključan je za pouzdanu detekciju infekcije i učinkovitu reakciju na ovakve napade. ====== Literatura ====== [1] [[https://icact.org/upload/2018/0708/20180708_finalpaper.pdf|Analyzing WannaCry Ransomware Considering the Weapons and Exploits]] [2] [[https://www.researchgate.net/profile/D-Paul-Joseph/publication/340357390_Systematic_Memory_Forensic_Analysis_of_Ransomware_using_Digital_Forensic_Tools/links/64b6255495bbbe0c6e44f068/Systematic-Memory-Forensic-Analysis-of-Ransomware-using-Digital-Forensic-Tools.pdf|Systematic Memory Forensic Analysis of Ransomware using Digital Forensic Tools]] [3] [[https://www.researchgate.net/profile/D-Paul-Joseph/publication/336105133_A_Review_and_Analysis_of_Ransomware_Using_Memory_Forensics_and_Its_Tools/links/642d10d5ad9b6d17dc37cb91/A-Review-and-Analysis-of-Ransomware-Using-Memory-Forensics-and-Its-Tools.pdf|A Review and Analysis of Ransomware Using Memory Forensics and Its Tools]] [4] [[https://dergipark.org.tr/en/download/article-file/2160203|Ransomware Analysis and Defense WannaCry and the Win32 environment]]