ESET araştırmacıları, bir İspanyol havacılık şirketinin çalışanlarını tuzağa düşüren Lazarus saldırısını analiz ederken, kamuya açık ve belgelenmemiş bir arka kapı keşfetti.
ESET araştırmacıları, İspanya’daki bir havacılık şirketine yönelik bir Lazarus saldırısını ortaya çıkardılar ve burada grup, başta LightlessCan adını verdiğimiz kamuya açık olmayan bir arka kapı olmak üzere çeşitli araçlar kullandı. Lazarus operatörleri, Facebook, Instagram ve WhatsApp’ın arkasındaki şirket olan Meta için bir işe alım görevlisi gibi davranarak başarılı bir spearphishing kampanyasının ardından geçen yıl şirketin ağına ilk erişimi elde etti.
Sahte işe alım görevlisi, LinkedIn profesyonel sosyal ağ platformunun bir özelliği olan LinkedIn Mesajlaşma aracılığıyla kurbanla iletişime geçmiş ve işe alım sürecinin bir parçası olarak gerekli olan ve kurbanın bir şirket cihazına indirip çalıştırdığı iki kodlama görevi göndermiştir. İlk görev, “Merhaba, Dünya!” metnini görüntüleyen çok basit bir projedir, ikincisi ise bir Fibonacci dizisi yazdırır – her sayının önceki iki sayının toplamı olduğu bir sayı dizisi. ESET Araştırmacıları, etkilenen havacılık şirketiyle iş birliği sayesinde ilk erişim adımlarını yeniden oluşturmayı ve Lazarus tarafından kullanılan araç setini analiz etmeyi başardı.
Bu blog yazısında, bu Lazarus saldırısı sırasında kullanılan sızma yöntemini ve araçları açıklıyoruz. Ayrıca bu saldırıyla ilgili bazı bulgularımızı 4 Ekim 2023 tarihinde Virus Bulletin konferansında sunacağız.
Blog yazısının kilit noktaları:
- Hedeflenen şirketin çalışanları, LinkedIn üzerinden sahte bir işe alım görevlisi ile iletişime geçmiş ve kendisini bir kodlama testi olarak sunulan kötü amaçlı bir yürütülebilir dosyayı açmaları için kandırılmıştır.
- DLL yan yüklemesi yoluyla üç tür faydalı yük sunan dört farklı yürütme zinciri tespit ettik.
- En dikkat çekici yük, gerçek zamanlı güvenlik izleme yazılımı tarafından tespit edilmeyi ve siber güvenlik uzmanları tarafından analiz edilmeyi engelleyen teknikler uygulayan LightlessCan arka kapısıdır; bu, HTTP(S) Lazarus RAT’ın amiral gemisi olan selefi BlindingCan ile karşılaştırıldığında büyük bir değişim sunar.
- Bu faaliyeti Lazarus’a, özellikle de Operation DreamJob ile ilgili kampanyalarına bağlıyoruz.
- Saldırının nihai hedefi siber casusluktu.
Lazarus kurbanların sistemlerine çeşitli faydalı yükler göndermiştir; en dikkat çekici olanı, LightlessCan adını verdiğimiz ve selefi BlindingCan’e kıyasla önemli bir ilerlemeyi temsil eden, kamuya açık bir şekilde belgelenmemiş ve sofistike bir uzaktan erişim truva atıdır (RAT). LightlessCan, çok çeşitli yerel Windows komutlarının işlevlerini taklit ederek gürültülü konsol yürütmeleri yerine RAT’ın kendi içinde gizli yürütme sağlar. Bu stratejik değişim gizliliği artırarak saldırganın faaliyetlerini tespit ve analiz etmeyi daha zor hale getirir.
Maruz kalmayı en aza indirmek için kullanılan bir başka mekanizma da yürütme korkuluklarının kullanılmasıdır; Lazarus, yükün yalnızca hedeflenen kurbanın makinesinde şifresinin çözülebildiğinden emin olmuştur. Yürütme korkulukları, dağıtım ve yürütme sırasında yükün bütünlüğünü ve gizliliğini korumak için uygulanan ve güvenlik araştırmacıları gibi istenmeyen makinelerde yetkisiz şifre çözmeyi etkili bir şekilde önleyen bir dizi koruyucu protokol ve mekanizmadır. Bu mekanizmanın uygulanmasını Yürütme zinciri 3: LightlessCan (karmaşık sürüm) bölümünde açıklıyoruz.
LAZARUS GRUBUNA ATIF
Lazarus grubu (HIDDEN COBRA olarak da bilinir) en az 2009 yılından beri aktif olan Kuzey Kore ile bağlantılı bir siber casusluk grubudur. Hem Sony Pictures Entertainment saldırısı hem de 2016‘daki on milyonlarca dolarlık siber soygunlar, 2017’deki WannaCryptor (diğer adıyla WannaCry) salgını, 3CX ve X_TRADER tedarik zinciri saldırıları gibi yüksek profilli olaylardan ve en az 2011’den bu yana Güney Kore kamu ve kritik altyapısına yönelik uzun yıkıcı saldırı geçmişinden sorumludur. Lazarus kampanyalarının çeşitliliği, sayısı ve uygulamadaki eksantrikliği bu grubu tanımlamanın yanı sıra siber suç faaliyetlerinin üç ayağını da gerçekleştirdiğini göstermektedir: siber casusluk, siber sabotaj ve mali kazanç arayışı.
Havacılık ve uzay şirketleri Kuzey Kore’ye bağlı gelişmiş kalıcı tehdit (APT) grupları için alışılmadık bir hedef değildir. Ülke, Birleşmiş Milletler (BM) Güvenlik Konseyi kararlarını ihlal eden çok sayıda nükleer test gerçekleştirmiş ve kıtalararası balistik füze fırlatmıştır. BM, nükleer silahların veya kitle imha silahlarının daha fazla geliştirilmesini ve yayılmasını önlemek için Kuzey Kore’nin nükleer faaliyetlerini izliyor ve bu tür faaliyetleri izleyen iki yıllık raporlar yayınlıyor. Bu raporlara göre, Kuzey Kore’ye bağlı APT grupları, kıtalararası balistik füzeler orta rota aşamalarını Dünya atmosferi dışındaki uzayda geçirirken, hassas teknolojiye ve havacılık know-how’ına erişmek amacıyla havacılık ve uzay şirketlerine saldırmaktadır. Bu raporlar ayrıca siber saldırılardan elde edilen paranın Kuzey Kore’nin füze geliştirme maliyetlerinin bir kısmını oluşturduğunu iddia etmektedir.
İspanya’daki saldırıyı Lazarus grubuna, özellikle de DreamJob Operasyonu’na yüksek bir güvenle atfediyoruz. DreamJob Operasyonu’nun adı ClearSky tarafından Ağustos 2020’de yayınlanan ve savunma ve havacılık şirketlerini siber casusluk amacıyla hedef alan bir Lazarus kampanyasını anlatan bir blog yazısında ortaya atılmıştır. O zamandan beri, bu terimi, iş teklif eden cazibelerden yararlanan ancak In(ter)ception Operasyonu gibi diğer faaliyetlerinde yer alanlara açıkça benzeyen araçları kullanmayan çeşitli Lazarus operasyonlarını belirtmek için kullandık. Örneğin, 2 TOY GUYS sertifikalarıyla imzalanmış araçları içeren kampanya (bkz. ESET Tehdit Raporu T1 2021, sayfa 11) ve Eylül 2022’de yayınlanan Hollanda ve Belçika’daki Amazon temalı yemler vakası.
İlişkilendirmemiz, çoğunlukla daha önce bahsedilen Amazon temalı kampanya ile bir ilişki gösteren aşağıdaki faktörlere dayanmaktadır:
- Kötü amaçlı yazılım (izinsiz giriş seti):
- İlk erişim LinkedIn üzerinden irtibat kurarak ve ardından hedefi işe alım sürecinde başarılı olmak için test kılığında kötü amaçlı yazılım çalıştırmaya ikna ederek elde edilmiştir. Bu bilinen bir Lazarus taktiğidir ve en azından DreamJob Operasyonu’ndan beri kullanılmaktadır.
- Ara yükleyiciler ve Lazarus ile bağlantılı BlindingCan arka kapısı gibi daha önce geçen yılki Hollanda vakasında tespit edilen yüklerin yeni varyantlarını gözlemledik.
- Bu Lazarus kampanyasının araçlarında, Amazon temalı kampanyada da kullanılan 256 bit anahtarlı AES-128 ve RC6 gibi birden fazla güçlü şifreleme türünden yararlanılmıştır.
- Altyapı:
- Birinci seviye C&C sunucuları için (bu blog yazısının sonundaki Ağ bölümünde listelenmiştir), saldırganlar kendi sunucularını kurmazlar, ancak genellikle zayıf güvenliğe sahip olan ve bakımları ihmal edilmiş siteleri barındıran mevcut sunucuları tehlikeye atarlar. Bu, Lazarus’un tipik ancak zayıf güvene sahip bir davranışıdır.
- Cui bono:
- Bir havacılık ve uzay şirketinin bilgi birikimini çalmak, Lazarus tarafından ortaya konan uzun vadeli hedeflerle uyumludur.
İLK ERİŞİM
Grup, LinkedIn Mesajlaşma aracılığıyla birden fazla şirket çalışanını hedef aldı. Bir Meta işe alım görevlisi gibi davranan saldırgan, hedefin dikkatini ve güvenini çekmek için bir iş teklifi cazibesi kullandı; İspanyol havacılık şirketiyle iş birliğimiz sırasında elde ettiğimiz bu konuşmanın ekran görüntüsü aşağıda gösterilmektedir.
Lazarus saldırılarının başlangıcında, habersiz hedefler genellikle pervasızca kendi sistemlerini tehlikeye atmaya ikna edilir. Bu amaçla saldırganlar farklı stratejiler kullanır; örneğin hedef, bir iş teklifinin tüm içeriğini görmek için saldırgan tarafından sağlanan (ve truva atına dönüştürülmüş) bir PDF görüntüleyiciyi çalıştırmaya ikna edilir. Alternatif olarak hedef, bir IP adresi ve oturum açma bilgileri sağlanarak truva atı haline getirilmiş bir SSL/VPN istemcisine bağlanmaya teşvik edilir. Her iki senaryo da Eylül 2022’de yayınlanan bir Microsoft blog yazısında açıklanmıştır. Bu vakadaki anlatı, dolandırıcının kurbanın C++ programlama dilindeki yeterliliğini kanıtlama talebiydi.
Quiz1.exe ve Quiz2.exe adlı iki kötü niyetli yürütülebilir dosya bu amaçla sağlanmış ve üçüncü taraf bir bulut depolama platformunda barındırılan Quiz1.iso ve Quiz2.iso görüntüleri aracılığıyla teslim edilmiştir. Her iki yürütülebilir dosya da girdi isteyen çok basit komut satırı uygulamalarıdır.
Birincisi, çalıştırıldığında “Merhaba, Dünya!” metnini görüntüleyen, genellikle tek bir kod satırından oluşan çok basit bir program olan bir Merhaba Dünya projesidir. İkincisi, girdi olarak girilen sayıdan daha küçük olan en büyük öğeye kadar bir Fibonacci dizisi yazdırır. Fibonacci dizisi, her bir sayının kendinden önceki iki sayının toplamı olduğu, genellikle 0 ve 1 ile başlayan bir sayı dizisidir; ancak bu kötü niyetli görevde dizi 1 ve 2 ile başlamaktadır. Şekil 2 Fibonacci dizisi mücadelesinden örnek çıktı görüntüler. Çıktı yazdırıldıktan sonra, her iki yürütülebilir dosya da ISO imajlarından hedefin sistemine ek yükler yüklemek gibi kötü niyetli bir eylemi tetikler. Hedeflenen bir geliştiricinin görevi, programın mantığını anlamak ve C++ programlama dilinde yeniden yazmaktır.
İlk uzlaşmaya yol açan olaylar zinciri şu şekilde özetlenmiştir. Hedefin sistemine gönderilen ilk yük, NickelLoader adını verdiğimiz bir HTTP(S) indiricisidir. Bu araç saldırganların istedikleri herhangi bir programı kurbanın bilgisayarının belleğine yerleştirmesine olanak tanır.
UZLAŞMA SONRASI ARAÇ SETİ
NickelLoader hedefin sisteminde çalıştığında, saldırganlar bunu iki tür RAT sunmak için kullanır. Bu RAT’lardan birinin Lazarus araç setinin bir parçası olduğu zaten biliniyor, özellikle de BlindingCan arka kapısının sınırlı işlevselliğe sahip ancak aynı komut işleme mantığına sahip bir varyantı. Bunu ayırt etmek için varyantın adının önüne mini- ön ekini koyduk. Ek olarak, saldırganlar daha önce kamuya açık olarak belgelenmemiş bir RAT’ı tanıttı ve biz buna LightlessCan adını verdik.
RAT’lar, farklı karmaşıklık seviyelerine sahip aşamalar zincirinin son adımı olarak konuşlandırılır ve öncesinde dropper ve loader gibi yardımcı yürütülebilir dosyalar bulunur. Dosya sistemine bırakılmayıp doğrudan belleğe yüklenip çalıştırılsa bile gömülü bir yük içeriyorsa bir yürütülebilir dosyayı dropper olarak adlandırıyoruz. Şifrelenmiş gömülü bir veri dizisine sahip olmayan, ancak dosya sisteminden bir yük yükleyen kötü amaçlı yazılımları yükleyici olarak adlandırıyoruz.
Sınavla ilgili ilk cazibelerin yanı sıra, Tablo 1 kurbanın sistemine gönderilen yürütülebilir dosyaları (EXE’ler) ve dinamik bağlantı kitaplıklarını (DLL’ler) özetlemektedir. Üçüncü sütundaki tüm kötü amaçlı yazılım örnekleri, kötü amaçlı bir DLL’yi yan yükleyen yasal bir yürütülebilir dosya ile trojanlaştırılmış açık kaynaklı uygulamalardır (temel proje için dördüncü sütuna bakın). Örneğin, kötü amaçlı mscoree.dll meşru NppyPluginDll’in truva atına dönüştürülmüş bir versiyonudur; DLL gömülü bir NickelLoader içerir ve her ikisi de C:\ProgramShared dizininde bulunan meşru PresentationHost.exe tarafından yüklenir.
Tablo 1. Saldırıya dahil olan ikili dosyaların özeti
Konum dizini | Meşru ebeveyn süreci | Kötü amaçlı yan yüklenmiş DLL | Truva atlı proje (yük) |
C:\ProgramPaylaşılan\ | PresentationHost.exe | mscoree.dll | NppyPluginDll (NickelLoader) |
C:\ProgramData\Adobe\ | colorcpl.exe | colorui.dll | LibreSSL 2.6.5 (miniBlindingCan) |
C:\ProgramData\Oracle\Java\ | fixmapi.exe | mapistub.dll | Notepad++ 1.4.0.0 için Lua eklentisi (LightlessCan) |
C:\ProgramData\Adobe\ARM\ | tabcal.exe | HID.dll | Notepad++ 3.2 için MZC8051 (LightlessCan) |
LIGHTLESSCAN – YENİ ARKA KAPI
Bu kampanyada kullanılan en ilginç yük, grubun BlindingCan adlı amiral gemisi HTTP(S) Lazarus RAT’ın bir halefi olan LightlessCan’dir. LightlessCan, özel bir fonksiyon tablosunda indekslenmiş 68 farklı komuta kadar desteği olan yeni bir karmaşık RAT’tır, ancak mevcut sürüm olan 1.0’da bu komutların yalnızca 43’ü bazı işlevlerle uygulanmaktadır. Geri kalan komutlar mevcut ancak gerçek işlevsellikten yoksun yer tutucular şeklinde resmi bir uygulamaya sahipler. RAT’ın arkasındaki proje kesinlikle BlindingCan kaynak koduna dayanmaktadır, çünkü paylaşılan komutların sırası, indekslemelerinde farklılıklar olsa bile önemli ölçüde korunmuştur.
En önemli güncelleme, ping, ipconfig, systeminfo, sc, net gibi birçok yerel Windows komutunun taklit edilmiş işlevselliğidir. ERROR_SUCCESS sonucu için standart sistem mesajı olan “İşlem başarıyla tamamlandı.” kodlanmış dizesi bizi bu fikre getirdi. Tablo 2 LightlessCan’de uygulanan bu komutların bir listesini içerir. Positive Technologies tarafından Nisan 2021’de ve HvS Consulting tarafından Aralık 2020’de yayınlanan blog yazılarında belgelendiği üzere, daha önce bildirilen Lazarus saldırılarında, bu yerel komutlar genellikle saldırganlar hedefin sisteminde bir yer edindikten sonra birçok durumda çalıştırılmaktadır. Ancak bu durumda, bu komutlar sistem konsolunda görünür bir şekilde yürütülmek yerine RAT’ın kendi içinde gizlice yürütülür. Bu yaklaşım, hem EDR’ler gibi gerçek zamanlı izleme çözümlerinden hem de dijital adli tıp araçlarından kaçmak için gizlilik açısından önemli bir avantaj sunmaktadır. Dahili sürüm numarası (1.0), bunun saldırganlar tarafından yeni bir geliştirme çabasını temsil ettiğini göstermektedir.
Windows’un temel yardımcı programları tescilli olduğundan ve açık kaynaklı olmadığından, LightlessCan geliştiricileri bir seçimle karşı karşıya kalmıştır: ya kapalı kaynaklı sistem ikili dosyalarında tersine mühendislik yapmak ya da Linux, macOS veya ChromeOS gibi diğer platformlarda yürütülmelerini taklit etmek için birçok programın yeniden yazıldığı Wine projesi aracılığıyla mevcut koddan ilham almak. LightlessCan’de taklit ettikleri ilgili Wine programları biraz farklı uygulandığından ya da hiç uygulanmadığından (örneğin, netsh) geliştiricilerin ilk seçeneği seçtiğine inanma eğilimindeyiz.
İlginç bir şekilde, analiz ettiğimiz vakalardan birinde LightlessCan yükü, ele geçirilen makinede şifrelenmiş bir dosyada saklanır ve bu dosyanın şifresi yalnızca ortama bağlı bir anahtar kullanılarak çözülebilir. Bununla ilgili daha fazla ayrıntı Yürütme zinciri 3: LightlessCan (karmaşık sürüm) bölümünde bulunabilir. Bu, yükün yalnızca hedeflenen kurbanın bilgisayarında şifresinin çözülebilmesini ve örneğin bir güvenlik araştırmacısının cihazında çözülememesini sağlamak içindir.
Tablo 2. Windows komut istemindekileri taklit eden LightlessCan komutlarının listesi
Dizin | Açıklama |
33 | Windows komut isteminden ipconfig komutunu taklit edin; bkz. Şekil 4. |
34 | Windows isteminden net komutunu taklit edin; bkz. Şekil 5. |
35 | Windows isteminden netsh advfirewall firewall komutunu taklit edin; bkz. Şekil 4. |
36 | Windows isteminden netstat komutunu taklit edin. |
37 | Windows isteminden ping -6 komutunu taklit edin. |
38 | Windows isteminden reg komutunu taklit edin; bkz. Şekil 7. |
39 | Windows isteminden sc komutunu taklit edin; bkz. Şekil 8. |
40 | Windows isteminden ping komutunu taklit edin. |
41 | Windows isteminden tasklist komutunu taklit edin. |
42 | Windows isteminden wmic process call create komutunu taklit edin; bkz. Şekil 9. |
43 | Windows Server isteminden nslookup komutunu taklit edin. |
44 | Windows isteminden schstasks komutunu taklit edin; bkz. Şekil 10. |
45 | Windows isteminden systeminfo komutunu taklit edin. |
46 | Windows isteminden arp komutunu taklit edin. |
47 | Windows isteminden mkdir komutunu taklit edin. |
Ayrıca, RAT’ın dahili yapılandırması incelendiğinde, BlindingCan ile karşılaştırıldığında, Lazarus’un LightlessCan’deki kod karmaşıklığını artırdığı görülmektedir.
TEKNİK ANALİZ
Bu bölümde, NickelLoader indiricisini sağlayan ele geçirme zinciri ve Lazarus’un ele geçirilmiş sisteme yüklerini göndermek için kullandığı üç yürütme zinciri hakkında teknik ayrıntılar sunuyoruz.
Uzlaşma zinciri: NickelLoader
NickelLoader, DLL yan yüklemesi yoluyla tehlikeye atılmış sistemde çalıştırılan ve daha sonra diğer Lazarus yüklerini teslim etmek için kullanılan bir HTTP(S) indiricisidir.
NickelLoader’ı teslim etme süreci, hedefin ilk sınav zorluklarını manuel olarak yürütmesinin ardından otomatik olarak tetiklenen PresentationHost.exe’nin yürütülmesiyle başlayan bir dizi aşamada gerçekleşir; Quiz1 vakası şu şekilde tasvir edilmiştir Şekil 3. Kötü amaçlı dinamik olarak bağlı bir kütüphane olan mscoree.dll daha sonra meşru PresentationHost.exe tarafından yan yüklenir – her ikisi de C:\ProgramShared\ konumundadır. Bu DLL, 2011 tarihli Notepad++ projesi için etkin olmayan General Python Plugins DLL‘den truva atı haline getirilmiş bir NppyPluginDll.dll’dir. Bir dropper görevi görür ve çeşitli dışa aktarımlara sahiptir: orijinal NppyPluginDll.dll’den kopyalanan tüm dışa aktarımlar artı meşru mscoree.dll’den tüm dışa aktarımlar. Bu meşru dışa aktarımlardan biri olan CorExitProcess, bir sonraki kötü amaçlı yazılım aşamasının şifresinin çözülmesinden ve yürütülmesinden sorumlu kötü amaçlı kodu içerir.
Dropper içine gömülü şifrelenmiş bir veri dizisinin şifresini başarıyla çözmek için, dropper tarafından 16 karakter uzunluğunda üç anahtar kelime gereklidir. Bu anahtar kelimeler aşağıdaki gibidir:
- üst sürecin adı (PresentationHost),
- ikili dosyada sabit kodlanmış dahili parametre (9zCnQP6o78753qg8) ve
- komut satırında aktarılan harici parametre (embeddingObject), PresentationHost.exe’nin ana işleminden miras alınır ve Quiz1.exe veya Quiz2.exe tarafından sağlanır.
Anahtar kelimeler bayt bayt XOR’lanır ve çıktı AES-128 şifre çözme anahtarını oluşturur.
Yük, her biri beş harf uzunluğunda dört komutu tanıyan bir HTTP(S) indiricisidir, aşağıda gösterilmiştir Tablo 3. Bu beş harfli komutlar nedeniyle, bu yükü ABD’nin beş sentlik madeni parası olan nikelden esinlenerek “NickelLoader” olarak adlandırmayı seçtik. En önemli komutlar avdrq ve gabnc’dir. Bu komutlar verildiğinde, her biri C&C sunucusundan alınan verileri bir DLL olarak yükler. Saldırganlar bu amaçla muhtemelen bir DLL’yi tamamen bellekten yüklemek için kullanılabilen bir kütüphane olan MemoryModule‘u kullanmışlardır.
Tablo 3. Alınan arabelleklerde tanınan sihirli anahtar sözcüklerin listesi
Anahtar Kelime | Açıklama |
abcde | Komutların yürütülmesini ayıran olağan uzun uyku gecikmesi olmadan başka bir acil komut ister. |
avdrq | Alınan arabellekte bulunan bir DLL’yi yükler ve kodlanmış dışa aktarma bilgisini çalıştırır. |
gabnc | Alınan arabellekte bulunan bir DLL’yi yükler. |
dcrqv | Kendini sonlandırır. |
Yürütme zinciri 1: miniBlindingCan
NickelLoader tarafından indirilen ve çalıştırılan yüklerden biri, grubun amiral gemisi BlindingCan RAT’ın basitleştirilmiş bir versiyonu olan miniBlindingCan’dir. İlk kez Eylül 2022’de Mandiant tarafından AIRDRY.V2 adı altında rapor edilmiştir.
miniBlindingCan’i yüklemek için, 64 bitlik kötü amaçlı dinamik olarak bağlı kütüphane colorui.dll, C:\ProgramData\Adobe\ adresinden çalıştırılan meşru bir colorcpl.exe tarafından yan yüklenir ve bir dropper görevi görür. DLL, VMProtect kullanılarak gizlenmiştir ve bir sonraki aşamanın yürütülmesini gerçekleştirdiği için LaunchColorCpl’in en önemli olduğu binlerce dışa aktarım içerir. DLL’nin dökülen gövdesinde, kök dizini ve oluşturulduğu projeyi ortaya çıkaran birden fazla hata ayıklama sembolü ile birlikte şifrelenmiş bir veri dizisi vardır:
W:\Develop\aTool\ShellCodeLoader\App\libressl-2.6.5\
ShellCodeLoader adından da anlaşılacağı üzere, bu ilk aşamanın temel amacı shellcode içeren veri dizisinin şifresini çözmek ve gövdesinden yüklemektir. ShellCodeLoader, yürütülmesinin başlangıcında, hata ayıklama araçları tarafından incelenip incelenmediğini veya analiz edilip edilmediğini belirlemek için Süreç Ortamı Bloğu (PEB) yapısı içindeki BeingDebugged değerini inceleyerek hata ayıklama önleme tekniklerini kullanır ve güvenlik analizi için tasarlanmış korumalı ortamlarda tespit edilmekten kaçınmak için anti-sandbox tekniklerini kullanır. Kötü amaçlı yazılım ayrıca ana sürecinin colorcpl.exe olup olmadığını açıkça kontrol eder; değilse hemen çıkar.
Şifresi çözülen veri dizisi tam bir DLL değildir, ancak iki bölümden oluşan bir ara blob oluşturur: shellcode ve ardından zincirin son adımını temsil eden başka bir şifrelenmiş veri dizisi. Kabuk kodu, açık kaynaklı ShellcodeRDI projesinin bir örneği tarafından üretilmiş gibi görünüyor – özellikle ShellcodeRDI.c kodu. Muhtemelen bu projedeki ConvertToShellcode.py Python betiğinin yansıtıcı DLL enjeksiyonu için kaynak görevi gören bir yük DLL’si üzerinde çalıştırılmasıyla üretilmiştir.
Nihai yük, ana işlemin adı (colorcpl.exe), dropper dosya adı (colorui.dll) ve harici komut satırı parametresinin birleştirilmesiyle oluşturulan bir dize olan uzun bir anahtarla XOR kullanılarak çıkarılır ve şifresi çözülür – bu durumda COLORCPL.EXECOLORUI.DLL669498484488D3F22712CC5BACA6B7A7 ile sonuçlanır. Bu süreç, daha önce bu WeLiveSecurity blog yazısında anlattığımız Hollanda vakasında BlindingCan arka kapısı ile gözlemlediğimiz sürece benzemektedir. Şifre çözme işlemi, komut gönderme ve ayrıştırma iç mantığı, HTTP(S) Lazarus RAT’ının amiral gemisi olan BlindingCan’i güçlü bir şekilde anımsatan indirme ve çalıştırma işlevselliğine sahip bir yürütülebilir dosyayı ortaya çıkarır. Hollanda’daki durumun aksine, VMProtect-ed değildir ve daha önce mevcut olan komutların yalnızca küçük bir alt kümesini destekler: karşılaştır Tablo 4 bu blog yazısında ve Eylül 2022’de Hollanda vakasıyla ilgili blog yazısındaki Tablo 3’te yer almaktadır. Bu RAT’ın özellikleri BlindingCan’dekilere kıyasla önemli ölçüde küçültülmüş olduğundan ve yine de aynı sunucu tarafı altyapısını paylaşıyor gibi göründüklerinden, tam özellikli RAT muadiline kıyasla azaltılmış işlevselliğini vurgulamak için adına “mini-” ön ekini ekleyerek ayırt etmeyi seçtik.
Tablo 4. miniBlindingCan komutları
Komut Kimliği | Açıklama |
8201 | Bilgisayar adı, Windows sürümü ve kod sayfası gibi sistem bilgilerini gönderir. |
8232 | Geçerli iletişim aralığını C&C sunucusu tarafından sağlanan bir değerle günceller. |
8233 | Komutun yürütülmesini durdurur. |
8241 | C&C sunucusuna 9.392 bayt boyutundaki geçerli yapılandırmayı gönderir. |
8242 | Dosya sisteminde şifrelenmiş olarak saklanan 9.392 bayt boyutundaki yapılandırmayı günceller. |
8247 | Bir sonraki komut için bekler. |
8248 | Geçerli iletişim aralığını yapılandırmada saklanan bir değerle günceller. |
8274 | C&C sunucusundan bir dosya indirir ve şifresini çözer. |
8279 | Parametre olarak geçirilen kabuk kodunu çalıştırır. |
Şekil 11 RAT’a gömülü 9.392 bayt uzunluğundaki bir yapılandırmanın şifresi çözülmüş halini gösterir. Her biri maksimum 260 genişkarakter boyutuyla sınırlandırılmış beş URL, bu durumda güvenliği ihlal edilmiş web siteleri içeriyor.
Yürütme zinciri 2: LightlessCan (basit versiyon)
NickelLoader tarafından çalıştırıldığını gördüğümüz bir diğer yük ise yeni bir Lazarus arka kapısı olan LightlessCan. Bu arka kapıyı yükleyen iki farklı zincir gözlemledik.
Zincirin basit versiyonunda, bu yükün dropper, C:\ProgramData\Oracle\Java\ adresinden çalıştırılan meşru fixmapi.exe tarafından yan yüklenen kötü amaçlı dinamik olarak bağlı kitaplık mapistub.dll’dir. DLL, meşru Windows mapi32.dll’den kopyalanan tüm dışa aktarımlarla birlikte 1.4 sürümünde truva atı haline getirilmiş bir Lua eklentisidir. FixMAPI dışa aktarımı, bir sonraki aşamanın şifresinin çözülmesinden ve yüklenmesinden sorumlu kötü amaçlı kod içerir; diğer tüm dışa aktarımlar, halka açık bir MineSweeper örnek projesinden elde edilen iyi huylu kod içerir. Bu mapistub.dll dropperı, zamanlanmış bir görev aracılığıyla kurulan kalıcılığa sahiptir. Ne yazık ki, ana işleminin %WINDOWS%\system32\svchost.exe -k netsvcs -p -s Schedule olarak görünmesi dışında bu görev hakkında ek ayrıntılara sahip değiliz.
Gömülü veri dizisinin şifresini başarılı bir şekilde çözmek için dropper üç anahtar kelimenin doğru bir şekilde sağlanmasına ihtiyaç duyar:
- üst sürecin adı (fixmapi.exe),
- ikili dosyada sabit kodlanmış dahili parametre (IP7pdINfE9uMz63n) ve
- komut satırında aktarılan harici parametre (AudioEndpointBuilder).
Anahtar kelimeler bayt bayt XOR’lanır ve çıktı, şifre çözme için kullanılacak 128 bitlik bir AES anahtarı oluşturur. Anahtar sözcüklerin uzunluğunun tam olarak 16 bayt olmadığına dikkat edin, ancak büyük boyutlu dize 16 bayt uzunluğunda kesilirse (örneğin, AudioEndpointBuilder’dan AudioEndpointBui’ye) şifre çözme işlemi yine de çalışacaktır ve küçük boyutlu dize, fixmapi.exe, fixmapi.exe\x00\x00\x00\x00\x00 olarak değerlendirilir, çünkü dize NUL karakterinin 260 örneği olarak başlatılmıştır.
Yürütme zinciri 3: LightlessCan (karmaşık versiyon)
Ele geçirilen sistemde gözlemlediğimiz en karmaşık zincir LightlessCan’i de sağlamaktadır ve kurulum aşamalarının tamamında çeşitli bileşenler yer almaktadır: meşru bir uygulama, bir başlangıç dropper’ı, tam bir dropper (yapılandırmayı içeren), bir ara dropper, bir yapılandırma dosyası, sistem bilgilerini içeren bir dosya (dosya sistemindeki şifrelenmiş yüklerin şifresini çözmek için), bir ara yükleyici ve son adım olan LightlessCan RAT. Bu dosyalar arasındaki bağlantılar ve ilişkiler şu şekilde gösterilmiştir.
Dördüncü zincirin ilk damlası, C:\ProgramData\Adobe\ARM\ adresinden çalıştırılan tabcal.exe adlı meşru bir yürütülebilir dosya tarafından yan yüklenen kötü amaçlı dinamik olarak bağlı bir kitaplık olan HID.dll’dir. DLL, Notepad++ için 8051 C derleyici eklenti projesinden meşru bir dosya olan MZC8051.dll’in truva atı haline getirilmiş bir sürümüdür. Orijinal projedeki tüm dışa aktarımların yanı sıra Microsoft’un yasal Hid Kullanıcı Kitaplığı’ndan gerekli dışa aktarımları da içerir, böylece tabcal.exetarafından yan yükleme başarılı olur. HidD_GetHidGuid dışa aktarımı, bir sonraki aşamayı düşürmekten sorumlu kötü amaçlı kodu içerir ve önceki zincirin (Yürütme zinciri 2) düşürücüsünde olduğu gibi, diğer tüm dışa aktarımlar iyi huylu MineSweeper kodunu içerir.
Önceki durumlarda olduğu gibi, gömülü yükün şifresini çözmek için üç uzun anahtar kelime sağlanmalıdır:
- üst sürecin adı (tabcal.exe),
- ikili dosyada sabit kodlanmış dahili parametre (9zCnQP6o78753qg8) ve
- harici parametre (LocalServiceNetworkRestricted) – bu kez bir komut satırı parametresi olarak değil, %WINDOWS%\system32\thumbs.db adresinde bulunan bir dosyanın içeriği olarak ifade edilir.
Yine, anahtar kelimeler bayt bayt XOR’lanır ve çıktı, şifre çözme için kullanılacak 128 bitlik bir AES anahtarı oluşturur. Önceki durumda olduğu gibi, anahtar sözcüklerin uzunluklarının hepsi tam olarak 16 bayt değildir, ancak büyük boyutlu dize kesilirse (örneğin, LocalServiceNetw’ye) ve küçük boyutlu dize boşlarla genişletilirse (örneğin, tabcal.exe\x00\x00\x00\x00\x00\x00) şifre çözme yine de çalışacaktır.
Yukarıdaki tarifin ürettiği çalıştırılabilir dosya, aşağıdakilerden tam droppertır Şekil 12 ve AppResolver.dll (VERSIONINFO kaynağında bulunan) InternalName kaynağına sahiptir. İki şifrelenmiş veri dizisi içerir: 126 baytlık küçük bir dizi ve 1.807.464 baytlık büyük bir dizi (üç alt bölüm içerir). İlk olarak, RC6 algoritmasını kullanarak küçük dizinin şifresini 256 bitlik DA 48 A3 14 8D BF E2 D2 EF 91 12 11 FF 75 59 A3 E1 6E A0 64 B8 78 89 77 A0 37 91 58 5A FF FF 07 kodlu anahtarla çözer. Çıktı, büyük blobun ilk iki alt parçasının bırakıldığı yolları (yani LightlessCan ve ara dropper) temsil eder ve C:\windows\system32\oci.dll ve C:\windows\system32\grpedit.dat dizelerini verir.
Ardından, daha önce olduğu gibi aynı şifreleme anahtarını kullanarak ikinci veri dizisinin – büyük blobun – şifresini çözmeye devam eder. Sonuç, üç alt parça içeren şifresi çözülmüş bir blobdur: grpedit.dat (LightlessCan) dosyasına karşılık gelen bir DLL, oci.dll (ara dropper) dosyasına karşılık gelen bir DLL ve %WINDOWS%\System32\wlansvc.cpl (yapılandırma) dosyasına bırakılan 14.948 baytlık şifrelenmiş bir dosya; aşağıda gösterildiği gibi.
Ayrıca, komple dropper, adı ikili dosyada sabit kodlanmış olan %WINDOWS%\System32\4F59FB87DF2F dosyasında ele geçirilen sistemi tanımlayan çeşitli özellikleri de depolar. Bu özellikler öncelikle Computer\HKLM\HARDWARE\DESCRIPTION\System\BIOSkayıt defteri yolundan alınır. Burada, bu özelliklerin belirli değerleri ve herhangi bir Windows makinesinde ilgili değeri görüntülemek için kullanılabilecek parantez içinde verilen bir PowerShell komutu bulunmaktadır:
- SystemBIOSDate (Get-ItemProperty “HKLM:\HARDWARE\Description\System\BIOS” -Name BIOSReleaseDate | Select-Object -Property BIOSReleaseDate)
- SystemBIOSVersion (Get-CimInstance -ClassName Win32_Bios | Select-Object -Property Version)
- SystemManufacturer (Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object -Property Manufacturer)
- SystemProductName (Get-CimInstance -ClassName Win32_ComputerSystemProduct | Select-Object -Property Name)
- Bilgisayar\HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\MultifunctionAdapter\0\DiskController\0\DiskPeripheral\0içindeki tanımlayıcı
Değerlerin birleştirilmesi, şifrelenmiş grpedit.dat dosyasının dosya sisteminden çözülmesi için gereklidir. VMWare üzerinde Windows 10 imajı çalıştıran bir test makinesinde çıktı şu şekilde olabilir:
11/12/20INTEL – 6040000VMware, Inc.VMware Virtual Platform656ba047-20b25a2a-A
Oci.dll dosyası başka bir düşürme katmanıdır – daha önce bahsedilen Hollanda vakasında açıklanana benzer bir yük olan ara yükleyiciyi düşüren ara dropper. Saldırganlar yine açık kaynaklı bir proje olan ve artık çevrimiçi olarak bulunmayan Notepad++ için Flashing Tip eklentisini kullanmışlardır. Önceki vakaların aksine, AES-128 kullanarak gömülü yükün şifresini başarılı bir şekilde çözmek için yalnızca iki uzun anahtar kelime sağlanmalıdır:
- üst sürecin adı (msdtc.exe) ve
- ikili dosyada sabit kodlanmış dahili parametre (fb5XPNCr8v83Y85P).
Her iki anahtar kelime de bayt bayt XOR’lanır (ana işlem adı 16 baytı doldurmak için gerektiği şekilde kesilir veya NULL’larla doldurulur). Şifre çözme işleminin ürünü ara yükleyicidir (LLTMapperAPI.dll). Sistem bilgilerini (4F59FB87DF2F’de saklanan değerlerle aynı) wlansvc.cpl yapılandırma dosyasının şifresini çözmek ve yeni tam özellikli RAT olan LightlessCan olan şifrelenmiş grpedit.dat dosyasını bulmak, şifresini çözmek ve yüklemek için kullanır.
SONUÇ
LinkedIn’de ortaya çıkan ve sahte işe alım uzmanlarının kurumsal bilgisayarları kişisel amaçlarla kullanan potansiyel kurbanlarına yaklaştığı yeni bir Lazarus saldırısını tanımladık. Bu tür saldırılara karşı kamuoyu farkındalığının yüksek olması gerekse de bu kampanyaların başarı oranları hala sıfıra düşmüş değil.
Saldırının en endişe verici yönü, tasarımı ve işleyişinde yüksek düzeyde karmaşıklık sergileyen ve selefi BlindingCan’e kıyasla kötü niyetli yeteneklerde önemli bir ilerlemeyi temsil eden karmaşık ve muhtemelen gelişen bir araç olan LightlessCan adlı yeni yük türüdür.
Saldırganlar artık ele geçirme sonrası faaliyetlerinde yoğun olarak kullandıkları favori Windows komut satırı programlarının yürütme izlerini önemli ölçüde sınırlayabilirler. Bu manevra, hem gerçek zamanlı izleme çözümlerinin hem de dijital adli tıp araçlarının etkinliğini etkileyen geniş kapsamlı etkilere sahiptir.
IOC’LER
Dosyalar
SHA-1 | Dosya adı | Algılama | Açıklama |
C273B244EA7DFF20B1D6B1C7FD97F343201984B3 | %TEMP%\7zOC35416EE\Quiz1.exe | Win64/NukeSped.KT | Uzlaşmayı tetikleyen “Merhaba Dünya” meydan okuması olarak gizlenmiş bir ilk dropper. |
38736CA46D7FC9B9E5C74D192EEC26F951E45752 | %TEMP%\7zOCB3CC96D\Quiz2.exe | Win64/NukeSped.KT | Uzlaşmayı tetikleyen “Fibonacci dizisi” meydan okuması olarak gizlenmiş bir ilk dropper. |
C830B895FB934291507E490280164CC4234929F0 | ALLUSERSPROFILE%\Adobe\colorui.dll | Win64/NukeSped.KV | Meşru colorcpl.exe tarafından yandan yüklenen VMProtect korumalı bir dropper. W:\Develop\aTool\ShellCodeLoader\App\libressl-2.6.5 hata ayıklama bilgi dizesini içerir. |
8CB37FA97E936F45FA8ECD7EB5CFB68545810A22 | N/A | Win64/NukeSped.KU | miniBlindingCan arka kapısı colorui.dll tarafından düşürüldü. |
0F33ECE7C32074520FBEA46314D7D5AB9265EC52 | ALLUSERSPROFILE%\Oracle\Java\mapistub.dll | Win64/NukeSped.KW | Meşru fixmapi.exe tarafından yan yüklenmiş bir LightlessCan dropperı. |
C7C6027ABDCED3093288AB75FAB907C598E0237D | N/A | Win64/NukeSped.KW | mapistub.dll tarafından açılan bir LightlessCan arka kapısı. |
C136DD71F45EAEF3206BF5C03412195227D15F38 | C:\ProgramShared\mscoree.dll | Win64/NukeSped.KT | PresentationHost.exe tarafından yandan yüklenen bir NickelLoader dropperı. Sınavla ilgili her iki örnek tarafından da düşürülür: C273B244EA7DFF20B1D6B1C7FD97F343201984B3 and 38736CA46D7FC9B9E5C74D192EEC26F951E45752. |
E61672B23DBD03FE3B97EE469FA0895ED1F9185D | N/A | Win64/NukeSped.KT | NickelLoader adını verdiğimiz bir HTTPS indiricisi, mscoree.dll tarafından bırakıldı. |
E18B9743EC203AB49D3B57FED6DF5A99061F80E0 | ALLUSERSPROFILE%\Adobe\ARM\HID.dll | Win64/NukeSped.KX | Meşru tabcal.exe tarafından yan yüklenen bir ilk dropper. |
10BD3E6BA6A48D3F2E056C4F974D90549AED1B96 | N/A | Win64/NukeSped.KT | Tam dropper AppResolver.dll LightlessCan teslimat karmaşık zincirinde HID.dll tarafından düştü. |
3007DDA05CA8C7DE85CD169F3773D43B1A009318 | WINDIR%\system32\grpedit.dat | Win64/NukeSped.KW | Bir LightlessCan arka kapısı, karmaşık dağıtım zincirinin içine düşmüştür. |
247C5F59CFFBAF099203F5BA3680F82A95C51E6E | WINDIR%\system32\oci.dll | @Trojan.Win64/NukeSped.MI | Ara dropper, LightlessCan teslimatının karmaşık zincirindeki ara yükleyiciyi düşürür. |
EBD3EF268C71A0ED11AE103AA745F1D8A63DDF13 | N/A | Win64/NukeSped.KT | LightlessCan’in ara yükleyicisi. |
Şebeke
IP | Etki Alanı | Barındırma sağlayıcısı | İlk görüldüğünde | Detaylar |
46.105.57[.]169 | bug.restoroad[.]com | OVH SAS | 2021-10-10 | C&C sunucusunu barındıran güvenliği ihlal edilmiş yasal bir site:http://bug.restoroad[.]com/admin/view_status.php |
50.192.28[.]29 | hurricanepub[.]com | Comcast Cable Communications, LLC | 2020-01-06 | C&C sunucusunu barındıran güvenliği ihlal edilmiş yasal bir site:https://hurricanepub[.]com/include/include.php |
67.225.140[.]4 | turnscor[.]com | Liquid Web, L.L.C | 2020-01-03 | C&C sunucusunu barındıran, güvenliği ihlal edilmiş yasal bir WordPress tabanlı site:https://turnscor[.]com/wp-includes/contacts.php |
78.11.12[.]13 | mantis.quick.net[.]pl | Netia SA | 2021-03-22 | C&C sunucusunu barındıran güvenliği ihlal edilmiş yasal bir site:http://mantis.quick.net[.]pl/library/securimage/index.php |
89.187.86[.]214 | www.radiographers[.]org | Coreix Ltd | 2020-10-23 | C&C sunucusunu barındıran güvenliği ihlal edilmiş yasal bir site:https://www.radiographers[.]org/aboutus/aboutus.php |
118.98.221[.]14 | kapata-arkeologi.kemdikbud.go[.]id | Pustekkom | 2020-01-02 | C&C sunucusunu barındıran güvenliği ihlal edilmiş yasal bir site:https://kapata-arkeologi.kemdikbud.go[.]id/pages/payment/payment.php |
160.153.33[.]195 | barsaji.com[.]mx | GoDaddy.com, LLC | 2020-03-27 | C&C sunucusunu barındıran güvenliği ihlal edilmiş yasal bir site:http://barsaji.com[.]mx/src/recaptcha/index.php |
175.207.13[.]231 | www.keewoom.co[.]kr | Kore Telekom | 2021-01-17 | C&C sunucusunu barındıran güvenliği ihlal edilmiş yasal bir site:http://www.keewoom.co[.]kr/prod_img/201409/prod.php |
178.251.26[.]65 | kerstpakketten.horesca-meppel[.]nl | InterRacks B.V. | 2020-11-02 | C&C sunucusunu barındıran, güvenliği ihlal edilmiş yasal bir WordPress tabanlı site:https://kerstpakketten.horesca-meppel[.]nl/wp-content/plugins/woocommerce/lib.php |
185.51.65[.]233 | kittimasszazs[.]hu | DoclerNet Operasyonları, ORG-DHK1-RIPE | 2020-02-22 | C&C sunucusunu barındıran güvenliği ihlal edilmiş yasal bir site:https://kittimasszazs[.]hu/images/virag.php |
199.188.206[.]75 | nrfm[.]lk | Namecheap, Inc. | 2021-03-13 | C&C sunucusunu barındıran, güvenliği ihlal edilmiş yasal bir WordPress tabanlı site:https://nrfm[.]lk/wp-includes/SimplePie/content.php |
MITRE ATT&CK TEKNİKLERİ
Bu tablo MITRE ATT&CK çerçevesinin 13. sürümü kullanılarak oluşturulmuştur.
Taktik | KIMLIK | İsim | Açıklama |
Keşif | T1593.001 | Açık Web Sitelerini/Alanlarını Ara: Sosyal Medya | Lazarus saldırganları, ilgilendikleri bir şirketin belirli çalışanlarını belirlemek ve onlarla iletişime geçmek için LinkedIn’i kullandı. |
Kaynak Geliştirme | T1584.004 | Altyapı Edinme: Sunucu | Güvenliği ihlal edilmiş sunucular Lazarus HTTP(S) arka kapıları ve C&C için indirme aracı tarafından kullanılmıştır. |
T158 5 .001 | Hesap Oluşturun: Sosyal Medya Hesapları | Lazarus saldırganları Meta’dan bir kelle avcısının sahte LinkedIn kimliğini oluşturdu. | |
T1585.003 | Hesap Oluşturun: Bulut Hesapları | Lazarus saldırganlarının ilk ISO imajlarını teslim etmek için üçüncü taraf bir bulut depolama alanında hesap oluşturmaları gerekiyordu. | |
T1587.001 | Yetenekleri Geliştirin: Kötü Amaçlı Yazılım | Saldırıdaki özel araçlar muhtemelen saldırganlar tarafından geliştirilmiştir. Bazıları daha önce Lazarus araçlarında görülen son derece spesifik çekirdek geliştirme kapasiteleri sergilemektedir. | |
T1608.001 | Sahne Yetenekleri: Kötü Amaçlı Yazılım Yükleme | Lazarus saldırganları ilk ISO görüntülerini bir bulut depolama alanına yükledi. | |
İlk Erişim | T1566.002 | Kimlik Avı: Spearphishing Bağlantısı | Hedef, kötü amaçlı ISO görüntüleri içeren üçüncü taraf bir uzak depolama alanına bağlantı aldı. |
T1566.003 | Kimlik Avı: Hizmet Yoluyla Zıpkınla Kimlik Avı | Hedefle LinkedIn Mesajlaşma aracılığıyla iletişime geçilmiştir. | |
Yürütme | T1106 | Yerel API | Windows API’leri miniBlindingCan ve LightlessCan’in çalışması için gereklidir ve çalışma zamanında dinamik olarak çözümlenir. |
T1053 | Zamanlanmış Görev/İş | Ana sürece bağlı olarak, LightlessCan yürütmesinin basit zincirini tetiklemek için muhtemelen zamanlanmış bir görev oluşturulmuştur. | |
T1129 | Paylaşılan Modüller | NickelLoader bellek içinde rastgele bir DLL yükleyebilir ve çalıştırabilir. | |
T1204.002 | Kullanıcı Yürütmesi: Kötü Amaçlı Dosya | Lazarus saldırganları ISO dosyalarından Quiz1.exe ve Quiz2.exe’nin yürütülmesine güveniyordu. | |
T1047 | Windows Yönetim Araçları | LightlessCan komutlarından biri WMI aracılığıyla yeni bir işlem oluşturulmasına izin verir. | |
Kalıcılık | T1053 | Zamanlanmış Görev/İş | Ana sürece bağlı olarak, LightlessCan yürütmesinin basit zincirini tetiklemek için muhtemelen zamanlanmış bir görev oluşturulmuştur. Dahası, LightlessCan schtasks komutunu taklit edebilir. |
Savunma Kaçırma | T1134.002 | Erişim Belirteci Manipülasyonu: Token ile İşlem Oluşturma | LightlessCan, belirtilen belirteç tarafından temsil edilen kullanıcının güvenlik bağlamında yeni bir işlem oluşturabilir ve çıktıyı toplayabilir. |
T1622 | Hata Ayıklayıcı Kaçırma | miniBlindingCan’in dropperda bir hata önleme kontrolü var. | |
T1480 | Yürütme Korkulukları | miniBlindingCan dropperta bir üst süreç kontrolü vardır. Değerlerin birleştirilmesi, şifrelenmiş LightlessCan’in dosya sisteminden şifresinin çözülmesi için gereklidir. | |
T1140 | Dosyaları veya Bilgileri Gizliliğini Kaldırma/Kodunu Çözme | Bu Lazarus araçlarının ve yapılandırmalarının çoğu dosya sisteminde şifrelenmiştir, örneğin grpedit.dat dosyasındaki LightlessCan ve wlansvc.cpl dosyasındaki yapılandırması. | |
T1574.002 | Hijack Yürütme Akışı: DLL Yan Yükleme | Lazarus damlatıcılarının ve yükleyicilerinin çoğu yükleme için yasal bir program kullanmaktadır. | |
T1027.002 | Gizlenmiş Dosyalar veya Bilgiler: Yazılım Paketleme | Lazarus bu saldırıda VMProtect tarafından birkaç yürütülebilir dosyayı gizlemiştir, örn. colorui.dll | |
T1027.007 | Gizlenmiş Dosyalar veya Bilgiler: Dinamik API Çözünürlüğü | Hem LightlessCan hem de miniBlindingCan Windows API’lerini dinamik olarak çözümler. | |
T1027.009 | Karartılmış Dosyalar veya Bilgiler: Gömülü Yükler | Tüm kötü niyetli zincirlerin dropperları, ek bir aşamaya sahip gömülü bir veri dizisi içerir. | |
T1562.003 | Savunmaları Bozun: Komut Geçmişi Günlüğünü Bozma | LightlessCan’in yeni özellikleri, orijinal konsol yardımcı programlarını çalıştırmaktan kaçınmak için en kullanışlı Windows komut satırı yardımcı programlarını taklit edebilir. | |
T1562.004 | Savunmaları Zayıflatın: Sistem Güvenlik Duvarını Devre Dışı Bırakma veya Değiştirme | LightlessCan, netsh komutunu taklit edebilir ve güvenlik duvarı kurallarıyla etkileşime girebilir. | |
T1070.004 | Gösterge Kaldırma: Dosya Silme | LightlessCan dosyaları güvenli bir şekilde silme özelliğine sahiptir. | |
T1070.006 | Gösterge Kaldırma: Timestomp | LightlessCan dosyaların değişiklik zaman damgalarını değiştirebilir. | |
T1202 | Dolaylı Komut Yürütme | LightlessCan, işlevlerini uygulayarak komut yürütmeyi atlar. | |
T1055 | Proses Enjeksiyonu | LightlessCan ve miniBlindingCan çeşitli tiplerde proses enjeksiyonu kullanır. | |
T1497.003 | Sanallaştırma/Sandbox Kaçırma: Zaman Tabanlı Kaçınma | miniBlindingCan dropperı kasıtlı bir ilk yürütme gecikmesine sahiptir. | |
T1620 | Yansıtıcı Kod Yükleme | Dropperların çoğu yansıtıcı DLL enjeksiyonu kullanır. | |
Keşif | T1083 | Dosya ve Dizin Bulma | LightlessCan bir dosyayı ismine göre bulabilir. |
T1135 | Ağ Paylaşımı Bulma | LightlessCan net share komutunu taklit edebilir. | |
T1057 | Süreç Keşfi | LightlessCan süreçleri adlarına göre tanımlar. | |
T1012 | Sorgu Kayıt Defteri | LightlessCan, şifreleme için kullandığı çeşitli sistem bilgileri için kayıt defterini sorgular. | |
T1018 | Uzaktan Sistem Keşfi | LightlessCan net view komutunu taklit edebilir. | |
T1016 | Sistem Ağı Yapılandırma Keşfi | LightlessCan, arp ve ipconfig komutlarını taklit edebilir. | |
T1049 | Sistem Ağ Bağlantıları Keşfi | LightlessCan netstat komutunu taklit edebilir. | |
T1007 | Sistem Hizmeti Keşfi | LightlessCan, sc sorgusu ve görev listesi komutlarını taklit edebilir. | |
Komuta ve Kontrol | T1071.001 | Uygulama Katmanı Protokolü: Web Protokolleri | NickelLoader, LightlessCan ve miniBlindingCan C&C için HTTP ve HTTPS kullanır. |
T1573.001 | Şifreli Kanal: Simetrik Kriptografi | LightlessCan ve miniBlindingCan, AES-128 algoritmasını kullanarak C&C trafiğini şifreler. | |
T1132.001 | Veri Kodlaması: Standart Kodlama | LightlessCan ve miniBlindingCan C&C trafiğini base64 kullanarak kodlar. | |
Sızma | T1041 | C2 Kanalı Üzerinden Sızma | LightlessCan verileri C&C sunucusuna sızdırabilir. |
REFERANSLAR
[1] Microsoft Security Threat Intelligence, “ZINC açık kaynaklı yazılımları silahlandırıyor,” 29 Eylül 2022. [Çevrimiçi]. Mevcut: https://www.microsoft.com/en-us/security/blog/2022/09/29/zinc-weaponizing-open-source-software/.
[2] D. Breitenbacher ve O. Kaspars, “Operation In(ter)ception: Havacılık ve askeri şirketler siber casusların hedefinde,” Haziran 2020. [Çevrimiçi]. Mevcut: https://www.welivesecurity.com/wp-content/uploads/2020/06/ESET_Operation_Interception.pdf.
[3] HvS-Consulting AG, “Lazarus’tan selamlar: Bir siber casusluk kampanyasının anatomisi,” 15 Aralık 2020. [Çevrimiçi]. Mevcut: https://www.hvs-consulting.de/media/downloads/ThreatReport-Lazarus.pdf.
[4] Positive Technologies Uzman Güvenlik Merkezi, “Lazarus Group İşe Alım: Tehdit Avcıları Kafa Avcılarına Karşı,” Positive Technologies, 27 Nisan 2021. [Çevrimiçi]. Mevcut: https://www.ptsecurity.com/ww-en/analytics/pt-esc-threat-intelligence/lazarus-recruitment/.
[5] P. Kálnai, “Hollanda’da Lazarus’un Amazon temalı kampanyaları,” 30 Eylül 2022. [Çevrimiçi]. Mevcut: https://www.welivesecurity.com/2022/09/30/amazon-themed-campaigns-lazarus-netherlands-belgium.
[6] P. Kálnai, “2022-2023 yıllarında Lazarus kampanyaları ve arka kapılar,” Virus Bulletin Uluslararası Konferansı, Londra, 2023.
[7] A. Martin, “Sony Pictures hacking traced to Thai hotel as North Korea denies involvement,” WeLiveSecurity.com, 08 Aralık 2014. [Çevrimiçi]. Mevcut: https://www.welivesecurity.com/2014/12/08/sony-pictures-hacking-traced-thai-hotel-north-korea-denies-involvement/.
[8] P. Kálnai ve M.-É. M.Leveillé, “Linux kötü amaçlı yazılımı Lazarus ve 3CX tedarik zinciri saldırısı arasındaki bağlantıları güçlendiriyor,” ESET, 20 Nisan 2023. [Çevrimiçi]. Mevcut: https://www.welivesecurity.com/2023/04/20/linux-malware-strengthens-links-lazarus-3cx-supply-chain-attack/.
[9] Defense Intelligence Agency, North Korea military power : a growing regional and global threat, Washington, D.C.: U.S. Government Publishing Office, 2021, s. 98.
[10] BM Uzmanlar Paneli, “BM Güvenlik Konseyi Kararları,” 1993-2023. [Çevrimiçi]. Mevcut: https://www.securitycouncilreport.org/un-documents/dprk-north-korea/.
[11] ESET Editörü, “WannaCryptor aka WannaCry: Anahtar sorular yanıtlandı,” WeLiveSecurity.com, 15 Mayıs 2017. [Çevrimiçi]. Mevcut: https://www.welivesecurity.com/2017/05/15/wannacryptor-key-questions-answered/.
[12] Güvenlik Konseyi Komitesi, “Yaptırımlar Komitesi (DPRK), Uzmanlar Paneli, Raporlar,” Birleşmiş Milletler Güvenlik Konseyi, 2010-2023. [Çevrimiçi]. Mevcut: https://www.un.org/securitycouncil/sanctions/1718/panel_experts/reports.
[13] ClearSky Araştırma Ekibi, “Operation ‘Dream Job’ Widespread North Korean Espionage Campaign,” 13 Ağustos 2020. [Çevrimiçi]. Mevcut: https://www.clearskysec.com/wp-content/uploads/2020/08/Dream-Job-Campaign.pdf.
[14] ESET Research, “Threat Report T1,” ESET, Haziran 2022. [Çevrimiçi]. Mevcut: https://web-assets.esetstatic.com/wls/2022/06/eset_threat_report_t12022.pdf.
[15] D. Staples, “An Improved Reflective DLL Injection Technique,” 30 Ocak 2015. [Çevrimiçi]. Mevcut: https://disman.tl/2015/01/30/an-improved-reflective-dll-injection-technique.html.
[16] J. Maclachlan, M. Potaczek, N. Isakovic, M. Williams ve Y. Gupta, “PuTTY Zamanı! WhatsApp üzerinden DPRK İş Fırsatı Kimlik Avı,” Mandiant, 14 Eylül 2022. [Çevrimiçi]. Mevcut: https://www.mandiant.com/resources/blog/dprk-whatsapp-phishing.
[17] S. Tomonaga, “Saldırganlar Tarafından Kötüye Kullanılan Windows Komutları,” JPCERT/CC, 26 Ocak 2016. [Çevrimiçi]. Mevcut: https://blogs.jpcert.or.jp/en/2016/01/windows-commands-abused-by-attackers.html.