Ryuk son bir neçə ildə ən məşhur ransomware variantlarından biridir. İlk dəfə 2018-ci ilin yayında göründüyü üçün toplandı
1. Ümumi məlumat
Bu sənəddə Ryuk ransomware variantının təhlili, həmçinin zərərli proqramın sistemə yüklənməsinə cavabdeh olan yükləyici var.
Ryuk ransomware proqramı ilk dəfə 2018-ci ilin yayında ortaya çıxdı. Ryuk-un digər ransomware proqramından fərqlərindən biri onun korporativ mühitlərə hücum etmək məqsədi daşımasıdır.
2019-cu ilin ortalarında kibercinayətkar qruplar bu ransomware proqramından istifadə edərək çoxlu sayda İspaniya şirkətlərinə hücum etdilər.
düyü. 1: Ryuk ransomware hücumu ilə bağlı El Confidencial-dan çıxarış [1]
düyü. 2: Ryuk ransomware proqramından istifadə edərək həyata keçirilən hücum haqqında El País-dən çıxarış [2]
Bu il Ryuk müxtəlif ölkələrdə çoxlu sayda şirkətə hücum edib. Aşağıdakı rəqəmlərdə də gördüyünüz kimi, Almaniya, Çin, Əlcəzair və Hindistan ən çox zərər çəkmişlər.
Kiberhücumların sayını müqayisə edərək görə bilərik ki, Ryuk milyonlarla istifadəçiyə təsir edib və böyük həcmdə məlumatı ələ keçirib, nəticədə ciddi iqtisadi itkilər baş verib.
düyü. 3: Ryukun qlobal fəaliyyətinin təsviri.
düyü. 4: Ryukdan ən çox təsirlənən 16 ölkə
düyü. 5: Ryuk ransomware tərəfindən hücuma məruz qalan istifadəçilərin sayı (milyonlarla)
Bu cür təhdidlərin adi iş prinsipinə əsasən, bu ransomware şifrələmə tamamlandıqdan sonra qurbana şifrələnmiş fayllara girişi bərpa etmək üçün göstərilən ünvana bitkoinlərlə ödənilməli olan fidyə bildirişini göstərir.
Bu zərərli proqram ilk təqdim edildiyi vaxtdan dəyişdi.
Bu sənəddə təhlil edilən bu təhlükənin variantı 2020-ci ilin yanvarında hücum cəhdi zamanı aşkar edilib.
Mürəkkəbliyinə görə bu zərərli proqram çox vaxt APT qrupları kimi tanınan mütəşəkkil kibercinayətkar qruplara aid edilir.
Ryuk kodunun bir hissəsi bir sıra eyni funksiyaları paylaşdıqları digər tanınmış ransomware Hermes-in kodu və strukturu ilə nəzərə çarpan oxşarlığa malikdir. Buna görə də Ryuk əvvəlcə Şimali Koreyanın Lazarus qrupu ilə əlaqəli idi, o zamanlar Hermes ransomware proqramının arxasında olduğundan şübhələnirdilər.
CrowdStrike-in Falcon X xidməti sonradan qeyd etdi ki, Ryuk əslində WIZARD SPIDER qrupu tərəfindən yaradılıb [4].
Bu fərziyyəni təsdiqləyən bəzi dəlillər var. Birincisi, bu ransomware Rusiyanın tanınmış zərərli proqram bazarı olan və əvvəllər bəzi Rusiya APT qrupları ilə əlaqəli olan exploit.in saytında reklam edilib.
Bu fakt Ryukun Lazarus APT qrupu tərəfindən hazırlana biləcəyi nəzəriyyəsini istisna edir, çünki qrupun fəaliyyət tərzinə uyğun gəlmir.
Bundan əlavə, Ryuk Rusiya, Ukrayna və Belarus sistemlərində işləməyəcək bir ransomware kimi reklam edildi. Bu davranış Ryuk-un bəzi versiyalarında tapılan funksiya ilə müəyyən edilir, burada o, ransomware proqramının işlədiyi sistemin dilini yoxlayır və sistemdə rus, ukrayna və ya belarus dili varsa, onun işləməsini dayandırır. Nəhayət, WIZARD SPIDER komandası tərəfindən sındırılan maşının ekspert təhlili nəticəsində Ryuk-un hazırlanmasında Hermes ransomware proqramının bir variantı kimi istifadə edildiyi iddia edilən bir neçə “artifakt” aşkar edilib.
Digər tərəfdən, ekspertlər Qabriela Nicolao və Luciano Martins, ransomware proqramının APT qrupu CryptoTech tərəfindən hazırlanmış ola biləcəyini irəli sürdülər [5].
Bu, Ryukun meydana çıxmasından bir neçə ay əvvəl bu qrupun eyni saytın forumunda Hermes ransomware proqramının yeni versiyasını hazırladıqları barədə məlumat yerləşdirməsindən irəli gəlir.
Bir neçə forum istifadəçisi CryptoTech-in həqiqətən Ryuk yaratıb-yaratmadığını soruşdu. Qrup daha sonra özünü müdafiə etdi və 100% ransomware proqramını hazırladıqlarına dair sübutlarının olduğunu bildirdi.
2. Xüsusiyyətlər
Biz yükləyici ilə başlayırıq, onun işi Ryuk ransomware proqramının “düzgün” versiyasının işə salınması üçün işlədiyi sistemi müəyyən etməkdir.
Bootloader hash aşağıdakı kimidir:
MD5 A73130B0E379A989CBA3D695A157A495
SHA256 EF231EE1A2481B7E627921468E79BB4369CCFAEB19A575748DD2B664ABC4F469
Bu yükləyicinin xüsusiyyətlərindən biri heç bir metadata ehtiva etməməsidir, yəni. Bu zərərli proqramın yaradıcıları ona heç bir məlumat daxil etməyiblər.
Bəzən istifadəçini qanuni bir proqram işlətdiklərini düşünməyə aldatmaq üçün səhv məlumatlar daxil edirlər. Bununla belə, daha sonra görəcəyimiz kimi, əgər infeksiya istifadəçinin qarşılıqlı əlaqəsini əhatə etmirsə (bu ransomware ilə olduğu kimi), onda təcavüzkarlar metaməlumatlardan istifadə etməyi zəruri hesab etmirlər.
düyü. 6: Nümunə Meta Məlumat
Nümunə həm 32-bit, həm də 32-bit sistemlərdə işləyə bilməsi üçün 64-bit formatda tərtib edilmişdir.
3. Penetrasiya vektoru
Ryuk-u yükləyən və işlədən nümunə uzaqdan əlaqə vasitəsi ilə sistemimizə daxil oldu və giriş parametrləri ilkin RDP hücumu ilə əldə edildi.
düyü. 7: Hücum Qeydiyyatı
Təcavüzkar uzaqdan sistemə daxil ola bilib. Bundan sonra nümunəmizlə icra edilə bilən bir fayl yaratdı.
Bu icra edilə bilən fayl işə salınmazdan əvvəl antivirus həlli tərəfindən bloklanıb.
düyü. 8: Nümunə kilidi
düyü. 9: Nümunə kilidi
Zərərli fayl bloklandıqda, təcavüzkar icra edilə bilən faylın şifrələnmiş versiyasını yükləməyə cəhd etdi və bu da bloklandı.
düyü. 10: Təcavüzkarın işə salmağa çalışdığı nümunələr toplusu
Nəhayət, o, şifrələnmiş konsol vasitəsilə daha bir zərərli faylı endirməyə çalışıb
Antivirus qorunmasını keçmək üçün PowerShell. Amma o da bloklanıb.
düyü. 11: Zərərli məzmunlu PowerShell bloklanıb
düyü. 12: Zərərli məzmunlu PowerShell bloklanıb
4. Yükləyici
İcra etdikdə qovluğa ReadMe faylı yazır temp%, bu Ryuk üçün xarakterikdir. Bu fayl protonmail domenində e-poçt ünvanını ehtiva edən fidyə qeydidir və bu zərərli proqram ailəsində olduqca yaygındır: [e-poçt qorunur]
düyü. 13: Fidyə tələbi
Yükləyici işləyərkən onun təsadüfi adlarla bir neçə icra edilə bilən faylı işə saldığını görə bilərsiniz. Onlar gizli qovluqda saxlanılır PUBLIC, lakin əməliyyat sistemində seçim aktiv deyilsə "Gizli faylları və qovluqları göstər", sonra onlar gizli qalacaqlar. Üstəlik, bu fayllar 64 bitlik olan ana fayldan fərqli olaraq 32 bitdir.
düyü. 14: Nümunə tərəfindən işə salınan icra edilə bilən fayllar
Yuxarıdakı şəkildə gördüyünüz kimi, Ryuk icacls.exe proqramını işə salır, bu, bütün ACL-ləri (Access control lists) dəyişdirmək üçün istifadə olunacaq, beləliklə, bayraqların girişini və modifikasiyasını təmin edir.
Səhvlərdən (/C) və heç bir mesaj göstərmədən (/Q) asılı olmayaraq, bütün istifadəçilər tərəfindən cihazdakı bütün fayllara (/T) tam giriş əldə edir.
düyü. 15: Nümunə tərəfindən işə salınan icacls.exe-nin icra parametrləri
Qeyd etmək vacibdir ki, Ryuk Windows-un hansı versiyasını işlədiyinizi yoxlayır. Bunun üçün o
istifadə edərək versiya yoxlamasını həyata keçirir GetVersionExW, burada bayrağın dəyərini yoxlayır lpVersionInformationWindows-un cari versiyasının daha yeni olub olmadığını göstərir Windows XP.
Windows XP-dən sonrakı versiyanı işlətdiyinizdən asılı olaraq, yükləyici yerli istifadəçi qovluğuna - bu halda qovluğa yazacaq. %ictimai%.
düyü. 17: Əməliyyat sisteminin versiyası yoxlanılır
Yazılan fayl Ryukdur. Daha sonra parametr kimi öz ünvanını ötürərək onu işə salır.
düyü. 18: Ryuk-u ShellExecute vasitəsilə icra edin
Ryukun etdiyi ilk şey giriş parametrlərini qəbul etməkdir. Bu dəfə öz izlərini silmək üçün istifadə olunan iki giriş parametri (icra olunanın özü və damcı ünvanı) var.
düyü. 19: Prosesin yaradılması
Siz həmçinin görə bilərsiniz ki, o, icra olunanları işə saldıqdan sonra özünü silir və beləliklə, icra olunduğu qovluqda öz varlığından heç bir iz qoymur.
düyü. 20: Faylın silinməsi
5. RYUK
5.1 Mövcudluq
Ryuk, digər zərərli proqramlar kimi, sistemdə mümkün qədər uzun müddət qalmağa çalışır. Yuxarıda göstərildiyi kimi, bu məqsədə çatmağın bir yolu gizli şəkildə icra edilə bilən faylları yaratmaq və işə salmaqdır. Bunu etmək üçün ən çox görülən təcrübə qeyd defteri açarını dəyişdirməkdir CurrentVersionRun.
Bu vəziyyətdə, bunun üçün ilk faylın işə salındığını görə bilərsiniz VWjRF.exe
(fayl adı təsadüfi yaradılır) işə salınır cmd.exe.
düyü. 21: VWjRF.exe faylının icrası
Sonra əmri daxil edin RUN adı ilə"svchos". Beləliklə, istənilən vaxt reyestr açarlarını yoxlamaq istəyirsinizsə, bu adın svchost ilə oxşarlığını nəzərə alaraq, bu dəyişikliyi asanlıqla əldən verə bilərsiniz. Bu açar sayəsində Ryuk onun sistemdə olmasını təmin edir. Əgər sistemdə yoxdursa. hələ yoluxmuşdursa, sistemi yenidən başlatdığınız zaman icra olunan fayl yenidən cəhd edəcək.
düyü. 22: Nümunə reyestr açarında mövcudluğu təmin edir
Bu icraedicinin iki xidməti dayandırdığını da görə bilərik:
"audioendpointbuilder", adından göründüyü kimi, sistem səsinə uyğundur,
düyü. 23: Nümunə sistemin audio xidmətini dayandırır
и Samss, hesabın idarə edilməsi xidmətidir. Bu iki xidməti dayandırmaq Ryukun xüsusiyyətidir. Bu halda, sistem SIEM sisteminə qoşulubsa, ransomware göndərilməsini dayandırmağa çalışır.
düyü. 24: Nümunə Samss xidmətini dayandırır
5.2 İmtiyazlar
Ümumiyyətlə, Ryuk şəbəkə daxilində yanal hərəkətlə başlayır və ya başqa bir zərərli proqram tərəfindən işə salınır.
Əvvəlcədən icra prosesinə müqəddimə olaraq prosesi həyata keçirdiyini görürük Özünü təqlid et, bu o deməkdir ki, giriş nişanının təhlükəsizlik məzmunu axına ötürüləcək və burada dərhal istifadə edilərək götürüləcək. GetCurrentThread.
düyü. 25: Impersonate Self-ə zəng edin
Sonra görürük ki, o, giriş işarəsini iplə əlaqələndirəcək. Bayraqlardan birinin olduğunu da görürük İstənilən Giriş, mövzunun sahib olacağı girişi idarə etmək üçün istifadə edilə bilər. Bu halda edx-in alacağı dəyər olmalıdır TOKEN_ALL_ACESS və ya başqa cür - TOKEN_YAZIN.
düyü. 26: Axın Tokeninin yaradılması
Sonra istifadə edəcək SeDebugPrivilege və mövzu üzrə Sazlama icazələrini əldə etmək üçün zəng edəcək, nəticədə BÜTÜN_GİRİŞİ PROCESS, o, istənilən tələb olunan prosesə daxil ola biləcək. İndi, şifrələyicinin artıq hazırlanmış bir axını olduğunu nəzərə alsaq, son mərhələyə keçmək qalır.
düyü. 27: SeDebugPrivilege və Privilege Eskalasiya funksiyasına zəng
Bir tərəfdən, artırmaq istədiyimiz imtiyazlar haqqında bizə lazımi məlumat verən LookupPrivilegeValueW var.
düyü. 28: İmtiyazların artırılması üçün imtiyazlar haqqında məlumat tələb edin
Digər tərəfdən, bizdə var AdjustTokenPrivileges, bu bizə axınımız üçün lazımi hüquqları əldə etməyə imkan verir. Bu vəziyyətdə ən vacib şey budur NewState, kimin bayrağı imtiyazlar verəcək.
düyü. 29: Token üçün icazələrin qurulması
5.3 İcra
Bu bölmədə biz nümunənin bu hesabatda daha əvvəl qeyd olunan icra prosesini necə yerinə yetirdiyini göstərəcəyik.
Tətbiq prosesinin, eləcə də eskalasiyanın əsas məqsədi çıxış əldə etməkdir kölgə nüsxələri. Bunun üçün o, yerli istifadəçidən daha yüksək hüquqlara malik bir iplə işləməlidir. Bu cür yüksək hüquqlar əldə etdikdən sonra əməliyyat sistemində əvvəlki bərpa nöqtəsinə qayıtmağı qeyri-mümkün etmək üçün surətləri siləcək və digər proseslərə dəyişikliklər edəcək.
Bu tip zərərli proqramlar üçün tipik olduğu kimi, istifadə edir CreateToolHelp32Snapshotbuna görə də hazırda işləyən proseslərin şəklini alır və istifadə edərək həmin proseslərə daxil olmağa çalışır Açıq proses. Prosesə giriş əldə etdikdən sonra proses parametrlərini əldə etmək üçün məlumatı olan bir işarə açır.
düyü. 30: Proseslərin kompüterdən alınması
CreateToolhelp140002Snapshot-dan istifadə edərək adi 9D32C-də işləyən proseslərin siyahısını necə əldə etdiyini dinamik şəkildə görə bilərik. Onları aldıqdan sonra o, siyahıdan keçir və uğur qazanana qədər OpenProcess-dən istifadə edərək prosesləri bir-bir açmağa çalışır. Bu halda aça bildiyi ilk proses oldu "taskhost.exe".
düyü. 31: Prosesi əldə etmək üçün proseduru dinamik şəkildə icra edin
Biz görə bilərik ki, o, sonradan proses token məlumatını oxuyur, ona görə də çağırır OpenProcessToken parametri ilə "20008"
düyü. 32: Proses nişanı məlumatını oxuyun
O, həmçinin onun vurulacağı prosesin olmadığını yoxlayır csrss.exe, explorer.exe, lsaas.exe ya da onun bir sıra hüquqlara malik olması NT səlahiyyəti.
düyü. 33: İstisna edilmiş proseslər
Proses işarəsi məlumatından istifadə edərək, onun ilk olaraq yoxlamanı necə yerinə yetirdiyini dinamik olaraq görə bilərik 140002D9C prosesin icrası üçün hüquqlarından istifadə edilən hesabın hesab olub olmadığını öyrənmək üçün NT HAQQİYYƏTİ.
düyü. 34: NT AUTORITY yoxlaması
Və daha sonra, prosedurdan kənarda, bunun olmadığını yoxlayır csrss.exe, explorer.exe və ya lsaas.exe.
düyü. 35: NT AUTORITY yoxlaması
O, proseslərin şəklini çəkdikdən, prosesləri açdıqdan və onların heç birinin istisna edilmədiyini təsdiqlədikdən sonra yeridiləcək prosesləri yaddaşa yazmağa hazırdır.
Bunun üçün əvvəlcə yaddaşda bir sahə saxlayır (VirtualAllocEx), içinə yazır (Yazma prosesi yaddaşı) və ip yaradır (RemoteThread yaradın). Bu funksiyalarla işləmək üçün əvvəllər istifadə etdiyi seçilmiş proseslərin PID-lərindən istifadə edir CreateToolhelp32Snapshot.
düyü. 36: Yerləşdirmə kodu
Burada onun funksiyanı çağırmaq üçün PID prosesindən necə istifadə etdiyini dinamik şəkildə müşahidə edə bilərik VirtualAllocEx.
düyü. 37: VirtualAllocEx-ə zəng edin
5.4 Şifrələmə
Bu bölmədə biz bu nümunənin şifrələmə hissəsinə baxacağıq. Aşağıdakı şəkildə siz "adlı iki alt proqram görə bilərsiniz.LoadLibrary_EncodeString"Və"Encode_Func", şifrələmə prosedurunu yerinə yetirməkdən məsul olan.
düyü. 38: Şifrələmə prosedurları
Başlanğıcda biz onun sonradan lazım olan hər şeyi aradan qaldırmaq üçün istifadə ediləcək bir sətri necə yüklədiyini görə bilərik: idxallar, DLL-lər, əmrlər, fayllar və CSP-lər.
düyü. 39: Deobfuscation dövrəsi
Aşağıdakı rəqəm R4 registrində deobfuscate etdiyi ilk idxalı göstərir. Yük kitabxanası. Bu, daha sonra tələb olunan DLL-ləri yükləmək üçün istifadə olunacaq. Biz həmçinin R12 registrində deobfuscation yerinə yetirmək üçün əvvəlki sətirlə birlikdə istifadə edilən başqa bir xətt görə bilərik.
düyü. 40: Dinamik deobfuscation
O, ehtiyat nüsxələri, bərpa nöqtələrini və təhlükəsiz yükləmə rejimlərini söndürmək üçün daha sonra işləyəcəyi əmrləri endirməyə davam edir.
düyü. 41: Əmrlərin yüklənməsi
Sonra 3 faylı atacağı yeri yükləyir: Windows.bat, run.sct и start.bat.
düyü. 42: Fayl yerləri
Bu 3 fayl hər bir yerin sahib olduğu imtiyazları yoxlamaq üçün istifadə olunur. Əgər tələb olunan imtiyazlar mövcud deyilsə, Ryuk icranı dayandırır.
Üç fayla uyğun sətirləri yükləməyə davam edir. Birinci, DECRYPT_INFORMATION.html, faylları bərpa etmək üçün lazım olan məlumatları ehtiva edir. İkinci, PUBLIC, RSA açıq açarını ehtiva edir.
düyü. 43: Sətir DECRYPT INFORMATION.html
üçüncü, UNİKAL_ID_SİLMƏYİN, şifrələməni yerinə yetirmək üçün növbəti prosedurda istifadə olunacaq şifrələnmiş açarı ehtiva edir.
düyü. 44: Xətt UNİKAL İD-Nİ SİLİN
Nəhayət, o, tələb olunan idxal və CSP-lərlə birlikdə tələb olunan kitabxanaları yükləyir (Microsoft Təkmilləşdirilmiş RSA и AES Kriptoqrafiya Provayderi).
düyü. 45: Kitabxanalar yüklənir
Bütün deobfuscation başa çatdıqdan sonra o, şifrələmə üçün tələb olunan hərəkətləri yerinə yetirməyə davam edir: bütün məntiqi sürücülərin sadalanması, əvvəlki rejimdə yüklənmişlərin yerinə yetirilməsi, sistemdə mövcudluğun gücləndirilməsi, RyukReadMe.html faylının atılması, şifrələmə, bütün şəbəkə sürücülərinin sadalanması. , aşkar edilmiş cihazlara keçid və onların şifrələnməsi.
Hər şey yükləmə ilə başlayır"cmd.exe" və RSA açıq açar qeydləri.
düyü. 46: Şifrələmə üçün hazırlanır
Sonra bütün məntiqi sürücüləri istifadə edir GetLogicalDrives və bütün ehtiyat nüsxələri, bərpa nöqtələrini və təhlükəsiz yükləmə rejimlərini söndürür.
düyü. 47: Bərpa vasitələrinin deaktiv edilməsi
Bundan sonra yuxarıda gördüyümüz kimi sistemdə mövcudluğunu gücləndirir və ilk faylı yazır RyukReadMe.html в Temp.
düyü. 48: Fidyə bildirişinin dərc edilməsi
Aşağıdakı şəkildə onun faylı necə yaratdığını, məzmunu endirdiyini və yazdığını görə bilərsiniz:
düyü. 49: Fayl məzmununun yüklənməsi və yazılması
Bütün cihazlarda eyni hərəkətləri yerinə yetirə bilmək üçün o, istifadə edir
"icacls.exe", yuxarıda göstərdiyimiz kimi.
düyü. 50: icalcls.exe-dən istifadə
Və nəhayət, “*.exe”, “*.dll” faylları, sistem faylları və şifrələnmiş ağ siyahı şəklində göstərilən digər yerlərdən başqa faylları şifrələməyə başlayır. Bunun üçün idxaldan istifadə edir: CryptAcquireContextW (AES və RSA-nın istifadəsi göstərildikdə), CryptDeriveKey, CryptGenKey, CryptDestroyKey və s. O, həmçinin WNetEnumResourceW istifadə edərək aşkar edilmiş şəbəkə cihazlarına əhatə dairəsini genişləndirməyə və sonra onları şifrələməyə çalışır.
düyü. 51: Sistem fayllarının şifrələnməsi
6. İdxal və müvafiq bayraqlar
Aşağıda nümunə tərəfindən istifadə edilən ən uyğun idxal və bayraqların siyahısı verilmiş cədvəldir:
7. BOK
References
- usersPublicrun.sct
- Başlat MenyuProqramlarStartupstart.bat AppDataRoamingMicrosoftWindowsStart
- MenuProgramsStartupstart.bat
Ryuk ransomware proqramı ilə bağlı texniki hesabat PandaLabs antivirus laboratoriyasının mütəxəssisləri tərəfindən tərtib edilib.
8. Bağlantılar
1. “Həmişə və Prisa Radio sistemləri qoruyub saxlayır.”https://www. elconfidencial.com/tecnologia/2019-11-04/everis-la-ser-ciberataque-ransomware-15_2312019/, İctimaiyyətlə bağlı 04/11/2019.
2. “Un virus de origen ruso ataca a importantes empresas ispañolas.” https: //elpais.com/tecnologia/2019/11/04/actualidad/1572897654_ 251312.html, Publicada el 04/11/2019.
3. “VB2019 kağızı: Şiniqaminin qisası: Ryuk zərərli proqram təminatının uzun quyruğu.” https://securelist.com/story-of-the-year-2019-cities-under-ransomware-siege/95456/, Publicada el 11 /12/2019
4. “Ryuk ilə Böyük Oyun Ovçuluğu: Başqa Bir Gəlirli Hədəfli Ransomware.”https://www. crowdstrike.com/blog/big-game-hunting-with-ryuk-another-lucrative-targeted-ransomware/, Publicada el 10/01/2019.
5. “VB2019 kağızı: Şiniqaminin qisası: Ryuk zərərli proqram təminatının uzun quyruğu.” https://www. virusbulletin.com/virusbulletin/2019/10/ vb2019-paper-shinigamis-revenge-long-tail-r
Mənbə: www.habr.com