
Kuzey Kore ile bağları olan tehdit aktörleri, React Server Components’ta (RSC) kısa süre önce açıklanan kritik güvenlik React2Shell kusurunu kullanarak, daha önce belgelenmemiş bir uzaktan erişim truva atı olan React2Shell’i kullanan son kişiler haline geldi. EtherRAT.
Sysdig Pazartesi günü yayınlanan bir raporda, “EtherRAT, komuta ve kontrol (C2) çözümü için Ethereum akıllı sözleşmelerinden yararlanıyor, beş bağımsız Linux kalıcılık mekanizması kullanıyor ve nodejs.org’dan kendi Node.js çalışma zamanını indiriyor.” dedi.
Bulut güvenlik firması, faaliyetin, Şubat 2025’ten bu yana kötü amaçlı yazılım dağıtmak için EtherHiding tekniğinden yararlandığı gözlemlenen Bulaşıcı Röportaj kod adlı uzun süredir devam eden bir kampanyayla önemli ölçüde örtüştüğünü söyledi.
Bulaşıcı Mülakat, diğerlerinin yanı sıra blockchain ve Web3 geliştiricilerinin sahte iş görüşmeleri, kodlama ödevleri ve video değerlendirmeleri yoluyla hedef alındığı ve kötü amaçlı yazılımın yayılmasına yol açan bir dizi saldırıya verilen addır. Bu çabalar genellikle, tehdit aktörlerinin kazançlı iş fırsatları sunan işe alım uzmanları gibi davrandığı LinkedIn, Upwork veya Fiverr gibi platformlar aracılığıyla kurbanları cezbeden bir hileyle başlıyor.
Yazılım tedarik zinciri güvenlik şirketi Socket’e göre bu, npm ekosisteminden yararlanan en verimli kampanyalardan biri ve bu kampanyaların JavaScript’e ve kripto para birimi merkezli iş akışlarına uyum sağlama yeteneklerini öne çıkarıyor.

Saldırı zinciri, RSC’deki maksimum önem derecesine sahip bir güvenlik açığı olan CVE-2025-55182’nin (CVSS puanı: 10.0) ana JavaScript implantasyonunun dağıtımından sorumlu bir kabuk komut dosyasını indirip çalıştıran Base64 kodlu bir kabuk komutunu yürütmek için kullanılmasıyla başlar.
Kabuk betiği, wget ve python3’ün yedek olarak kullanıldığı bir curl komutu kullanılarak alınır. Ayrıca, nodejs.org’dan Node.js v20.10.0’ı indirerek ortamı hazırlamak için tasarlanmıştır, ardından diske şifrelenmiş bir blob ve gizlenmiş bir JavaScript damlalığı yazar. Tüm bu adımlar tamamlandıktan sonra, adli izi en aza indirmek için kabuk komut dosyasını silmeye devam eder ve damlalığı çalıştırır.
Damlalığın birincil amacı, sabit kodlu bir anahtarla EtherRAT yükünün şifresini çözmek ve indirilen Node.js ikili dosyasını kullanarak onu oluşturmaktır. Kötü amaçlı yazılım, her beş dakikada bir Ethereum akıllı sözleşmesinden C2 sunucusu URL’sini almak için EtherHiding’i kullanarak operatörlerin URL’yi kaldırılsa bile kolayca güncellemelerine olanak sağlamasıyla dikkat çekiyor.
Sysdig, “Bu uygulamayı benzersiz kılan şey, dokuz halka açık Ethereum uzaktan prosedür çağrısı (RPC) uç noktasında fikir birliği oylamasının kullanılmasıdır” dedi. “EtherRAT dokuz uç noktanın tümünü paralel olarak sorguluyor, yanıtları topluyor ve çoğunluk tarafından döndürülen URL’yi seçiyor.”
“Bu fikir birliği mekanizması çeşitli saldırı senaryolarına karşı koruma sağlıyor: güvenliği ihlal edilmiş tek bir RPC uç noktası, botları bir çukura yönlendiremez ve araştırmacılar, sahte bir RPC düğümü çalıştırarak C2 çözümünü zehirleyemez.”
Benzer bir uygulamanın daha önce, geliştirici sistemlerine indirici kötü amaçlı yazılım dağıttığı tespit edilen colortoolsv2 ve mimelib2 adlı iki npm paketinde gözlemlendiğini belirtmekte fayda var.
EtherRAT, C2 sunucusuyla bağlantı kurduğunda, her 500 milisaniyede bir yürütülen bir yoklama döngüsüne giriyor ve 10 karakterden uzun herhangi bir yanıtı, virüslü makinede çalıştırılacak JavaScript kodu olarak yorumluyor. Kalıcılık beş farklı yöntem kullanılarak gerçekleştirilir:
- Systemd kullanıcı hizmeti
- XDG otomatik başlatma girişi
- Cron işleri
- .bashrc enjeksiyonu
- Profil enjeksiyonu
Tehdit aktörleri birden fazla mekanizma kullanarak, kötü amaçlı yazılımın sistem yeniden başlatıldıktan sonra bile çalışmasını sağlayabilir ve virüslü sistemlere sürekli erişim izni verebilir. Kötü amaçlı yazılımın karmaşıklığına işaret eden bir diğer işaret, kendi kaynak kodunu bir API uç noktasına gönderdikten sonra C2 sunucusundan alınan yeni kodu kendi üzerine yazan kendi kendini güncelleme yeteneğidir.
Daha sonra güncellenen veriyle yeni bir süreç başlatır. Burada dikkate değer olan şey, C2’nin işlevsel olarak aynı ancak farklı şekilde gizlenmiş bir sürüm döndürmesi ve böylece muhtemelen statik imza tabanlı algılamayı atlamasına izin vermesidir.
EtherHiding kullanımına ek olarak, Contagious Interview bağlantıları, EtherRAT’ta kullanılan şifrelenmiş yükleyici modeli ile BeaverTail adlı bilinen bir JavaScript bilgi hırsızı ve indiricisi arasındaki çakışmalardan kaynaklanmaktadır.

Sysdig, “EtherRAT, fırsatçı kripto madenciliği ve kimlik bilgisi hırsızlığının ötesine geçerek uzun vadeli operasyonlar için tasarlanmış kalıcı, gizli erişime doğru ilerleyen React2Shell kullanımında önemli bir evrimi temsil ediyor” dedi.
“Bu ister Kuzey Koreli aktörlerin yeni sömürü vektörlerine yönelmesini, ister başka bir aktörden alınan karmaşık teknikleri temsil etsin, sonuç aynıdır: savunucular, geleneksel tespit ve ortadan kaldırma yöntemlerine direnen zorlu yeni bir implantla karşı karşıyadır.”
Bulaşıcı Mülakat NPM’den VS Koduna Geçiyor
Açıklama, OpenSourceMalware’in kurbanları bir programlama görevinin parçası olarak GitHub, GitLab veya Bitbucket’te kötü amaçlı bir depoyu klonlamaya ve projeyi Microsoft Visual Studio Code’da (VS Code) başlatmaya teşvik eden yeni bir Bulaşıcı Röportaj varyantının ayrıntılarını ortaya çıkarmasıyla geldi.
Bu, runOptions.runOn: ‘folderOpen’ ile yapılandırılması nedeniyle VS Code Tasks.json dosyasının yürütülmesiyle sonuçlanır ve proje açılır açılmaz otomatik olarak çalıştırılmasına neden olur. Dosya, tehlikeye atılan ana bilgisayarın işletim sistemine bağlı olarak curl veya wget kullanarak bir yükleyici komut dosyası indirecek şekilde tasarlanmıştır.
Linux söz konusu olduğunda, bir sonraki aşama, “vscode-bootstrap.sh” adlı başka bir kabuk komut dosyasını indirip çalıştıran bir kabuk komut dosyasıdır; bu komut daha sonra iki dosya daha getirir: “package.json” ve “env-setup.js”; bunlardan ikincisi BeaverTail ve InvisibleFerret için başlatma paneli görevi görür.
OpenSourceMalware, bu kampanyanın 27 farklı GitHub kullanıcısına ve 11 farklı BeaverTail sürümüne yayılmış 13 farklı sürümünü tespit ettiğini söyledi. En eski depo (“github[.]com/MentarisHub121/TokenPresaleApp”) 22 Nisan 2025 tarihine kadar uzanır ve en yeni sürüme (“github[.]com/eferos93/test4”) 1 Aralık 2025’te oluşturuldu.
OpenSourceMalware ekibi, “Kuzey Kore tehdit aktörleri Vercel’e akın etti ve artık neredeyse yalnızca onu kullanıyor” dedi. “Nedenini bilmiyoruz ama Contagious Interview Fly.io, Platform.sh, Render ve diğer barındırma sağlayıcılarını kullanmayı bıraktı.”