ESET araştırmacıları, değişik ama hiç görülmemiş bir yükleme tekniğine sahip, yeni bir yükleyici keşfettiler.
DePriMon, geleneksel olmayan birçok teknik kullanan, çok sayıda aşamaya sahip ve kötü amaçlı bir yükleyicidir. Kötü amaçlı yazılım, kalıcı olmak için yeni bir yerel bağlantı noktası izleyici olarak kaydolur; bu, MITRE ATT&CK bilgi tabanında “Bağlantı Noktası İzleyiciler” tekniği altında yer alan bir hiledir. Kötü amaçlı yazılım "Windows Varsayılan Yazıcı İzleyici" adını kullandığı için buna DePriMon adını verdik. Karmaşıklığından ve modüler mimarisinden dolayı, bunun bir framework olduğunu düşünüyoruz.
Telemetrimize göre, kötü amaçlı DePriMon yazılımı en az Mart 2017'den beri aktif durumda. DePriMon, Orta Doğu'da düzinelerce bilgisayarda ve Orta Avrupa’da faaliyet gösteren özel bir şirkette algılandı.
Komuta ve kontrol sunucuları olarak kullanılan etki alanı adlarından bazılarında Arapça sözcükler yer alıyor ve bu da, bölgeye özgü bir kampanya olduğuna işaret ediyor. Ancak DePriMon, hedeflerinin coğrafi dağılımının ötesinde bir dikkati hak ediyor: bu, çok sayıda şifrelemenin düzgün bir şekilde kullanıldığı, dikkatli yazılmış kötü amaçlı bir yazılım.
Korunmak isteyenlerin bu tehdide karşı güvende kalmalarına yardımcı olmak amacıyla, yükleyicinin kendisine odaklanarak bu yeni keşfedilen kötü amaçlı yazılımı kapsamlı bir şekilde analiz ettik. Burada "ilk aşama" adını vereceğimiz başlangıç aşamalarını kaçırdığımız için ilk dağıtım ve risk vektörlerini bilmiyoruz. Saldırılarda ne tür son veri yükü kullanıldığı da yanıtlanmayı bekleyen bir başka soru.
Bununla birlikte birkaç olayda, DePriMon'un kısa bir zaman diliminde aynı bilgisayarlarda kötü amaçlı ColoredLambert yazılımı ile birlikte algılandığı unutulmamalıdır. ColoredLambert yazılımı siber casusluk grubu Lamberts (Longhorn olarak da bilinir) tarafından kullanılıyor ve CIA'in yazılım yetenekleri ile ilgili Vault 7 sızıntısı ile bağlantılı. Symantec ve Kaspersky'de görev yapan meslektaşlarımız, analizlerini Nisan 2017'de yayımladılar.
Teknik analiz
İkinci aşama
DePriMon'un ikinci ve üçüncü aşamaları, kurbanın diskine birinci aşama tarafından teslim edilir. İkinci aşama kendisini kurar ve şifrelenmiş ve sabit kodlanmış bir yol kullanarak üçüncü aşamayı yükler. Olası açıklamalardan biri, saldırının ilk aşaması gerçekleştikten sonra yapılandırılmış olmasıdır.
Anlatılan yükleme tekniği benzersizdir. İlke olarak, MITRE ATT&CK sınıflandırmasında, hem Kalıcılık hem de Ayrıcalık Artırma taktikleri altında, “Bağlantı Noktası İzleyiciler” olarak tanımlanıyor. DePriMon'un, resmen açıklanan bu tekniği kullanan ilk kötü amaçlı yazılım olduğuna inanıyoruz.
İkinci aşama, şu kayıt defteri anahtarı ve değerini yaratarak üçüncü aşama DLL'ini bağlantı noktası izleyici olarak kaydeder:
HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors\Windows Default Print Monitor
Driver = %PathToThirdStageDLL%
Bu kayıt defteri anahtarını yaratmak için yönetici hakları gereklidir.
Sistem çalıştırıldığında, kayıtlı DLL spoolsv.exe tarafından SYSTEM ayrıcalıkları ile birlikte yüklenir ve bu, yöntemin benzersizliği ile bir araya geldiğinde, bu tekniği saldırganlar için çok etkili bir hale getirir.
İkinci aşama %system32% klasöründe üçüncü aşama DLL dosyası ile aynı ada sahip ama “.dll” uzantısı olmayan bir dosya olup olmadığını düzenli aralıklarla kontrol eder. Bu dosya, kaldırma tetikleyicisi görevi görür. DePriMon bu dosyayı bulursa ikili dosyaların üzerine yazıp daha sonra bunları silerek hem bu dosyayı hem de kendi bileşenlerini güvenli bir şekilde kaldırır.
Üçüncü aşama
DePriMon'un operatöründen ana yükleri indirmekle sorumlu üçüncü aşama da bazı ilginç teknikler kullanır.
Komut ve kontrol iletişimi için WinHTTP ya da WinInet gibi yaygın API'ler yerine, SSL/TLS'nin Microsoft uygulaması, Secure Channel'ı kullanır. Kötü amaçlı yazılımın bunu kullanması gibi yapılandırması da oldukça karmaşıktır. Son olarak, yazılımın sahiplerinin şifreleme süreci üzerinde çok çalışmış olmaları, kötü amaçlı DePriMon yazılımının analiz edilmesini çok daha zor hale getiriyor.
Komut ve Kontrol İletişimi
DePriMon TLS üzerinde güvenli iletişim kurar ama bunu kötü amaçlı yazılımdaki tipik senaryoda olduğu gibi yüksek bir düzeyde yapmaz. Bağlantı bir Windows soketi ile başlatılır ve Negotiate / NTLM SSP ile birlikte yetkili bir Güvenlik Destek Sağlayıcısı Arayüzü (SSPI) oturumunun başlatılmasıyla sürdürülebilir. Bundan sonra DePriMon, Schannel'i kullanır.
SSPI, yapılandırma dosyasındaki belirli bir işarete göre kullanılır veya kullanılmaz ve makinenin yerel vekil sunucu ayarlarını kullanabilir. Uygulama Microsoft tarafından sağlanan bu örneğe benzer.
Kötü amaçlı yazılımın Schannel aracılığıyla TLS uygulaması, Coast Research & Development tarafından sağlanan bu örneğe benzer. Buna kimlik bilgilerinin oluşturulması, istemci ile el sıkışılması ve sunucu sertifikasının doğrulanması dahildir.
İletişim kurulduktan sonra, üçüncü aşama her seferinde mesajları şifreler ve şifrelerini açar.
Yapılandırma
DePriMon'un üçüncü aşamasının yapılandırma verileri 27 üyeye sahiptir ve bu, bir yükleyici için alışılmadık derecede yüksek bir sayıdır. AES-256 ile şifrelenir ve ikili dosyaya yerleştirilir.
İlk çalıştırmada, DePriMon'un üçüncü aşaması (yükleyicinin kendisi) Anahtar 2 (Tehlike Göstergeleri bölümüne bakın) ile yapılandırma verilerinin şifresini açar, bunları Anahtar 3 ile şifreler ve şifrelenen yapılandırma dosyasını geçici bir klasörde depolar. Yapılandırma dosyasının adı şu süreç ile oluşturulur:
İkinci bayt ile başlayarak Anahtar 2'nin değeri temel 36'da bir rakama dönüştürülür ama özel alfabe “abc…xyz012…789” kullanılarak şifrelenir. Yapılandırma dosyasının uzantısı “.tmp'dir”.
Yapılandırma dosyası yolu örneği: %temp%\rb1us0wm99sslpa1vx.tmp.
İkinci çalıştırmada, yükleyici yapılandırma verilerini kendisinden değil dosyadan okur. Bu şekilde, saldırgan yapılandırmayı kolayca güncelleyebilir.
Güvenli tasarımı sayesinde, yapılandırma bellekte şifrelenmemiş biçimde kalmaz. Yükleyici, yapılandırma dosyasının bazı öğelerini kullanması gerektiğinde yapılandırma dosyasının şifresini açar, ilgili öğeyi alır ve dosyayı tekrar şifreler.
Bu tasarım, kötü amaçlı yazılımın birincil işlevi olan Komut ve Kontrol iletişimini bellek analizlerine karşı korur.
Yapılandırma dosyasındaki ilginç özellikler şunlardır:
· Kullanıcı adları için iki giriş ve parolalar için iki üye (makinede ayarlıysa vekil sunucu için). Bu, saldırganların kimlik bilgileri ile birlikte bir vekil sunucu aracılığıyla saldırılarını artırmaya hazırlandıkları anlamına geliyor. Ancak bu ayrıntıların çalınmasına şahit olmadık. Bu nedenle, saldırının diğer başka aşamalarında gerçekleşiyor gibi görünüyor.
· Üç Komut ve Kontrol sunucusu için üç giriş (her biri farklı bir durumda kullanılır).
· Üç bağlantı noktası için üç giriş (her biri farklı bir durumda kullanılır).
· Yükleyicinin bağlantıyı olası bir vekil sunucuya sahip Güvenlik Destek Sağlayıcı Arayüzü (SSPI) aracılığıyla mı, yoksa sadece bir soket (daha sonra açıklanacak) aracılığıyla mı başlatacağını gösteren işaretler.
Kötü amaçlı yazılım örneklerinden çıkarılan Komut ve Kontrol sunucularının yanı sıra, bu kötü amaçlı yazılımla ilgili olması olası ek etki alanları ve sunucular da saptadığımız unutulmamalıdır.
Şifreleme
Kötü amaçlı yazılım farklı amaçlara yönelik üç farklı 256 bitlik anahtara sahip AES şifreleme algoritmasını kullanır (bu anahtarlar Tehlike Göstergeleri bölümünde listelenmektedir).
Anahtar 1: Kötü amaçlı yazılımdaki çeşitli hassas dizelerin şifresini açmak için.
Anahtar 2: Bellekteki yapılandırma verilerini şifrelemek ve şifrelerini açmak için (daha önce açıklandığı gibi). Bu anahtar üçüncü anahtarı üretmek için de kullanılır.
Anahtar 3: Diskteki yapılandırma dosyasını şifrelemek ve şifresini açmak için.
Bu anahtar sabit kodlanmamıştır ama daha sonra şifrelenen, 32 bitlik bir dizilim kullanılarak türetilir. Bu dizilim şu şekilde oluşturulur: İlk 4 bayt sistem sürücüsünün birim seri numarasıdır ve kalan 28 bayt 5 ila 32 arasındaki değerleri içerir. Bu dizilim Anahtar 2 ile şifrelenir ve sonuçta ortaya Anahtar 3 çıkar.
Sonuç
DePriMon, geliştiricilerinin mimarisini oluşturma ve önemli bileşenlerini tasarlama hususlarında çok çaba harcadığı, sıra dışı derecede gelişmiş bir yükleyicidir.
DePriMon belleğe indirilir ve yansıtıcı DLL yükleme tekniği kullanılarak doğrudan bellekten DLL olarak yürütülür. Asla diskte depolanmaz. Çok sayıda ilginç öğe içerir, şaşırtıcı derecede kapsamlı bir yapılandırma dosyasına sahiptir, şifrelemesi düzgün uygulanmıştır ve komuta ve kontrol iletişimini etkili bir şekilde korur.
Sonuç olarak DePriMon, veri yükü indirip çalıştıracak ve bu süreçte sistem ve kullanıcısı ile ilgili bazı temel bilgileri toplayacak şekilde tasarlanmış güçlü, esnek ve kararlı bir araçtır.
Tehlike Göstergeleri
ESET algılama adları
Win32/DePriMon
Win64/DePriMon
SHA-1 hash kodları:
02B38F6E8B54885FA967851A5580F61C14A0AAB6
03E047DD4CECB16F513C44599BF9B8BA82D0B7CB
0996C280AB704E95C9043C5A250CCE077DF9C8B2
15EBE328A501B1D603E66762FBB4583D73E109F7
1911F6E8B05E38A3C994048C759C5EA2B95CE5F7
2B30BE3F39DEF1F404264D8858B89769E6C032D9
2D80B235CDF41E09D055DD1B01FD690E13BE0AC7
6DB79671A3F31F7A9BB870151792A56276619DC1
6FAB7AA0479D41700981983A39F962F28CCFBE29
7D0B08654B47329AD6AE44B8FF158105EA736BC3
7E8A7273C5A0D49DFE6DA04FEF963E30D5258814
8B4F3A06BA41F859E4CC394985BB788D5F76C85C
94C0BE25077D9A76F14A63CBF7A774A96E8006B8
968B52550062848A717027C512AFEDED19254F58
9C4BADE47865E8111DD3EEE6C5C4BC83F2489F5B
AA59CB6715CFFF545579861E5E77308F6CAEAC36
C2388C2B2ED6063EACBA8A4021CE32EB0929FAD2
CA34050771678C65040065822729F44B35C87B0C
D38045B42C7E87C199993AB929AD92ADE4F82398
E272FDA0E9BA1A1B8EF444FF5F2E8EE419746384
E2D39E290201010F49652EE6116FD9B35C9AD882
F413EEE3CFD85A60D7AFC4D4ECC4445BB1F0B8BC
Etki Alanları
Etki alanı | IP adresi |
img.dealscienters[.]net | 138.59.32.72 |
teknikgorus[.]com | 88.119.179.17 |
wnupdnew[.]com | 190.0.226.147 |
babmaftuh[.]com | 185.56.89.196 |
alwatantrade[.]com | 188.241.60.109 |
shayalyawm[.]com | 5.226.168.124 |
elehenishing[.]com | 185.225.17.77 |
almawaddrial[.]com | 46.151.212.202 |
mdeastserv[.]com | 46.151.212.201 |
Anahtarlar - örnek
Anahtar 1: C097CF17DC3303BC8155534350464E50176ACA63842B0973831D8C6C8F136817
Anahtar 2: 8D35913F80A23E820C23B3125ABF57901BC9A7B83283FB2B240193ABDEDE52B9
Anahtar 3: Daha önce açıklandığı gibi türetilir.
Dosya adları
dpnvmrs.dll
hp3mlnv.dll
hp4mlnv.dll
hp5nhd.dll
hp6nhd.dll
hpjdnb64.dll
hpmdnel3b.dll
ifssvc.dll
ifssvcmgr.dll
msprtmon64.dll
msptromn.dll
plamgr.dll
ppcrlchk.dll
ppcrlupd.dll
printmon.dll
prntapt.dll
prntqdl64.dll
pscript6f.dll
pscript6s.dll
shprn64.dll
stprn32.dll
tzutil.dll
winmnprt.dll
MITRE ATT&CK teknikleri
Taktik | Kimlik | Ad | Açıklama |
Kararlılık | Bağlantı Noktası İzleyiciler | DePriMon, kararlılık elde etmek için bileşenlerinden birini bağlantı noktası izleyici olarak yükler. | |
Savunmadan Kaçınma | Gizlenme | DePriMon, bileşenlerini yaygın sistem DLL'leri taklit eden isimlerle Sytem32 klasörüne yerleştirir. | |
Dosya Silme | DePriMon, dosyalarına rastgele veri yazarak ve daha sonra bunları silerek kendini güvenli bir şekilde silebilir. | ||
Kayıt Defterini Değiştirme | DePriMon, kararlılık elde etmek için HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors bağlantı noktasına kayıt girişi ekleyebilir. | ||
Erişim Belirteci Manipülasyonu | DePriMon, makinedeki vekil sunucu ayarları hakkında bilgi edinmek için bir kullanıcı belirteci edinir. | ||
Dosyaları ya da Bilgileri Açığa Çıkarma/Deşifre Etme | DePriMon, dizelerinden bazılarını ve yapılandırma dosyasını AES-256 standardını kullanarak şifreler. | ||
Keşfetme | Sistem Hizmeti Keşfetme | DePriMon sistemdeki kayıtlı hizmetleri listeleyebilir. | |
Süreç Keşfetme | DePriMon sistemdeki çalışan süreçleri listeleyebilir. | ||
Sistem Bilgileri Keşfetme | DePriMon sistemle ilgili çeşitli bilgiler toplar. | ||
Sistem Saatini Keşfetme | DePriMon düzenli olarak sistem saatini kontrol eder ve saate bağlı olarak, kaldırma gibi çeşitli işlemler yapar. | ||
Komuta ve Kontrol | Sık Kullanılan Bağlantı Noktası | DePriMon, Komuta ve Kontrol iletişimi için 443 ve 8080 numaralı bağlantı noktalarını kullanır. | |
Standart Uygulama Katmanı Protokolü | DePriMon, Komuta ve Kontrol iletişimi için HTTP protokolünü kullanır. | ||
Bağlantı Vekil Sunucusu | DePriMon, iletişiminin daha az şüphe çekmesi için yerel vekil sunucu ayarlarını kullanır. |