Kuzey Kore bağlantılı saldırganlar, sahte geliştirici kodlama testleri yoluyla dağıtılan SVG ülke bayrağı dosyalarının içinde OTTERCOOKIE uyumlu kötü amaçlı yazılımları saklıyor. Kötü amaçlı kod, birisi yalnızca bir görüntüyü görüntülediğinde değil, hedef sağlanan e-ticaret projesini başlattığında yürütülür.
REF9403 olarak takip edilen kampanya, bir yazılım güvenlik açığı yerine sosyal mühendislik kullanıyor. Saldırganlar işe alım uzmanı veya proje sahibi gibi davranır, geliştiricilere iş fırsatlarıyla yaklaşır ve onları işlevsel bir kodlama değerlendirmesi indirmeye ve çalıştırmaya ikna eder.
Elastic Security Labs REF9403'ü keşfettiBir saldırganın şirketin topluluk Slack çalışma alanında bir geliştirici fırsatı yayınlamasının ardından. Elastic, operasyonu Kuzey Kore bağlantılı aktörlere atfedilen uzun süredir devam eden bir kampanya olan Bulaşıcı Röportaj'a bağlıyor.
Sahte Kodlama Testi Geliştiricilere Nasıl Ulaşıyor?
26 Mayıs 2026'da "Maxwell" adlı bir Slack kullanıcısı bir iş kanalında paylaşım yaptı ve bir e-ticaret platformunu modernleştirme konusunda yardıma ihtiyacı olduğunu iddia etti. İlgilenen geliştiriciler özel mesajlara yönlendirildi ve bir kodlama değerlendirmesini tamamlamaları istendi.
Tedarik edilen proje yasal görünüyordu. Tanıdık web geliştirme teknolojilerini kullandı ve kurulumdan sonra da işlevsel kalarak veri deposunun gerçek bir teknik test gibi görünmesine yardımcı oldu.
Bu yaklaşım, geliştiricilerin işe alım iş akışlarına olan güveninden yararlanır. Bir aday, değerlendirme sırasında depoları klonlamayı, bağımlılıkları kurmayı, kodu incelemeyi ve yerel sunucuları başlatmayı bekler; bu da saldırganlara potansiyel olarak tehlikeli eylemler talep etmeleri için makul bir neden sağlar.
Proje, ülke bayraklarını gösteren SVG görsellerini içeriyordu. Gibi dosyalarAE.svgVeAF.svgnormal şekilde işlendi, ancak kaynakları Base64 kodlu kötü amaçlı yazılım parçalarını tutan HTML tarzı yorum blokları içeriyordu.
SVG, metin, meta veriler ve yorumlar içerebilen XML tabanlı bir görüntü formatıdır. Bu durumda saldırganlar, görüntü piksellerinde değişiklik yaparak kodu gizlemediler. Kodlanmış metni doğrudan yorumların içine, görseli görüntüleyen kişinin görmezden geleceği şekilde yerleştirdiler.
Adlı bir JavaScript dosyasıserverValidation.jsSVG dosyalarını topladı, alfabetik olarak sıraladı, yorumları çıkardı ve parçaları birleştirdi. Daha sonra yeniden oluşturulan JavaScript yükünün kodunu çözdü ve yürüttü.
| Saldırı aşaması | Gözlemlenen aktivite |
|---|---|
| İşe alım cazibesi | Slack aracılığıyla yayınlanan sahte geliştirici fırsatı |
| Özel iletişim | İlgilenen hedefler doğrudan mesajlara taşındı |
| Proje teslimi | İşlevsel e-ticaret kodlama değerlendirmesi sağlandı |
| Yük depolama | Base64 parçaları, SVG bayrak dosyalarının içindeki yorumlara yerleştirildi |
| Yeniden Yapılanma | serverValidation.jsparçaları okur ve birleştirir |
| Uygulamak | Kurtarılan JavaScript, proje sunucusu her başlatıldığında çalışır |
| Veri hırsızlığı | Toplanan kimlik bilgileri, cüzdanlar, dosyalar ve pano verileri |
| Uzaktan erişim | Socket.IO kanalı etkileşimli komut yürütülmesine izin verir |
Yük Sunucu Başlangıçta Çalıştırılır
Projeserver/index.jsdosya, ilk ara yazılımını kurduktan sonra kötü amaçlı doğrulama rutinini çağırır. İkisi birdennpm run devVenpm startbu sunucu dosyasını başlatın.
Sonuç olarak, kötü amaçlı yazılım, yerel geliştirme sunucusu her başlatıldığında çalışır. Yalnızca yükleme komut dosyalarına odaklanan paket yöneticisi denetimleri bu yürütme yolunu durdurmayabilir.
Bu aynı zamanda SVG önizlemesinin tek başına sistemi etkilemediği anlamına da gelir. Gözlemlenen saldırı, hedefin projeyi çalıştırmasını ve gizli yükü yeniden yapılandıran sunucu tarafı JavaScript'i etkinleştirmesini gerektirir.
Araştırmacılar Buna Neden OTTERCOOKIE Uyumlu Diyor?
Elastic, kurtarılan JavaScript ile OTTERCOOKIE arasında eşleşen dizeler, kod yapısı, davranış ve API uç noktaları dahil olmak üzere benzerlikler buldu. Ancak örnek, daha önce ilgili kötü amaçlı yazılım aileleri arasında bölünmüş olan değişiklikleri ve birleştirilmiş yetenekleri içeriyordu.
Microsoft Bulaşıcı Röportaj analiziOTTERCOOKIE, komutları yürütebilen, kripto para birimi anahtarlarını arayabilen, ek modüller yükleyebilen ve verileri dışarı sızdırabilen modüler bir JavaScript arka kapısı olarak tanımlanıyor.
Elastic, OTTERCOOKIE ve BEAVERTAIL arasındaki sınırların daha az netleştiğini söyledi. REF9403 yükü, daha önceki bazı Bulaşıcı Röportaj enfeksiyonlarında görülen Python aşaması olmadan hepsi bir arada araç seti olarak çalışır.
Cihazda Dört Kötü Amaçlı Yazılım Modülü Çalışıyor
Yeniden oluşturulan JavaScript dört ana bileşeni başlatır. Birlikte kimlik bilgileri hırsızlığı, dosya toplama, pano izleme ve uzaktan erişim sağlarlar.
İlk bileşen, Windows, macOS ve Linux'ta tarayıcı kimlik bilgilerini, otomatik doldurma veritabanlarını ve kripto para birimi cüzdan uzantılarını hedefliyor. İşlem başlığını şu şekilde değiştirir:npm-cachesıradan bir Node.js süreci gibi görünmesi.
Diğer bileşenler dosya sisteminde arama yapar, bir Socket.IO komut kanalı oluşturur ve pano içeriğini toplar. Kötü amaçlı yazılım, Windows'ta saldırganın kontrolündeki altyapıdan ek yürütülebilir dosyalar indirmeyi de deneyebilir.
| Modül | Ana yetenek | Desteklenen platformlar |
|---|---|---|
| Tarayıcı ve cüzdan hırsızı | Kaydedilen tarayıcı verilerini ve kripto para birimi cüzdan uzantısı veritabanlarını toplar | Windows, macOS ve Linux |
| Dosya hırsızı | Belgeleri, kaynak kodunu, kimlik bilgilerini ve yapılandırma dosyalarını arar | Windows, macOS ve Linux |
| Soket.IO RAT | Sistem kaydı ve etkileşimli kabuk komutlarının yürütülmesini sağlar | Windows, macOS ve Linux |
| Pano hırsızı | Değişen pano içeriğini izler ve yükler | Windows ve macOS |
| Yük damlatıcısı | Ek dosyaları indirme ve yürütme girişimleri | Windows |
Hedeflenen Tarayıcı Kimlik Bilgileri ve Kripto Para Cüzdanları
Kimlik bilgisi modülü Chrome, Edge, Brave, Opera ve LT Tarayıcı gibi tarayıcılara ait profilleri arar. Tam tarayıcı yolları işletim sistemine göre değişir.
Kaydedilmiş oturum açma bilgilerini, otomatik doldurma bilgilerini ve uzantı verilerini içerebilen veritabanlarını hedefler. Örnekler ayrıca MetaMask, Phantom, Rabby, Trust Wallet, TronLink, OKX Wallet ve Coinbase ile ilgili alternatifler dahil olmak üzere 25 kripto para cüzdanı tarayıcı uzantısından oluşan sabit kodlu bir liste içeriyor.
Modül ayrıca macOS'ta kullanıcının oturum açma anahtar zinciri veritabanını da toplamaya çalışır. Çalınan tarayıcı oturumları veya cüzdan uzantısı verileri, kurban bir hesap şifresini değiştirdikten sonra bile yararlı olmaya devam edebilir.
Dosya Hırsızı Geliştirici Dizinlerinde Arama Yapar
Dosya çalma bileşeni, ortam dosyalarını, özel anahtarları, kabuk geçmişlerini, belgeleri, kaynak kodunu, yapılandırma dosyalarını ve görüntüleri arar. Windows'ta, takılı sürücüleri taramadan önce numaralandırır.
MacOS ve Linux'ta arama kullanıcının ana dizinine odaklanır. Aşağıdakileri içeren yollar.aws,.azure,.config,.ssh,.bash_historyveya.zsh_historyözellikle dikkat edin.
Bu hedefleme ciddi bir organizasyonel risk oluşturmaktadır. Geliştirici makineleri genellikle bulut kimlik bilgilerini, depo belirteçlerini, SSH anahtarlarını ve daha geniş bir uzlaşmayı destekleyebilecek CI/CD sistemlerine erişimi içerir.
- Uygulama sırlarını içeren ortam dosyaları
- AWS ve Azure kimlik bilgileri
- SSH özel anahtarları ve yapılandırması
- Kabuk komut geçmişleri
- Kaynak kodu dosyaları ve proje belgeleri
- Tarayıcı oturum açma veritabanları
- Kripto para cüzdanı uzantısı verileri
- macOS oturum açma anahtarlık verileri
Socket.IO Arka Kapısı Saldırganlara Etkileşimli Bir Kabuk Sağlıyor
Uzaktan erişim modülü bağlanırcontroller.rightwidth[.]devHTTPS üzerinden Socket.IO aracılığıyla. Etkilenen sistemi kaydeder ve tanımlayıcı ana bilgisayar bilgilerini denetleyiciye gönderir.
Bir operatör, kanal aracılığıyla bir kabuk komutu gönderebilir. Kötü amaçlı yazılım bunu Node.js ile çalıştırıyorchild_process.exec()ve güvenliği ihlal edilen makineye etkileşimli erişim sağlayarak çıktıyı döndürür.
Modül, VMware, VirtualBox, QEMU ve diğer sanallaştırılmış ortamların işaretlerini kontrol eder. Olumlu bir sonuç, kayıt bilgilerine bir sanal makine etiketi ekler ancak kötü amaçlı yazılım çalışmaya devam eder.
Pano İzleme Her Yarım Saniyede Bir Çalışır
Windows ve macOS'ta pano bileşeni her 500 milisaniyede bir yeni içeriği kontrol eder. Saldırganın altyapısına herhangi bir değişiklik gönderilebilir.
Windows sistemleri, tekrarlanan gizli PowerShell komutlarını kullanarak çalıştırır.Get-Clipboard. MacOS'ta kötü amaçlı yazılım şunları kullanır:pbpasteemretmek. Analiz edilen örnekteki Linux uygulaması pano içeriğini toplamadı.
Bu özellik, bir geliştiricinin sıradan çalışma sırasında kopyaladığı şifreleri, API belirteçlerini, cüzdan adreslerini, kurtarma ifadelerini veya özel mesajları açığa çıkarabilir.
Windows Bileşeni Ek İndirme Denemeleri
Yalnızca Windows'a özgü damlalık, gizlenmiş üç dosyayı indirmeye çalışır..txtUzantılar. Onları şu şekilde yeniden adlandırır:hostService.exe,printSvc.exeVedhcpSvc.exeinfazdan önce.
Analiz sırasında sunucu kullanılamadığından Elastic bu dosyaları alamadı. Bu nedenle tam işlevleri doğrulanmamıştır ve dosya adlarından çıkarım yapılmamalıdır.
Başarısız alım, virüslü sistemi güvenli kılmaz. Kimlik bilgisi hırsızlığı, dosya toplama, pano izleme ve uzaktan erişim modülleri, bu ek yükler olmadan hassas bilgileri zaten açığa çıkarabilir.
Bulaşıcı Röportaj Yıllardır Geliştiricileri Hedef Aldı
Bulaşıcı Mülakat en az Aralık 2022'den beri faaliyet gösteriyor. Saldırganlar genellikle kripto para birimi, teknoloji veya yapay zeka şirketlerindeki işe alım görevlilerini taklit ederek kurbanlara ikna edici bir işe alım süreci boyunca rehberlik ediyor.
Ünite 42'nin Bulaşıcı Mülakat araştırmasıDaha önce Kuzey Kore bağlantılı sahte işe alım şirketlerinin BEAVERTAIL ve InvisibleFerret kötü amaçlı yazılımlarını teknoloji işi arayanlara dağıttığı belgelenmişti.

REF9403 kampanyası ambalajı değiştiriyor ancak sosyal mühendislik hedefi tutarlı kalıyor. Saldırganın, hedefin atamaya güvenmesine ve değerli kimlik bilgilerini içeren bir ortamda kod yürütmesine ihtiyacı vardır.
REF9403 ile İlişkili Göstergeler
Güvenlik ekipleri dosya, ağ ve davranış göstergelerini birleştirmelidir. Arşiv adları kolayca değiştirilebilirken meşru projeler tesadüfen aşağıdaki gibi genel adlar kullanabilir:ecommerce-main.zip.
| Tip | Gösterge | Bildirilen amaç |
|---|---|---|
| Dosya | serverValidation.js | SVG yorumlarından veri yükünü yeniden yapılandırır |
| Dosya | AE.svgVeAF.svg | Kodlanmış parçalar içeren bayrak dosyaları örnekleri |
| Süreç başlığı | npm-cache | Kötü amaçlı yazılım sürecini gizleme |
| İhtisas | rightwidth[.]dev | Pano ve komut altyapısı |
| İhtisas | ldb.rightwidth[.]dev | Tarayıcı ve cüzdan veri toplama |
| İhtisas | upload.rightwidth[.]dev | Çalınan dosya yüklemeleri |
| İhtisas | controller.rightwidth[.]dev | Socket.IO uzaktan erişim denetleyicisi |
| İhtisas | file.rightwidth[.]dev | Windows veri indirmeleri |
| IPv4 | 195.26.248[.]212 | Rapor edilen komuta altyapısı |
| IPv4 | 188.40.64[.]61 | Rapor edilen komuta altyapısı |
Geliştiriciler Kodlama Değerlendirmelerini Nasıl Kontrol Edebilir?
Geliştiriciler, her istenmeyen kodlama testini güvenilmeyen kod olarak ele almalıdır. Gösterişli bir arayüz, geçerli bağımlılıklar ve çalışma özellikleri, havuzun güvenli olduğunu göstermez.
Yürütmeden önce gözden geçirenler incelemelidirpackage.json, sunucu başlangıç dosyaları, görev yapılandırmaları ve varlık dizinlerini okuyan komut dosyaları. SVG, HTML veya diğer statik dosyalar içindeki uzun kodlanmış yorumlar da incelemeyi gerektirir.
Microsoft azaltma kılavuzuKodlama testleri için yalıtılmış, kalıcı olmayan sanal makinelerin kullanılmasını ve üretim sistemlerine, depolara veya bulut hesaplarına erişimi olan birincil iş istasyonlarından kaçınılmasını önerir.
- İşvereni ve şirketi bağımsız bir kanal aracılığıyla doğrulayın.
- Deponun ve gönderen hesabının yaşını ve geçmişini kontrol edin.
- Tüm başlangıç ve görev yapılandırma dosyalarını inceleyin.
- Ara
eval(), dinamik fonksiyon oluşturma ve kabuk yürütme. - SVG, HTML ve diğer statik varlıkların içindeki yorumları inceleyin.
- Kişisel veya kurumsal kimlik bilgileri olmayan, tek kullanımlık bir sanal makine kullanın.
- Bilinmeyen projeleri test ederken giden ağ erişimini kısıtlayın.
- İşverenin isteği üzerine güvenlik araçlarını devre dışı bırakmayın.
Şüpheli Deposunu Çalıştırdıktan Sonra Ne Yapmalı?
Eşleştirme projesini yürüten herkesin cihazın ağ bağlantısını kesmesi ve ilgili güvenlik ekibiyle iletişime geçmesi gerekir. Depo, terminal geçmişi, süreç bilgileri ve ağ günlükleri temizlemeden önce korunmalıdır.
Kimlik bilgileri ayrı bir güvenilir cihazdan döndürülmelidir. Ekipler, etkilenen hesapta mevcut olan tarayıcı oturumlarını, veri havuzu belirteçlerini, npm kimlik bilgilerini, bulut anahtarlarını ve diğer sırları iptal etmelidir.

Elastic'in REF9403 göstergeleriAramayı destekleyebilir ancak yanıt verenler ayrıca geniş dosya numaralandırma, tekrarlanan pano erişimi, şüpheli Node.js işlemleri ve beklenmedik Socket.IO bağlantıları gibi davranışsal kanıtları da araştırmalıdır.
- Şüphelenilen geliştirici cihazını izole edin.
- Depoyu koruyun ve kaynağını ve taahhüt bilgilerini kaydedin.
- Çalışan işlemleri, terminal geçmişini ve ağ günlüklerini toplayın.
- Bilinen dosya adlarını, etki alanlarını, IP adreslerini ve arşiv karmalarını arayın.
- Etkin oturumları temiz bir cihazdan iptal edin.
- GitHub, GitLab, npm, SSH, bulut ve CI/CD kimlik bilgilerini döndürün.
- Kripto para birimi cüzdanlarını inceleyin ve maruz kalma olasılığı varsa fonları taşıyın.
- Yetkisiz erişime karşı kaynak kontrolü ve bulut denetim günlüklerini kontrol edin.
- Cihazda saklanan kimlik bilgileri aracılığıyla erişilebilen diğer sistemleri araştırın.
- Müdahale ekipleri tam kapsamı oluşturamadığında uç noktayı yeniden oluşturun.
Geliştirici Uç Noktalarının Daha Güçlü Yalıtmaya İhtiyacı Var
Geliştiriciler; kod çalıştırabilecek, paket kurabilecek ve harici hizmetlere ulaşabilecek araçlara ihtiyaç duyar. Bu yetenekler, sistemlerini değerli hedefler haline getiriyor ve sıradan ofis cihazları için tasarlanan kontrolleri zayıflatabiliyor.
Daha erkenÜnite 42 geliştirici hedefleme bulgularısahte röportajların Windows ve macOS sistemlerine platformlar arası kötü amaçlı yazılımları nasıl yerleştirebileceğini gösterdi. REF9403, bu modeli geliştiricilerin zararsız olduğunu varsayabilecekleri varlıkları da kapsayacak şekilde genişletiyor.
Kuruluşlar aday değerlendirmeleri, açık kaynak testleri ve alışılmamış veri havuzları için özel ortamlar sağlamalıdır. Kısa ömürlü kimlik bilgileri, gizli kasalar ve katı erişim sınırları, bir geliştiricinin kötü amaçlı kod çalıştırması durumunda etkiyi azaltabilir.
SSS
REF9403 kampanyası nedir?
REF9403, kötü amaçlı kodlama değerlendirmelerini yazılım geliştiricilere dağıtan, Kuzey Kore bağlantılı bir Bulaşıcı Röportaj kampanyasının Elastic Security Labs izleme adıdır.
Etkilenen bir SVG görüntüsünün görüntülenmesi OTTERCOOKIE kötü amaçlı yazılımını çalıştırabilir mi?
Gözlemlenen REF9403 enfeksiyonu, birisi yalnızca bir bayrak resmini görüntülediğinde başlamıyor. Kötü amaçlı yazılım, kurban sağlanan projeyi başlattığında ve sunucu tarafındaki JavaScript, SVG yorumlarında saklanan Base64 parçalarını yeniden oluşturup çalıştırdığında çalışır.
Kötü amaçlı yazılım hangi bilgileri çalabilir?
Kötü amaçlı yazılım, tarayıcı kimlik bilgilerini, otomatik doldurma verilerini, kripto para birimi cüzdan uzantısı veritabanlarını, bulut kimlik bilgilerini, SSH dosyalarını, ortam dosyalarını, belgeleri, kaynak kodunu, kabuk geçmişlerini ve pano içeriğini toplayabilir.
Hangi işletim sistemleri etkileniyor?
Ana kimlik bilgisi, dosya çalma ve uzaktan erişim modülleri Windows, macOS ve Linux'u destekler. Pano koleksiyonu, analiz edilen örnekte Windows ve macOS'ta çalışırken ek yürütülebilir indirmeler Windows'u hedef alır.
Bir geliştirici şüpheli bir kodlama testi çalıştırdıktan sonra ne yapmalıdır?
Geliştiricinin cihazı izole etmesi, kanıtları saklaması ve güvenlik ekibine haber vermesi gerekir. Ayrı bir temiz cihazdan, kaynak kontrol belirteçleri, bulut anahtarları, SSH anahtarları ve kripto para birimi cüzdan sırları da dahil olmak üzere açığa çıkan oturumlar ve kimlik bilgileri iptal edilmeli veya döndürülmelidir.
