XÜSUSİ DÖVLƏT MÜHAFİZƏ XİDMƏTİ
XÜSUSİ RABİTƏ VƏ İNFORMASİYA
TƏHLÜKƏSİZLİYİ DÖVLƏT AGENTLİYİ

KOMPÜTER İNSİDENTLƏRİNƏ
QARŞI MÜBARİZƏ
MƏRKƏZİ

İnsident bildir

Məqalələr > WannaCry ransomware virusunun yayılması və laborator analizi

1 İyul 2017

WannaCry (başqa adla WCry WannaCrypt, WannaCrypt0r 2.0) adını almış kompüter virusu 12 may 2017-ci il tarixində təxminən 21:00 saatlarından etibarən dünya internet şəbəkəsində yayılmağa başlamışdır. Yeni ransomware virusu Microsoft Windows ƏS ilə çalışan çox böyük sayda kompüterlərə yoluxmuşdur. İlk olaraq İspaniyada bu kimi yoluxma faktları aşkarlanmış və daha sonra virus bütün dünya ölkələrinə yayılmaqla çox saylı şirkətlərə, dövlət müəssisələrinə və fiziki şəxslərə zərər yetirmişdir. Əsasən "pul qoparma" məqsədi kimi istifadə olunan bu virusun əsasən Windows əməliyyat sistemlərindəki şəbəkədə faylların paylanması protokolunda mövcud olan boşluqdan istifadə etməsi ilə yayıldığı aşkarlanmışdır. 13 may 2017-ci il tarixində olan statistikaya əsasən virusun artıq 100-dən çox ölkədə 131000-dən çox kompüterdə yoluxması faktı aşkarlanmışdır. Bu virusdan ən çox zərər görmüş ölkələrdən biri də qonşu ölkə olan Rusiyadır.

 

Hücum metodu

Virus Microsoft Windows əməliyyat sistemi ilə çalışan kompüterlərə yoluxmaqla istifadəçilərin şəxsi fayllarını şifrələyir və 3 gün ərzində həmin faylların bərpası (düşifrə olunması) üçün tələb olunan açarın alınması müqabilində bitkoin hesabı ilə 300$ dəyərində məbləğ ödənişini tələb edir. Əgər tələb olunan vəsait 3 gün ərzində ödənilməzsə, qoyulmuş məbləğ iki dəfə artırılır. Növbəti 7 gün ərzində ödəniş həyata keçirilmədiyi təqdirdə məlumatlar kompüterdən tamamilə silinir.

 

Fayllar şifrələnərkən bütün qovluqlarda "@Please_Read_Me@.txt" mətn faylı (şəkil 1) və "@WanaDecryptor@.exe" (şəkil 2) deşifrələyicisi saxlanılır. Virus həmçinin işçi masasının şəklini (desktop wallpaper) də dəyişərək, istifadəçiyə faylların bərpa üsullarını göstərir.  

(şəkil 1)

(şəkil 2)

 

Maddi vəsaitin köçürülməsi tələbini əks etdirən mesaj 28 dildə tərcümə olunmuşdur. Belə ki, xəbərdarlıq mesajı kompüterin yerləşdiyi ölkəyə müvafiq dildə əks olunur: Böyük Britaniya üçün – ingilis dilində, Rusiya üçün – rus dilində, İspaniya üçün – ispan dilində və s. Tələb olunan  ödəniş məbləği isə hər yerdə eynidir.

Hücum Microsoft kooperasiyasının 14 mart 2017-ci il tarixində dərc etdiyi "Microsoft Security Bulletin MS17-010 Critical" adlı təhlükəsizlik yenilənməsi ilə düzəltdiyi boşluq vasitəsilə (EternalBlue exploit istifadə olunmaqla) mümkün olmuşdur. Təhlükəsizlik boşluğu Windows Server Message Block (SMB) servisində idi. Virus istifadəçi fayllarını şifrələməklə yanaşı mövcud boşluq vasitəsi ilə daxili şəbəkədəki bütün kompüterləri yoluxdurur. WanaDecrypt0r ransomware virusu kompüterdəki bütün diskləri, o cümlədən qoşulmuş şəbəkə qurğularını axtararaq aşağıdakı genişlənmələrdə (extensions) olan fayl növlərinin hər birini şifrələyir:

.der, .pfx, .key, .crt, .csr, .pem, .odt, .ott, .sxw, .stw, .uot, .max, .ods, .ots, .sxc, .stc, .dif, .slk, .odp, .otp, .sxd, .std, .uop, .odg, .otg, .sxm, .mml, .lay, .lay6, .asc, .sqlite3, .sqlitedb, .sql, .accdb, .mdb, .dbf, .odb, .frm, .myd, .myi, .ibd, .mdf, .ldf, .sln, .suo, .cpp, .pas, .asm, .cmd, .bat, .vbs, .dip, .dch, .sch, .brd, .jsp, .php, .asp, .java, .jar, .class, .wav, .swf, .fla, .wmv, .mpg, .vob, .mpeg, .asf, .avi, .mov, .mkv, .flv, .wma, .mid, .djvu, .svg, .psd, .nef, .tiff, .tif, .cgm, .raw, .gif, .png, .bmp, .jpg, .jpeg, .vcd, .iso, .backup, .zip, .rar, .tgz, .tar, .bak, .tbk, .PAQ, .ARC, .aes, .gpg, .vmx, .vmdk, .vdi, .sldm, .sldx, .sti, .sxi, .hwp, .snt, .onetoc2, .dwg, .pdf, .wks, .rtf, .csv, .txt, .vsdx, .vsd, .edb, .eml, .msg, .ost, .pst, .potm, .potx, .ppam, .ppsx, .ppsm, .pps, .pot, .pptm, .pptx, .ppt, .xltm, .xltx, .xlc, .xlm, .xlt, .xlw, .xlsb, .xlsm, .xlsx, .xls, .dotx, .dotm, .dot, .docm, .docb, .docx, .doc.

Virus şifrələnmiş faylların genişlənməsini ".WNCRY" olaraq əvəzləyir və həmçinin şifrələnmiş faylların binar kodlarının əvvəlinə " WANACRY!" mətnini yazır. (şəkil 3, şəkil 4)

 

(şəkil 3)

 

(şəkil 4)

 

Hadisələrin gedişatı

          12 may 2017-ci il tarixindən etibarən bütün dünyaya yayılan və hazırda 200000-dən çox sistemə sıza bilən virus ilk olaraq İspaniyanın dünyaca məşhur ən böyük telekommunikasiya şirkəti olan «Telefónica» (dünyada abonent sayına görə dördüncü sıradadır), Gas Natural, elektrik enerjisi təchizatı ilə məşğul olan Iberdrola şirkəti, Centro Nacional de Inteligencia, Santander bankı və KPMG konsultinq şirkətinin filialı kimi əhəmiyyətli müəssisələrin, o cümlədən, Böyük Britaniyada xəstəxanalara (NHS trusts), Rusiya Federasiyasının Daxili İşlər Nazirliyinin (МВД России), Сбербанк və МегаФон şirkətlərinin, Almaniyanın Deutsche Bahn şirkətinin kompüterlərinə yoluxmuşdur.

          Böyük Britaniyada xəstəxanalardakı kompüterlərin yoluxmasının başlıca səbəbi istifadə olunan əməliyyat sisteminin Windows XP olması göstərilir.

          Zərərverici proqram "www[.]iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea[.]com" mövcud domeninə daxil ola bildikdə (domen qeydiyyatdan keçibsə) fəaliyyətini dayandırır. 13 may tarixində bunu ifşa edə bilən ingilis virus analitiki həmin domeni qeydiyyatdan keçirməklə virusun bəzi modifikasiyalarını müvəqqəti dayandırmağa nail olmuşdur. Həmçinin virus sistemdə "MsWinZonesCacheCounterMutexA" adlı muteks yaratmağa çalışır və əgər bu artıq sistemdə varsa, başqa şifrələmə fazası icra olunmaz.

 

Təhlükəzilik tədbirləri

          Microsoft kooperasiyası standart olmayan addım atmaq məcburiyyətində qalaraq, istifadə etmədiyi və texniki dəstəyi dayandırdığı (təhlükəsizlik yenilənmələri almayan) əməliyyat sistemləri üçün  patch hazırlayıb paylaşmaq məcburiyyətində qaldı. 13 may 2017-ci il tarixindən etibarən hazırki versiyalar üçün patch hazırlanmışdır: Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2, Windows 8.1, Windows Server 2012, Windows 10 и Windows Server 2016

Hazırda müxtəlif antivirus proqramlarında da virusa qarşı müvafiq yenilənmələr aparılmışdır.

Kompüter sistemlərini təhlükədən qorumağınız üçün Kompüter İnsidentlərinə Qarşı Mühafizə Mərkəzi aşağıdakıları tövsiyə edir:

  • İstifadə etdiyiniz kompüter və ya informasiya sistemlərinizdəki Windows əməliyyat sistemlərində mövcud olan boşluqların aradan qaldırılması üçün dərhal son yenilənmələri aparmaq (və ya "patch"-ı yükləyib quraşdırmaq);
  • Bütün müvafiq sistemlərdə SMB trafiki bloklaşdırmaq (Firewall portları: 445/139 & 3389);
  • Bütün sistemlərdə SMBv1-i deaktiv etmək və müvafiq testlərdən sonra SMBv2 və ya SMBv3 istifadə etmək;
    • Müştəri (client) əməliyyat sistemləri üçün:
      1. İdarəetmə Panelinə (Control Panel) daxil olub, "Programs and Features" menyusundan "Turn Windows features on or off" klikləmək lazımdır;
      2. Windows xüsusiyyətləri pəncərəsində "0/CIFS File Sharing Support" seçənəcəyini ləğv etmək lazımdır;
      3. Sistemi yenidən yükləmək lazımdır.
    • Server əməliyyat sistemləri üçün:
      1. Server Meneceri-nə (Server Manager) daxil olub, "Manage" menyusundan "Remove Roles and Features." klikləmək lazımdır;
      2. Xüsusiyyətlər pəncərəsində "0/CIFS File Sharing Support" seçənəcəyini ləğv etmək lazımdır;
      3. Sistemi yenidən yükləmək lazımdır.
  • E-poçt vasitəsi ilə göndərilən naməlum faylları, tanış olmayan hər hansı digər mənbəyə keçidləri klikləməmək və ya ehtiyyatlı davranmaq;
  • Vacib sənədlərin ehtiyat nüsxəsini (backup) yaratmaq;
  • Aktiv və virus imza bazası aktual olan antivirusdan istifadə etdiyinizdən əmin olmaq və kompüterinizdə mövcud ola biləcək yoluxmaları yoxlamaq;
  • İnternetdən istifadə zamanı təhlükəsizlik qaydalarına riayət etmək;
  • Baş vermiş yoluxmalar barədə və ya yardıma ehtiyac olduqda Kompüter İnsidentlərinə Qarşı Mübarizə Mərkəzinə müraciət etmək.

  

XRİTDA Kompüter İnsidentlərinə Qarşı Mübarizə Mərkəzində “wanacry” zərərvericisinin laborator analizi

 

Fayl nümunəsi: WANACRY.EXE (şəkil 5)

 wcry_5

(şəkil 5)

Faylın hash summaları:

MD5(wanacry.exe)= 84c82835a5d21bbcf75a61706d8ab549

SHA1(wanacry.exe)= 5ff465afaabcbf0150d1a3ab2c2e74f3a4426467

 

PE32 faylı haqqında informasiya:

Fayl həcmi: 3.35 MB (3514368 bytes)

Compiler: Microsoft Visual C++ 6.0

 

İlkin baxış zamanı müəyyən olunur ki, fayl özünü yayındırmaq məqsədi ilə Microsoft Windows əməliyyat sisteminin DiskPart alətinin məlumatlarından istifadə edir. (şəkil 6)

 

(şəkil 6)

 

SubSystem olaraq Win32GUI qeyd edilib.

Analizin davamı üçün PE32 Section cədvəlinə nəzər salırıq. Proqram 4 əsas bölmədən ibarətdir. (şəkil 7)

 

(şəkil 7)

 

“Import Table”da 4 ədəd modul var:

  • DLL
  • DLL
  • DLL
  • DLL

Bu hisseye kimi qeyri adi heçnəyə rast gəlinmir. Lakin “Resource” qovluğuna keçdikdə adı şübhəli olan  bir qovluğa rast gəlinir. Faylın adı “CIA”nın manipulyasiya xarakterli oxşar adı “XIA”dır. (şəkil 8)

 

(şəkil 8)

“XİA” faylının analizi zamanı onun əslində formatı dəyişdirilmiş bir fayl olduğu müəyyən edildi.

 wcry_9

(şəkil 9)

 

          Qırmızı kvadarata alınan hissə 2 byte  504B->PK bu PKZIP fayl formatının header signaturası və ya sadəcə random məlumat ola bilərdi. Əmin olmaq üçün data dump edilərək PKZIP formatına parse edildi. (şəkil 9)

Analiz ediləcək növbəti faylın hash summaları:

MD5(XIA)= b576ada3366908875e5ce4cb3da6153a

SHA1(XIA)= 30f8820cf93a627c66195f0d77d6a409024c6e52

 

Adı çəkilən əməliyyat üçün Python zipfile modulundan istifadə edildi. (şəkil 10)

(şəkil 10)

Zipfile modulu fayl açıldıqdan sonra heç bir problem yaranmır, yəni məlumat doğurdan da PKZIP formatında PE32 faylının resurslar üçün nəzərdə tutulmuş cədvəlində sətir şəklində saxlanılmışdır. Ehtimal ki, virusu yazan şəxs bu fayl vasitəsi ilə məlumatları oxuyub və arxivi “extract” etməyə çalışır.

Faylın extract edilməsi zaman isə sistem (z.testzip) python exception getdiyini bildirir və arxivi extract etmək üçün şifrə tələb olunduğunu bildirir.

Arxivi açmaq üçün lazımi şifrə mütləq şəkildə zərərvericinin içərisində saxlanmalı idi. Beləliklə şifrənin axtarışı üçün virusun bütün “string”ləri IDA ilə analiz edildi. Nəticədə şəkil 11-dəki string şifrə olma ehtimalı ilə diqqət çəkdi.

(şəkil 11)

Lakin proqram tərkibində buna oxşar yüzlərlə string mövcuddur, bu isə bunlardan hər hansı birinin PKZIP arxiv faylının parolu ola biləcəyi demək idi. Parolun bu olduğunu təsdiqləyən isə string-dən sonrakı “push” edilən dəyər və daha sonra çağırılan funksiya (sub_401DAB) oldu.

.text:004020C8                 mov     [esp+6F4h+Str], offset Str ; "WNcry@2ol7"

.text:004020CF                 push    ebx             ; hModule

.text:004020D0                 call      sub_401DAB

 

Bu “instruction”lar ardıcıllıqla ilk öncə şifrə olaraq ehtimal etdiyimiz mətni “Stack”a atır. Daha sonra “push ebx” ilə “ebx” registerində olan 32 bitlik dəyəri “stack”a atır ki, bu dəyər daha öncədən “GetModuleHandle()” ilə götürülmüşdür. Bu funksiya isə proqramın bir başa özünə “handle” dəyərini geri qaytarır. 

 

Əsas çağırılan funksiya:

(şəkil 11.2)

Şəkil 11.2-dəki funksiyanı analiz etdikdən sonra əminliklə demək olar ki, arxivin şifrəsi düzgün ehtimal ehtimal edilmişdir. Səbəbi isə şəkildə gördüyünüz funksiya HANDLE dəyəri olaraq verilmiş modulda (bu isə faylın özüdür) resource direktoriyasını extract etmek üçün istifadə edilir. Yuxarıda da qeyd etdiyimiz kimi, bizim şübhəli XIA qovluğu da məhz resource qovluğunda idi.

(şəkil 12)

Beləliklə, şifrəni daxil edilərək arxivi test edildi: (şəkil 12)

(şəkil 13)

 

Şəkildən göründüyü kimi nəticə müsbətdir. Tapılan şifrə ilə arxivi extract etmək mümkün oldu. (şəkil 13)

(şəkil 14)

Extract əməliyyatından sonra qovluğa nəzər yetirək. (şəkil 15)

(şəkil 15)

Göründüyü kimi arxiv içərisində PE formatlı fayllar və *.wnry genişlənməsi ilə fayllar mövcuddur.

msg qovluğu analiz edildiyi zaman fayllardan aydın olur ki, cryptor GUI pəncərəsində yoluxdurulan şəxsə onun öz dilində mesaj vermək üçün 28 dildə *.wnry formatlı fayllardan istifadə edir. (şəkil 16)

(şəkil 16)

 

Nümunə üçün m_turkish.wnry faylına nəzər yetirək: (şəkil 17)

(şəkil 17)

Dil faylının İlk görünüşdə .rtf fayl formatına bənzədiyini qeyd etmək olar. Analiz üçün *.wnry genişlənməsi .rtf ilə əvəz edilərək Microsoft Office ilə çalışdırıldı. (şəkil 18)

(şəkil 18)

 

Digər faylları analizi:

c.wnry faylın tərkibində onion url ünvanlar mövcud olduğu müəyyən olundu. (şəkil 19)

(şəkil 19)

r.wnry faylının tərkibində isə text faylının mövcudluğu müəyyən edildi.  (şəkil 20)

(şəkil 20)

Digər fayllar daha sonra statik analiz zamanı yoxlanılacaq. Zərərvericiyə yoluxma anında (runtime) baş verən aktivliklərini izləmək üçün cari faylın dinamik analizini həyata keçirmək lazımdır. Belə ki, zərərvericini işə saldıqdan bir neçə saniyə sonra şəkil 21-dəki görüntü ekranda yaranır. Artıq zərərverici öz işini tamamlayaraq gözləmə rejiminə keçmişdir.

 

şəkil 21

 

şəkil 22-də isə əsas proses wanacry və subprocessləri izləmək olar.

 

şəkil 22

Zərərverici tam olaraq sistemin işləməsinə mane yaratmır. Sadəcə olaraq daimi olaraq bir neçə saniyə fasilə verməklə təkrar ekrana yuxarıdakı pəncərə ilə mesaj çıxararaq istifadəçidən pul ödəməsini tələb edir.

Bir çox mənbələr zərərvericinin şəbəkə daxilində özünü yaymaq üçün SMB boşluğundan istifadə etdiyini bildirsə də, bizim əldə etdiyimiz zərərverici nümunəsində (wanacry versiya 1) testlər zamanı zərərvericinin SMB boşluğundan istifadə etməsi kimi cəhdləri qeydə alınmadı. Ümumiyyətlə əldə edilən cari nümunənin testləri zamanı onun heç bir özünü yayma metodu təyin edilmədi.

İndi isə faylların şifrələnməsi zamanı hansı əməliyyatların həyata keçirildiyinə nəzər salaq. Test üçün 2 nümunə fayl yaradıldı. Faylların hər biri 1024 byte və 4 byte həcmində hazırlanmışdır. (şəkil 23)

(şəkil 23)

Zərərverici işə salındıqda proses zamanı ilk öncə zərərverici “icacls” köməkliyi ilə şifrələmək istədiyi fayllara FULL access verir. Bu addım böyük ehtimalla "readonly" faylların da şifrələnməsini təmin etmək üçün nəzərdə tutulub.

(şəkil 24)

 

(şəkil 25)

şəkil 26-da zərərvericinin arıtq faylları şifrələməyə başladığını görmək olar. Şifrələnmiş hər bir faylın header hissəsi “WANACRY!” ilə başlayır ki, bu da zərərvericinin şifrələnmiş faylları tanıması üçün istifadə olunur.

(şəkil 26)

Daha sonra zərərverici TOR (şifrəli kanal) üzərindən hərəkət etmək üçün “TOR”u işə salır. Cari analiz virtual mühitdə aparıldığından TOR əsas noda qoşula bilmir. Bu səbəbdən də zərərvericinin hansı əməliyyatlar üçün TOR-a qoşulduğunu izləmək mümkün olmadı. TOR-a qoşulma zamanı hansı əməliyyatların yerinə yetiriləcəyini analiz etmək üçün cari yoluxma analizini real avadanlıq üzərində test etməyə ehtiyac vardır. Jurnalın növbəti buraxılışlarında real avadanlıq testləri üzərindəki analizləri də sizinlə bölüşəcəyik.