6.7 C
İstanbul
13/12/2024
Image default
HaberlerZararlı Yazılım Analizleri

PyVIL RAT Analizi

Genel Bakış

Bu yazımızda, Cybereason Nocturnus tarafından analizi yapılan Evilnum grubunun aktivitelerini ele alacağız.  2018’den beri aktiviteleri bulunan Evilnum grubu, yakın zamanda JavaScript ve C# tabanlı araçlarla karşımıza çıkmıştır. Hedefli oltalama aktiviteleri ile operasyonlarını yürüten grup, Fintech Market’i “Know Your Customer Regulations (KYC)” dökümanları ile hedef almıştır. Birleşik Krallık ve Avrupa Birliği’nde farklı firmaların da hedef alındığı bilinmektedir.

Son haftalarda yapılan yeni zararlı incelemelerinde farklı enjeksiyon ve kalıcılık vektörleri tespit edilmiştir. Bu yeni vektörler, Python-scripted Remote Access Trojan olarak karşımıza çıkmaktadır. Bu zararlıya, Nocturnus tarafından PyVil RAT adı verilmiştir. Bu yeni zararlı türü, data çalmak, keylogging ve SS (ekran alıntısı) almak vb amaçlı çalışmaktadır. Ayrıca credential çalmak için LaZagne ve benzeri araçları, hedeflenen sisteme yerleştirmektedir. Buna ek olarak grubun Golden Chickens araçlarını kullandığı da bilinmektedir. Golden Chickens “Malware as a Service (MaaS)” olarak geçen ve FIN6 ile Cobalt Group tarafından kullanıldığı bilinen bir araç setidir. Bu araçlardan bazıları More_eggs, TerraPreter, TerraStealer ve TerraTV’dir.

Süreç Zinciri

Grubun aktiviteleri ilk olarak hedef odaklı oltalama saldırıları ile başlamaktadır. Bu oltalama saldırısının amacı, LNK dosyaları içeren zip uzantılı dosyaları hedef sisteme iletebilmektir. LNK dosyaları, sürücü belgeleri, kredi kartları, faturalar gibi dökümanlardan oluşmaktadır. Bu belgelerin tamamı gerçek kayıtları ifade etmektedir. Bu dökümanların çalınarak paylaşıldığı değerlendirilmektedir.

LNK dosyası çalıştırıldığında JavaScript tabanlı bir Trojan aktif hale gelmektedir. Bu trojan, eski versiyonlarında LNK dosyalarını bir imaj dosyası haline getirmektedir. Bu sayede tüm operasyon kullanıcıya fark ettirilmeden yürütülebilmektedir. Bu zamana kadar 6 farklı iterasyonu tespit edilmiş olan bu trojan, temel özelliklerini değiştirmemiştir. Çerezlerin çalınması, dosya yükleme&indirme işlemleri, antivirüs bilgilerinin toplanması, uzaktan kod yürütme gibi aktiviteler belli başlı özellirindendir. Resim 1’deki görselde zararlının işletilme süreci ifade edilmiştir.

 

Resim 1: Zararlı İşletilme Süreci

Geçmişteki aktivitelerde, 4 farklı LNK dosyası zip uzantılı bir dosya haline getirilerek iletiliyordu. Zararlının çalışmasının ardından JPEG uzantılı dosya ortaya çıkmaktaydı. Benzer içerikler bu kez bir pdf dosyası haline getirilmektedir. Resim 2’de iletilen dosya ve Resim 3’te de bu dosyanın içeriğine dair görsel yer almaktadır.

 

Resim 2: Zararlı Dosya Örneği
Resim 3: PDF’ten Elde Edilen Dosya İçeriği

Proses ağacı Resim 4’te ifade edildiği şekildedir:

Resim 4: Enfeksiyon Süreç Ağaç Yapısı

JavaScript işlemi, süreç devam ederken Temp klasörünün altında wscript.exe ile çalıştırılır (“0.js”). LNK dosyası da aynı klasörün altına 1.lnk olarak kopyalanır. Binary’leri çekmek için Javascript çalıştırılmış olmaktadır. Cybereason tarafından paylaşılan süreç yapısı, Resim 5’teki gibidir. Buna ek olarak JavaScript kodu ve komut Resim 6 ve Resim 7’de paylaşılmıştır.

Resim 5: Enfeksiyon Süreci ve JavaScript Çıkartılması

Resim 6: Gömülü JavaScriptin Çıkarılması
Resim 7: Çalıştırılan JavaScript’in Ekran Alıntısı

Bu sürecin ardından LNK dosyası gerçek bir PDF dosyası haline getirilmektedir. JS dosyası ise;

%localappdata%\Microsoft\Credentials\MediaPlayer\VideoManager\media.jsdosya yolunun altında yeniden çalıştırılır. Yeniden çalıştırılan script, LNK dosyası içinden ddpp.exe isimli bir dosya çıkartır ve “%localappdata%\Microsoft\Credentials\MediaPlayer\ddpp.exe” dosya yoluna kaydeder. Zararlının eski versiyonlarında kalıcılık için Registry Key çalıştırılırdı. Yeni versiyon ile kalıcılık, “Scheduled Task” yardımıyla sağlanır. Ddpp.exe dosyası Dolby Selector Task olarak karşımıza çıkmaktadır. Oluşturulan görevin çalıştırılmasının ardından saldırının ikinci safhası aktif hale gelmektedir. Resim 8’de ve Resim 9’da ikinci fazın yapısı ifade edilmiştir.

Resim 8: İkinci Aşama Yapısı
Resim 9: İkinci Aşamanın Süreç İşletim Yapısı

DDPP.EXE

Ddpp.exe,“Java(™) Web Start Launcher” olarak karşımıza çıkmaktadır. Oracle dosyasına benzeyen zararlı nitelikleri Resim 10 ve Resim 11’de ifade edilmektedir. Tek fark zararlı dosyaya ait imza bulunmamasıdır.

 

Resim 10: ddpp.exe Dosyasının Özellikleri
Resim 11: javaws.exe Dosyasının Özellikleri

Dosya “Schedule task” tarafından aşağıda paylaşılan 3 argüman ile çalıştırılmaktadır:

  • Enfekte olan cihazın encoded UUID bilgisi
  • Enfekte olan cihazdaki Antivirüslerin encoded listesi
  • Numara 0
Resim 12: Argüman Listesi

Ddpp.exe çalıştırıldığında shellcode ortaya çıkarılır. Çıkartılan Shellcode, C2 adreslerine GET istekleri ile bağlantı kurmaktadır. Kurulan bağlantıda argüman listesi C2 adresine iletilir. Bu iletişimin devamında C2 adresinden saldırının ikinci fazı için “fplayer.exe” dosyası enkript edilmiş olarak temin edilmektedir. Sonucunda ise yeni bir “scheduled task” oluşturulur.

 

Resim 13: Shellcode Çıkartılması İşlemi
Resim 14: HTTP Üzerinden C2 ile İletişim

FPLAYER.EXE

Bu zararlı da, bir çeşit “downloader” davranışı sergilemektedir. Payload, bu dosya sayesinde elde edilir ve hafızaya yüklenir. Sonrasında RAT olarak çalışmaya başlar. Zararlı, “%localappdata%\microsoft\media player\player\fplayer.exe” dosya yoluna kaydedilir ve “Adobe Update Task” ismiyle çalıştırılabilir hale gelmektedir. Zararlının kullandığı argümanlardan bazıları aşağıdaki gibidir:

Enfekte olan makinenin encoded UUID değeri

  • “-m”: Scheduled Task ismi
  • “-f”: Kalan argümanların ayrıştırılması için PyVil RAT’a komut iletir
  • “-t” Scheduled Task’ın güncellenmesi
Resim 15: fplayer.exe Argümanları

Ddpp.exe gibi Fplayer.exe dosyasının özellikleri, “Steroscopic3D driver Installer” dosyasına benzetilmiştir.

 

Resim 16: fplayer.exe Özellikleri

Resim 17: nvstinst.exe Özellikleri

Yine ddpp.exe’ye benzer olarak shellcode çıkarma işlemi gerçekleştirilir. GET istekleri kullanılarak C2 ile iletişime geçilmektedir. C2 adresine gönderilen URI içerisinde sadece encoded UUID paylaşılmaktadır. Ardından yeni bir çalıştırılabilir dosya elde edilir ve ‘%localappdata%\Microsoft\Media Player\Player\devAHJE.tmp’ şeklinde kaydedilir.

 

Resim 18: fplayer.exe Shellcode Çıkarma İşlemi
Resim 19: C2 İletişimi

Resim 19’da belirtilen süreçte temin edilen çalıştırılabilir dosya dekript edilmektedir. Dekript edilmiş dosya, py2exe tarafından derlenmektedir. Bu sayede python skriptleri Microsoft Windows’ta çalıştırılabilir hale gelmektedir.

PYVIL RAT

Py2exe içinde derlenen kod fazladan katmanlarla karmaşıklaştırılmış ve gizleme işlemleri yapılmıştır. Resim 20 ve Resim 21’de karmaşıklaştırma işleminin kaldırılması ve elde edilen python kodunu görmekteyiz.

Resim 20: Karmaşıklaştırma İşleminin Çözümlenmesi

Resim 21: Kullanılan Python Kütüphanelerinin Çıkartılması

Pyvil RAT’ın fonksiyonları aşağıdaki gibi listelenmiştir:

  • Keylogger
  • CMD komutları çalıştırabilme
  • Ekran görüntülerini alabilme
  • Fonksiyonel hale gelebilmek için fazladan python skriptleri indirebilme
  • Çalıştırılabilir dosyaları drop&upload edebilme
  • SSH Shell açabilme
  • Bilgi Toplama
    • Anvivirüs çeşitleri
    • Bağlı USB cihazları
    • Chrome versiyonu
Resim 22: RAT Komut Yapısı
Resim 23: C2 İletişim Konfigürasyonu

PyVil RAT’ın C2 ile iletişimi POST HTTP istekleri ile iletişimi sonlandırmaktadır. Bu istekleri base64 olarak enkod edilmiş anahtarı RC4 ile enkript ederek göndermektedir.

Resim 24: RC4 Anahtarı
Resim 25: C2 Adresine Gönderilen Örnek Bir JSON Verisi
Resim 26: Dekript Edilmiş LaZagne Çıktısı

Aşağıdaki tabloda, gönderilen verideki komutların başlıkları yer almaktadır:

Alan

Kullanımı

type

Not clear

xmode

Not clear

req_type

Request type

svc_ver

Malware version in the configuration

ext_ver

A version of an executable the malware may download (-2 means the  executables folder does not exist)

ext_exists

Checks for the existence of a particular executable 

svc_name

Appears to be a name used to identify the malware by the C2.

ext_uuid

Encoded machine UUID

svc_uuid

machine UUID

host

Hostname

uname

User name

ia

Is user admin

wv

Windows version

dt

Current date and time

avs

List of installed anti-virus products

gc

Dictionary of different configuration

sc_secs_min

Minimum sleep time between sending screenshots

sc_secs_max

Maximum sleep time between sending  screenshots

kl_secs_min

Minimum sleep time between sending keylogging data

kl_secs_max

Maximum sleep time between sending keylogging data

kl_run

Is keylogger activated

klr

Is keylogger activated

tc

Is USB connected

cr

Is chrome.exe is running

ct

Type of downloaded  module to run: executable or Python module

cn

Module name corresponding to “ct”

imp

Execute the downloaded module (corresponds with “ct”)

pwds

Extracted passwords

cooks

Cookies information

IOC

  • 5.206.227[.]81
    • crm-domain[.]net
    • telecomwl[.]com
    • leads-management[.]net
  • 185.236.230[.]25
    • crm-domain[.]net
    • telecomwl[.]com
    • leads-management[.]net
    • voipssupport[.]com
    • voipasst[.]com
  • 193.56.28[.]201
    • crm-domain[.]net
    • telecomwl[.]com
    • leads-management[.]net
    • voipssupport[.]com
    • voipasst[.]com
    • voipreq12[.]com
    • telefx[.]net
    • fxmt4x[.]com
    • xlmfx[.]com

Kaynak

https://www.cybereason.com/blog/no-rest-for-the-wicked-evilnum-unleashes-pyvil-rat

Related posts

Hackerlar, Intel’in 20 GB’lık Gizli Verilerini Sızdırdı!

Serdar H.

DLL Fixer ile Cyrat Ransomware

Mustafa Okay Maktav

POLONYAYA ENFORMASYON SALDIRISI

Mustafa Okay Maktav

Bu web sitesi, kullanıcı deneyimini iyileştirmek amacıyla çerezler kullanmaktadır. Kabul Et Daha Fazlası