MacOS NimDoor | KDHC Tehdit Aktörleri, Nim Tabanlı Kötü Amaçlı Yazılımlarla Web3 ve Kripto Platformlarını Hedef Alıyor

04 Aug 2025

· KDHC tehdit aktörleri, Web3 ve Kripto ile ilgili işletmeleri hedefleyen bir kampanyada Nim tarafından derlenmiş ikili dosyaları ve çoklu saldırı zincirlerini kullanıyor.

· macOS kötü amaçlı yazılımları için alışılmadık bir şekilde, tehdit aktörleri, WebSocket protokolünün TLS şifreli sürümü aracılığıyla bir işlem enjeksiyon tekniği ve uzaktan iletişim kullanır.wss

· Yeni bir kalıcılık mekanizması, kötü amaçlı yazılım sonlandırıldığında veya sistem yeniden başlatıldığında kalıcılığı yüklemek için SIGINT/SIGTERM sinyal işleyicilerinden yararlanır.

· Tehdit aktörleri, hem ilk erişim elde etmek için hem de daha sonra saldırı zincirinde hafif işaretler ve arka kapılar olarak işlev görmek için AppleScripts'i geniş çapta kullanır.

· Bash komut dosyaları, Anahtarlık kimlik bilgilerini, tarayıcı verilerini ve Telegram kullanıcı verilerini sızdırmak için kullanılır.

· SentinelLABS'ın analizi, daha önce bildirilen bileşenleri birbirine bağlayan yeni TTP'leri ve kötü amaçlı yazılım yapıtlarını vurgulayarak tehdit aktörlerinin gelişen oyun kitabına ilişkin anlayışımızı genişletiyor. Nisan 2025'te Huntabil.IT, bir Web3 girişimine yönelik hedefli bir saldırı gözlemledi ve olayı bir KDHC tehdit aktörü grubuna bağladı. O sırada sosyal medyada yer alan birkaç rapor, diğer Web3 ve Kripto kuruluşlarında da benzer olayları anlattı. Analiz, AppleScript, C++ ve Nim ile yazılmış eklektik bir komut dosyası ve ikili dosya karışımından oluşan bir saldırı zincirini ortaya çıkardı. Saldırının ilk aşamaları, sosyal mühendislik, cezbedici komut dosyaları ve sahte güncellemeler kullanan tanıdık bir DPRK modelini takip etse de, macOS'ta Nim tarafından derlenmiş ikili dosyaların kullanılması daha sıra dışı bir seçimdir. Huntress tarafından haziran ayı ortasında yayınlanan bir raporda, Huntabil.IT tarafından gözlemlenen benzer bir ilk saldırı zinciri, farklı sonraki aşama yükleri kullanılsa da tanımlandı.

SentinelLABS'ın Nisan olaylarında kullanılan yükler üzerindeki analizi, Nim aşamalarının şifreli yapılandırma işleme, Nim'in yerel çalışma zamanı etrafında oluşturulmuş eşzamansız yürütme ve daha önce macOS kötü amaçlı yazılımlarında görülmeyen sinyal tabanlı bir kalıcılık mekanizması gibi bazı benzersiz özellikler içerdiğini gösteriyor.

Bu gönderide, saldırı zincirine genel bir bakış ve C++ ve Nim tabanlı bileşenlerin teknik bir analizini sunuyoruz. Bu kötü amaçlı yazılım ailesini, işlevselliğine ve geliştirme özelliklerine bağlı olarak topluca NimDoor olarak adlandırıyoruz. Kötü amaçlı yazılımın mimarisine ilişkin uzlaşma göstergeleri ve içgörüler, savunucuların ve tehdit avcılarının ilgili etkinliği belirlemesine yardımcı olmak için sağlanır.

İlk Erişim ve Yük Teslimatı

Saldırı zinciri, artık tanıdık bir sosyal mühendislik vektörüyle başlar: Telegram üzerinden güvenilir bir kişinin kimliğine bürünmek ve hedefi Calendly aracılığıyla bir toplantı planlamaya davet etmek. Daha sonra hedefe bir Zoom toplantı bağlantısı ve "Zoom SDK güncelleme komut dosyası" olarak adlandırılan bir çalıştırma talimatı içeren bir e-posta gönderilir.

Saldırgan tarafından denetlenen bir etki alanı, adlı bir AppleScript dosyası barındırır. Bu komut dosyasının varyantları, bir kod yorumundaki kasıtsız gibi görünen yazım hatası yoluyla genel kötü amaçlı yazılım depolarında bulunabilir: yerine . Dosya, gerçek işlevini gizlemek için 10.000 satır boşluk içeren yoğun bir şekilde doldurulmuştur.zoom_sdk_support.scpt- - Zook SDK Update- - Zoom SDK Update

zoom_sdk_support.scpt, 10k satır boşlukla doldurulur; 'Zook' yazım hatasına ve sağ üstteki kaydırma çubuğuna dikkat edin

Komut dosyası, adresinde barındırılan bir komut ve kontrol sunucusundan ikinci aşama bir komut dosyasını alan ve yürüten üç satırlık kötü amaçlı kodla sona erer. Bu alan adı biçimi, meşru Zoom toplantı alanına benzerlik için seçilmiştir.support.us05web-zoom[.]forumus05web.zoom[.]us

Analizimiz, aynı aktör tarafından kullanılan bir dizi paralel etki alanı buldu.

support.us05web-zoom[.]pro

support.us05web-zoom[.]forum

support.us05web-zoom[.]cloud

support.us06web-zoom[.]online

Herkese açık depolarda bulunan diğer örnekler, muhtemelen her hedef için benzersiz URL'ler içeren daha geniş bir kampanya önermektedir

Takip eden komut dosyası, meşru bir Zoom yönlendirme bağlantısı içeren adlı bir HTML dosyasını indirir.check

<a ref="https://us05web.zoom[.]us/j/4724012536?pwd=ADlAXdxkUclRhvYoJbpKQmizkQ1RV4.1">Temporary Redirect</a>

Bu HTML dosyası, 'a iletilir ve 'a iletilir ve yürütülür, sonuçta saldırının temel mantığı başlatılır.curlrun script Validin'deki araştırmacılar da yakın zamanda bu ve ilgili altyapı etrafında genişletilmiş göstergeler yayınladılar. Daha önce bahsedilen Huntabil.IT ve Huntress'ın gönderileri, hemen hemen aynı ilk saldırı zincirini anlatıyor. Bununla birlikte, saldırı zincirinin ikinci kısmı, işlerin hem farklılaşmaya hem de giderek daha karmaşık hale gelmeye başladığı yerdir.

Yürütme Zinciri ve Dosya Dağıtımı

Gözlemlenen çok aşamalı enfeksiyon süreci Huntabil.IT iki Mach-O ikili dosyasının indirilmesiyle sonuçlandı ve — içine . Bu iki ikili, iki bağımsız yürütme zincirini başlatır.ainstaller/private/var/tmp

İlkinde, ikili dosya C++ ile derlenmiş bir evrensel mimari Mach-O yürütülebilir dosyasıdır. Diske çağrılan şifreli bir gömülü yük yazar. Buradan yürütme, aşağıdaki bölümde açıklayacağımız karmaşık bir şaşırtma ve dikkat dağıtma zincirini içerir. Sonuçta amaç,

veri hırsızlığı için kullanılan iki Bash betiğini getirmektir. Bunlar, genel sistem verilerinin yanı sıra tarayıcı verileri ve Telegram sohbet geçmişleri gibi uygulamaya özel verileri kazıma mekanizmalarını içerir. Tüm işlemler, adresinde oluşturulan bir klasörden hazırlanır.anetchk~/Library/DnsService

İkinci yürütme zinciri, aynı zamanda Nim kaynak kodundan derlenen evrensel bir Mach-O yürütülebilir dosyası olan ikili ile başlar ve kalıcılık kurulumundan sorumludur. Nim tarafından derlenmiş iki ek ikili dosya bırakır: ("GoogIe", küçük 'L' harfi yerine aldatıcı bir büyük "i" kullanılarak yazılır) ve . Bu yükler, tehdit aktörü için uzun vadeli erişim ve kurtarma mekanizmalarını düzenler.installerGoogIe LLCCoreKitAgent

a, netchk ve trojan1_arm64'nin teknik analizi

Hem Huntabil.IT hem de Huntress, daha önce açıklanan sahte Zoom güncelleme komut dosyaları aracılığıyla ilk bulaşmanın bir sonucu olarak adın yatırıldığı C++ ile derlenmiş bir ikili dosyanın kullanımını açıklar.a

İkili dosya geçici olarak imzalanmıştır ve tanımlayıcıyı taşır. Önceki araştırmacılar tarafından bildirildiği gibi, bir komut satırı argümanı alabilir , bu da 'nin mevcut çalışma dizininin silinmesine veya bir dosya adı ve şifresine neden olur. Huntabil.IT gönderide bu şu şekilde bildirildi:aInjectWithDyldArm64--da

./a ./netchk gift123$%^

(Diğer adıyla ) ikili, 10000 yineleme ve gömülü base64 dizesinin ilk on altı karakterinden oluşan bir tuz kullanarak paroladan 32 baytlık bir anahtar türetmek için HMAC-SHA-256 ile Parola Tabanlı Anahtar Türetme İşlevi 2'yi (PBKDF2) kullanır.InjectWithDyldArm64agift123$%^

Türetilmiş anahtar ve base64 kodu çözülmüş şifrelenmiş veriler, şifrelenmiş verilerin 16 baytlık blokları arasında yinelenen işleve geçirilir. Her yinelemede:AesEncrypt

· Türetilmiş anahtar ve sıfır dolgulu bir başlatma vektörü ile CBC modunda bir AES şifrelemesi gerçekleştirmek için CCCrypt için bir sarmalayıcı çağırır. İlk yinelemede şifrelenecek veriler anahtarın kendisidir, ancak sonraki yinelemelerde giriş verileri önceki çağrıdan alınır.AesTransAesTrans

· XOR, geçerli şifrelenmiş veri bloğunu geçerli sonuçla birleştirir.AesTrans

AesTrans işlevi, CCCrypt'in bir sarmalayıcısıdır

SentinelLABS'ın analizi, bu işlemin iki gömülü ikili dosyanın şifresini çözmek için kullanıldığını gösteriyor. İlki, geçici bir imza ve tanımlayıcı taşır . İkincisi, tanımlayıcı ile geçici bir imzaya sahiptir. İkili iyi huyludur ve rastgele sayılar üretmekten başka bir şey yapmıyor gibi görünmektedir. Targettrojan1_arm64Target

Ancak, tarafından askıya alınmış bir durumda oluşturulur. TargetInjectWithDyldArm64

posix_spawnattr_init(&attrp) && !posix_spawnattr_setflags(&attrp, POSIX_SPAWN_START_SUSPENDED)

posix_spawn(&pid, filename, 0, &attrp, argv_1, environ)

ve ikilinin kodu ile enjekte edilir. Enjeksiyondan sonra, askıya alınan işleme şu şekilde devam edilir:trojan1_arm64Target

kill(pid, SIGCONT)

Ve ikili dosyadan gelen kod yürütülür.trojan1_arm64

Bu tür bir işlem enjeksiyon tekniği, macOS kötü amaçlı yazılımlarında nadirdir ve belirli yetkilerin gerçekleştirilmesini gerektirir; Bu durumda, ikili dosya enjeksiyona izin vermek için aşağıdaki yetkilere sahiptir:InjectWithDyldArm64

com.apple.security.cs.debugger

com.apple.security.get-task-allow

İlk olarak bir HTTP el sıkışması üzerinde pazarlık yaptıktan sonra, enjekte edilen kod, macOS kötü amaçlı yazılımları için başka bir nadir teknik olan C2 ile iletişim kurmak için kullanılır.wsswss://firstfromsep[.]online/client

Kötü amaçlı yazılım, iletişimden önce base64 kodlaması ve üç farklı anahtarla birlikte birden fazla RC4 şifreleme düzeyi kullanır.

Analizimiz, C2'den gelen iletişim mesajlarının. Ad alanı veya değerini alır.{"name":"","payload":"","target":""}authmessage

Değer kullanıldığında, alan JSON yapısına sahiptir , burada alan oluşturulan bir uid değerini içerir ve alan, anahtar kullanılarak şifrelenen ve ardından base64'te kodlanan uid değerini içerir. Bu alanın kurban tanımlayıcısı için kullanıldığından şüpheleniyoruz. authpayload{"uid":"","cipher":""}uidcipherEj7bx@YRG2uUhya#50Yt*aotarget

Değer kullanıldığında, alan değeri anahtar kullanılarak şifrelenir. Yük, alanın yürütülecek komut için bir int değeri içerdiği JSON yapısına sahiptir. Tanımlayabildiğimiz mevcut komutlar aşağıdaki gibiydi:messagepayload3LZu5H$yF^FSwPu3SqbL*sK{"cmd":, "data":""}cmdtrojan1_arm64

Tüm Bloglara Dön