Patuloy na nag-eeksperimento ang mga may-akda ng ransomware sa pagbuo ng payload sa iba't ibang dimensyon. Sa timeline ng mga implementasyon ng ransomware, nasaksihan natin ang ebolusyon nito mula sa isang simpleng screen locker patungo sa multi-component model para sa file encryption, mula sa novice approach patungo sa isang sopistikadong approach. Ang Ransomware bilang isang Tool ay umunlad nang walang tigil at isa sa mga ito ay natanggap sa Quick Heal lab. Ang sample na ito ay kinilala bilang LockerGoga at ito ay natatangi dahil nagsisilbi itong isang tool na nagbibigay ng iba't ibang opsyon para sa pagsasagawa ng encryption.
Tulad ng anumang karaniwang command-line tool, ang LockerGoga Ransomware ay nagpapakita ng impormasyon ng tulong para sa sanggunian. Sa execution na may parameter -h, nagpapakita ito ng mga opsyon tulad ng “-v” para sa print version ng LockerGoga at “-m” [Email ID as an argument] parameter para tukuyin ang email id ng attacker para sa pagbabayad, kung sakaling gusto ng biktima na i-decrypt ang mga naka-encrypt na file. Ang parehong email id ay binanggit sa ransom note upang makipag-ugnayan para sa presyo ng decrypter.

Gumagamit ang LockerGoga ng Boost library para sa pag-parse ng mga argumento ng command line.

Ang huling opsyon sa command line tool na "-p" ay nagbibigay-daan upang piliin ang proseso kung saan kailangang mag-inject ng malisyosong code; kung hindi ibinigay ang pangalan ng proseso, bilang default ay mag-iinject ito ng code sa "winlogon.exe".
Ang natanggap na sample ay naglalaman ng apat na executable na bahagi sa loob nito, tulad ng
- encrypt32.dll
- encrypt64.dll
- {random_name}.exe (32 bit)
- {random_name}.exe (64 bit)
Kapag naisakatuparan, ibinabagsak ng malware ang dll component ayon sa arkitektura ng system tulad ng nabanggit sa itaas, sa lokasyong %AppData%/Local/Temp
Pagkatapos ay i-inject nito ang shell code at RSA Public Key na 1024 bit sa prosesong "winlogon.exe" o sa prosesong tinukoy bilang argumento. Ang injected shell code ay ginagamit upang i-load ang dropped encrypt**.dll sa tulong ng ldrloaddll.
Ang encrypt**.dll ay mayroong export function na “encryptStart”. Ang function na ito ay naglalaman ng code na ginamit upang ibilang ang lahat ng mga drive at folder upang makabuo ng isang listahan ng mga file na nasa loob nito. Ang lahat ng listahan ng mga file ay naka-imbak sa file C:\cl.log.

Para sa bawat solong file na nakalista sa C:\cl.log, ibinabagsak nito ang isang executable file na may {random name}.exe sa %AppData%/Local/Temp o C:\Windows\Temp depende sa 64 o 32 bit na arkitektura ng system at i-invoke ang {random_named}.exe sa isang loop na may -k{public key} {file_encry line file) to file_encry line file.
Ang kakaibang bagay tungkol sa LockerGoga Ransomware ay para sa bawat file, lumilikha ito ng isang bagong proseso, ine-encrypt ang file na iyon at tinatapos ang prosesong iyon. Sa pamamagitan ng pamamaraang ito, maaaring maiwasan nito ang produktong anti-ransomware . Bagama't nangyayari ang pag-encrypt, halos 90% nitong ginagamit ang mga resources ng CPU.

Pagkatapos tapusin ang pag-encrypt ng bawat file, isinusulat nito ang pangalan ng file sa C:\cl.log.
Proseso ng Pag-encrypt:
Gumagamit ito ng dalawang encryption algorithm, AES-128bit para sa file content encryption at RSA-1024 bit para i-encrypt ang AES key na ginagamit para sa file content encryption.
Pagbuo ng AES Key:
Sa una, ginamit nito ang “CryptGenRandom” API para bumuo ng random na seed na 32(20h) bytes. Pagkatapos ay gumamit ito ng isa pang 32(20h) byte mula sa resource section para gumawa ng key stack na 40h byte, na ginamit para sa pagbuo ng AES key.
Kasama ng Boost library, ang LockerGoga ay nagpapatupad ng Crypto++ Library para sa proseso ng pag-encrypt na nagpapahirap sa pag-reverse ng sample.


Ang pagpapatupad ng Crypto++ library ay nagbibigay-daan sa AES new instruction set (AES-NI) na ipinakilala ng Intel noong 2009.
Ang pagtuturo ng AESKEYGENASSIST at AESENC ay ginagamit upang ipatupad ang pag-encrypt ng AES,
Ang AESKEYGENASSIST ay ginagamit para sa round key expansion at ang AESENC ay ginagamit para magsagawa ng isang round encryption ng AES.


Pagkatapos ng lahat ng operasyon sa itaas, bumubuo ito ng 32-byte na data kung saan ginagamit ang 16 na byte bilang Key at iba pang 16 na byte bilang Initialization Vector (IV).

Binabago ng malware ang extension ng file sa .locked bago ito i-encrypt.

![]()

Ang pampublikong key na ginamit sa pag-encrypt ay nasa format na PEM

I-convert ang mga ito sa Microsoft Blob na format na ipinapakita sa ibaba.


Kasama ng Key (10h), IV (10h) at 8h bytes na ginamit bilang laki ng file (ibig sabihin, ang file na ie-encrypt) ay naka-encrypt ng RSA-1024 bit gamit ang 'MGF1 (SHA-1)' (ibig sabihin, mask generation function para sa OAEP padding scheme) at idinagdag sa dulo ng file.

Pagkatapos nito, ini-encrypt nito ang nilalaman ng file gamit ang AES key at IV sa CTR mode na may haba ng key na 128 bits.
Paghihinuha:
Nagpakita ang LockerGoga ng kakaiba at bihirang mekanismo para sa pag-encrypt ng mga file sa pamamagitan ng paglikha ng isang master at maramihang proseso ng alipin.
Key mga tampok:
Gamitin ang Boost Library para sa paghawak ng kumplikadong mathematical computation.
Sa halip na gamitin ang Microsoft Crypto API para sa pag-encrypt, ipinatupad ang Crypto++ library (Boost Software License)
Mga IoC:
1E8A6AABF4ADF3AE1890A4C8A2CFF276 – LockerGoga
91976DBD489FEAE2D8719545C8DE304A- encrypt32.dll
174E3D9C7B0380DD7576187C715C4681-encrypt64.dll
E9E6EBC6A0D5183FC8E66472B3419F1E-{random_name}.exe-64 bit
A52F26575556D3C4ECCD3B51265CB4E6 – {random_name}.exe-32 bit
Eksperto sa Paksang Aralin:
Goutam Tripathy, Rahul Sharma, Manisha Prajapati | Quick Heal Security Labs



