“Varsayılan Yazıcı İzleyici” olarak kaydediliyor ama aslında o kötü amaçlı bir yükleyici. DePriMon ile tanışın.

Sonraki hikaye
ESET Research

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ındaBağ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.

Gçrsel 1. Hex-Rays kaynak koda dönüştürücü tarafından sağlanan bilgiye göre SSPI uygulamasının bölümü

 

İ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.

 

Resim 2. Kötü amaçlı DePriMon yazılımının yapılandırma dosyasının şifresini açma, birkaç öğesini yerel değişkenlere kaydetme ve dosyayı tekrar şifreleme yöntemini gösteren; Hex-Rays kaynak koda dönüştürücü tarafından tarafından sağlanan kod parçası.

 

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

T1013

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

T1036

Gizlenme

DePriMon, bileşenlerini yaygın sistem DLL'leri taklit eden isimlerle Sytem32 klasörüne yerleştirir.

T1107

Dosya Silme

DePriMon, dosyalarına rastgele veri yazarak ve daha sonra bunları silerek kendini güvenli bir şekilde silebilir.

T1112

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.

T1134

Erişim Belirteci Manipülasyonu

DePriMon, makinedeki vekil sunucu ayarları hakkında bilgi edinmek için bir kullanıcı belirteci edinir.

T1140

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

T1007

Sistem Hizmeti Keşfetme

DePriMon sistemdeki kayıtlı hizmetleri listeleyebilir.

T1057

Süreç Keşfetme

DePriMon sistemdeki çalışan süreçleri listeleyebilir.

T1082

Sistem Bilgileri Keşfetme

DePriMon sistemle ilgili çeşitli bilgiler toplar.

T1124

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

T1043

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.

T1071

Standart Uygulama Katmanı Protokolü

DePriMon, Komuta ve Kontrol iletişimi için HTTP protokolünü kullanır.

T1090

Bağlantı Vekil Sunucusu

DePriMon, iletişiminin daha az şüphe çekmesi için yerel vekil sunucu ayarlarını kullanır.