Identifikácia a odstránenie ransomware malvéru

1.1   Informácie k cvičeniu

Cvičenie má predpripravený virtuálný stroj Ubuntu, ktorý si študent spustí cez VMware.

      • Ubuntu – verzia 22.04.2 64bit, user:tuke, password secret, viac info. -> úvodné cvičenie
      • Repozitár s vírusmi (link v zdrojoch) – predpripravený v OS ubuntu v adresári: ~/viruses/maware_showcase

1.2   Motivácia

Na tomto cvičení sa študent oboznámi s ransomware malvérom. Naučí sa identifikovať typ a správanie. Následne na praktickom príklade bude analyzovať štruktúru z pohľadu programátora. Nakoniec si vyskúša „ransomware z reálneho sveta“.

1.3   Ciele cvičenia

  1. Študent sa oboznámi s teóriou k ransomware
  2. Študent dokáže identifikovať typ ransomware malvéru
  3. Študent z-analyzuje štruktúru ransomware na základe zdrojového kódu
  4. Študent analyzuje populárny ransomware – Revil.

1.4   Ransomware

Ransomware je malvér, ktorého hlavným cieľom je zablokovať prístup používateľovi k súborom, zašifrovať ich alebo zamedziť prístup k celému systému, kde za odblokovanie si útočník požaduje výkupné z ang. (ransom). Je to v podstate druh útoku, ktorý „hrá na city“ obete, pretože útočník môže s obeťou vyjednávať.

Ransomware sa šíri rôznymi spôsobmi napr. emailom, škodlivým softvérom, odkazmi atď. Po zašifrovaní útočník vyobrazí používateľovi vyskakovacie okno, banner, zmení pozadie pracovnej plochy alebo nechá jednoduchý textový súbor s informáciami o tom, že je povinný zaplatiť určitú čiastku najčastejšie kryptomenou, aby súbory boli odblokované. Je potrebné podotknúť, že platba útočníkovi nemusí nutne znamenať, že súbory budú dešifrované, a teda okrem súborov príde aj o peniaze.

Zaujímavosť: Ransomware “WannaCry”, ktorý vznikol v roku 2017 zasiahol viac ako 300 000 zaradení naprieč 150 krajinami a spôsobil škody odhadnované v hodnote 4 biliónov dolárov. Útok bol cielený na OS Windows. Útok spočíval v zneužití zraniteľného SMB portu. Mitigovanie útoku trvalo 4 dni.    

1.4.1    Ako predísť ransomware útoku

V dnešnej dobe je ransomware pomerne bežný malvér. Vždy je dobré byť maximálne pripravený a počítať s tým, že vy nieste ten, „ktorému sa to určite nestane“. Nato aby sa používateľ vyhol ransomware útoku potrebuje prijať základné opatrenia. Inšpirovali sme sa jedným zdrojom, ktorý vyobrazuje zopár odporúčaní:

  • Udržiavať OS a antivírus aktuálny
  • Neotvárať nedôveryhodné súbory, prílohy, odkazy atď
  • Pravidelne si zálohovať zariadenie
  • Zabezpečiť si citlivé údaje alebo ich udržiavať inde
  • Používajte viac hesiel resp. password managera aby ste sa vyhli škodám v prípade zneužitia vašich účtov
  • Sťahujte len oficiálny softvér
  • Vo verejných sieťach používajte VPN
  • Majte spustený firewall
  • Nechajte si zobraziť prípony súborov ak náhodou používate Windows
  • Nepripájajte do vášho zariadenia neznáme periférne zariadenia

Zaujímavosť:  Viete, že je možné byť infikovaný ransomware malvérom cez klasický Microsoft Word dokument ? Pozrite si video.

1.4.2    Typy ransomware

Každý typ ransomware má svoje vlastné charakteristiky a spôsoby útoku. Je dôležité byť oboznámený s týmito rôznymi variantami, aby sme mohli efektívne chrániť systémy a minimalizovať škody spôsobené týmito útokmi. Medzi najznámejšie typy ransomware radíme:

  • Crypto-ransomware – zašifruje súbory po zaplatení výkupného získate kľúč na dešifrovanie napr. WannaCry, CryptoLocker
  • Locker ransomware – zablokuje resp. obmedzí operačný systém zašifrovaním dôležitých systémových súborov. Podobne po zaplatení výkupného získate kľúč na dešifrovanie týchto súborov napr. WinLocker, Police-themed Ransomware
  • Scareware tvári sa ako hrozba, pritom jeho cieľom je len zastrašiť napr. blikajúce vyskakovacie okná, rôzne oznamy o napadnutom zariadení, bez poškodenia alebo zašifrovania súborov
  • Doxware / Leakware – vyhráža obeti, že zverejní citlivé dáta ako sú napr. údaje zákazníkov vo firme, zverejnenie privátnych dát atď
  • RaaS (Ransomware as a Service) – biznis model ktorý ponúka ransomware riešenia. Služba ktorú si „zákazník“ vie zaplatiť cez dark web s plnou podporou. Je to jeden z najmodernejších spôsobov distribúcie hrozieb. Príkladom sú Hive, Darkside, Revil

 

1.4.3    Princíp ransomware útoku

Ransomware útoky sú svojím spôsobom unikátne. Každý útok obsahuje rôzne spôsoby šírenia, šifrovania alebo upozorňovania obete, že je cieľom útoku. Na následujúcom obrázku si popíšeme ako funguje taký všeobecný ransomware.

 

  1. Používateľ získa resp. príjme infikovaný súbor.
  2. Po spustení súboru sa ransomware začne šíriť.
  3. Následne sa začnú šifrovať súbory v operačnom systéme (aj systémové).
  4. Používateľ je upozornený, že je obeťou útoku, taktiež je nútený zaplatiť výkupné.
  5. Používateľ zaplatí kryptomenou, výmenou za kľúč na dešifrovanie súborov.

1.5   Odstránenie ransomware

V tejto sekcii si opíšeme scenáre ako sa zbaviť ransomware útoku. Opíšeme si ich postupne od jednoduchších k náročnejším.

1.5.1    Antivírus

V prípade, že máte antivírus s aktuálnou databázou signatúr, tak hrozba by bola detekovaná a odstránená ešte pred tým než by spôsobila škody.

1.5.2    Zaplaťte

Platba výkupného je jednou z možností, ale mala by byť zvážená ako posledná. Existujú prípady kedy firmy po zaplatení reálne získali späť prístup k svojím dátam, ale vo väčšine prípadov vám platba nepomôže a teda prídete aj o dáta aj o peniaze.

1.5.3    Obnovte zariadenie

V prípade, že držíte zálohy mimo vášho infikovaného zariadenia, tak nič by vám nemalo brániť obnoviť váš systém zo zálohy a tým sa efektívne zbaviť ransomware malvéru.

1.5.4    Odstráňte hrozbu

Táto možnosť je najnáročnejšia, pretože nie pre každý ransomware existuje riešenie ako sa ho zbaviť. Pri výbere tejto možnosti potrebujete vykonať nasledujúce kroky:

  • Izolovať prostredie
  • Identifikovať typ poprípade meno ransomwaru
  • Použiť špecifické nástroje na odstránenie infekcie

Príkladom špecifických nástrojov môže byť napríklad tento zdroj. Na identifikáciu môžete nahrať správu, ktorú ste ako obeť mali zobrazenú. Na základe tej správy je možné identifikovať malvér. Taktiež sú tu voľne dostupné nástroje na dešifrovanie infikovaných súborov podľa názvu ransomwaru. Existuje mnoho online dekryptorov.

 

1.6   Ransomware z pohľadu programátora

Otvorte si VM Ubuntu máte predpripravený ransomware malvér, v tejto časti cvičenia ho preskúmate a spustíte. Malvér sa nachádza v adresári: /home/tuke/viruses/malware_showcase/ransomware.
V adresári sa taktiež nachádza README.md súbor, ktorý obsahuje základné informácie ako tento malvér funguje.

Upozornenie: Tento malvér je síce „custom“, no neodporúčame ho spúšťať vo verejných sieťach bez súhlasu administrátora siete.

Analyzujte ransomware:

$ cd ~/viruses/malware_showcase/ransomware && vim ransomware.py

Poznámka: V prípade, že chcete na analýzu použiť visual studio code. Nainštalujte si ho: sudo snap install code –classic . Spúšťate pomocou príkazu: code <názov súboru>

 

Pozrite si obsah súboru target_file:

$ cat target_file

Spustite malvér a analyzujte target_file v rámci testovania si môžete vytvoriť ďalšie súbory a skúšať:

$ ./ransomware.py
$ ./ransomware.py

 

Aký typ je tento ransomware ?

Vysvetlenie: Crypto-ransomware, dešifruje súbory a žiada výkupné. Kľúč si používateľ musí získať od útočníka.

Aké súbory malvér infikuje ?

Vysvetlenie: Súbory v aktuálnom adresári. To zabezpečuje riadok kódu:

„path = os.path.dirname(os.path.abspath(__file__))“

Aká metóda sa na použije šifrovanie?

Vysvetlenie: base64

Ako kľúč pomôže dešifrovať dáta ?

Vysvetlenie: Keďže používame klasický base64 encode-decode. Kľúč nie je priamo použitý na proces dešifrovania, ale len ako podmienka. To si môžete všimúť vo funkcii decrypt_files_in_folder() v časti if key != self.key

Ako zabezpečí aby neinfikoval samého seba?

Vysvetlenie: Obsahuje podmienku, vo funkcii get_files_in_folder(), ktorá zistí, či súbor je README alebo názov malvéru.

Poznámka: V originálnom zdrojovom kode bola chybička. Trebalo pozmeniť druhú podmienku zo sys_argv[0] na reťazec bez “./”. Tzn. pridali sme pred kontrolu:
malware_name = sys.argv[0].replace(“./”,””)

Aký je kľúč na dešifrovanie ?

Vysvetlenie:__ransomware_key

1.7   Ransomware identifikácia a odstránenie v prostredí Linux

V tejto časti cvičenia si ukážeme niečo z „reálneho sveta“. Stiahli sme si malvér od ruského gangu hackerov Revil taktiež známy ako Sodinokibi. Biznis model tejto skupiny bol založený na Ransomware-as-a-service riešenie, kde distribuovali ransomware produkt zvaný ako revil. Malvér Revil má za sebou tisícky obetí. Medzi najznámejšie obete patria:

  • Útok na JBS (americká spoločnosť na spracovanie potravín)
  • Útok na Kaseya (softvérová spoločnosť)
  • Útok na Acer

Zaujímavosť:  Táto skupina, resp. gang si v rusku kupovala exotické autá a robili na uliciach rozruch, zatiaľ čo polícia s tým nemohla nič robiť.

Táto komunita krimálov bola zadržaná FSB – federálnou bezpečnostou službou ruskej federácie. Polícia odhalila milióny, ktoré táto skupina držala, hlavne v kryptomenách.

    Upozornenie: Nešírte tento malvér ani ho v žiadnom prípade nespušťajte inde ako vo svojom zariadení. Taktiež ho nepresúvajte, ak nechcete aby vám znemožnil používať VM.

    Úloha: Nastavte si nastavenie sieťového adaptéra pre VM ubuntu na host only. (Viac info úvodné cvičenie)

    Otvorte si VM Ubuntu.

    Malvér sa nachadza v skrytom adresári: ~/.revil

    $ cd ~/.revil

     

    Poznámka: Nato aby bol malvér spustiteľný, potrebovali sme mu pridať „executable“ oprávnenie.

    Revil prišiel s viacerými variantami pôvodne pre OS Windows, neskôr aj pre Linux. Táto varianta ak je spustená v aktuálnom adresári tak šifruje všetky súbory, ktoré sú v podadresároch. Teda aby sme sa vyhli fatálnym následkom je lepšie ho spustiť v aktuálnom adresári a nepresúvať.

    Pozrite si aktuálny stav súborov v revil adresári. Napríklad:

    $ cat file-1

    Spustite ransomware:

    $ ./revil.elf

     

    Analyzujte napadnuté súbory. Všiminite si správu, ktorú vám útočník zanechal.

     

    Obnova súborov

    V teoretickom rámci sme spomínali, že existujú rôzne decryptory, ktoré su voľne dostupné online. Na stránke: link je možné vidieť, že existuje takýto nástroj aj na Revil:

     

    Jedine čo nám chýba je podpora tohto nástroja pre OS Linux. Pokúšali sme sa spustiť tento decryptor v prostredí linux pomocou nástroja mono a wine ale neuspeli sme. Jediná možnosť ako dešifrovať dáta bolo preniesť si napadnuté súbory do prostredia OS Windows a následne použiť tento nástroj. Nám sa to podarilo ale od vás to v tomto cvičeni nebudeme vyžadovať.

    Odstráňte napadnutý adresár spolu s malvérom:

    $ sudo rm -rf ~/.revil

    Vypnite VM a vráťte nastevenie sieťového adaptéra späť na NAT.

    1.8   Zdroje

    1.9  Dotazník / Kvíz

    Dotazník resp. kvíz je hodnotený 0.5 bodom k zápočtu. Na jeho vyplnenie máte čas do 26. novembra. Odkaz na dotazník nájdete tu.