İstanbul
Ethersphere’ın Bee-js ve Swarm Desktop Uygulamaları Cüzdan Çalan Kötü Amaçlı Yazılımla Ele Geçirildi

Ethersphere’ın Bee-js ve Swarm Desktop Uygulamaları Cüzdan Çalan Kötü Amaçlı Yazılımla Ele Geçirildi

Ethersphere'ın Bee-js 13.3.0 ve Swarm Desktop 0.56.2 uygulamaları, cüzdan anahtarlarını çalan ve arka kapı yükleyen kötü amaçlı yazılımlarla ele geçirildi. Sald

Kısa Özet

Ethersphere'ın Bee-js 13.3.0 ve Swarm Desktop 0.56.2 uygulamaları, cüzdan anahtarlarını çalan ve arka kapı yükleyen kötü amaçlı yazılımlarla ele geçirildi. Sald

Ethersphere’ın Bee-js ve Swarm Desktop Uygulamaları Cüzdan Çalan Kötü Amaçlı Yazılımla Ele Geçirildi

flat screen computer monitor displaying white and black screen

Siber saldırganlar, Ethersphere projesinin merkeziyetsiz depolama ağı Swarm için geliştirdiği iki aracın (bee-js 13.3.0 ve Swarm Desktop 0.56.2) kötü amaçlı sürümlerini yayınlamak amacıyla projenin kendi sürüm otomasyonunu kullandı.

Her iki kötü amaçlı sürüm de, Swarm Desktop’ın düğümü için sakladığı cüzdan anahtarını ve bu anahtarı açan parolayı çalmak üzere tasarlanmış kodları indirip çalıştırıyor. Ayrıca bu kodlar, Windows, macOS ve Linux makinelerine bir arka kapı yüklemek için de geliştirildi.

Bee-js paketi, Swarm Desktop ve swarm-cli komut satırı aracının arkasındaki JavaScript kütüphanesidir. Swarm Desktop, kullanıcının kendi bilgisayarında bir Swarm düğümü çalıştırır ve düğümün özel anahtarlarını orada saklar.

Her iki kötü amaçlı sürüm de yayından kaldırıldı ve proje yöneticileri bugün temiz bir Swarm Desktop güncellemesi yayınladı. Ancak bu adımların hiçbiri, zaten yüklenmiş bir arka kapıyı kaldırmaz veya zaten gönderilmiş bir anahtarı korumaz. Yazının yazıldığı sırada herhangi bir fon hırsızlığı bildirilmemiştir.

Saldırının Detayları ve Etkilenen Sürümler

Swarm Desktop 0.56.2, bugün yaklaşık 00:36 UTC’de GitHub’da ortaya çıktı ve yaklaşık 8,5 saat sonra geri çekildi. Tedarik zinciri güvenliği firması Socket’in olay analizine göre, uygulamanın yerleşik güncelleyicisi, Windows x64 bilgisayarlara ve Apple Silicon Mac’lere yaklaşık 10 dakika içinde bu sürümü sunabildi. Intel Mac’lere hiçbir zaman sunulmadı ve Linux kurulumları otomatik olarak güncellenmiyor.

Bee-js sürümü 13.3.0, bugün 00:09 ile 01:25 UTC arasında yaklaşık 75 dakika boyunca npm’deki en son sürümdü. Kodu, npm’in kurulum sırasında otomatik olarak yürüttüğü bir postinstall betiği olarak çalışır, ancak kurulum betikleri devre dışı bırakılmadıkça. Bir projenin kodun çalışması için kütüphaneyi içe aktarmasına gerek yoktu.

Projenin kendi swarm-cli ve bee-dashboard paketleri ile Swarm Desktop kaynak kodu, 13.3.0’ı içeren sürüm aralıklarını kabul ediyordu. Bu pencere içinde yapılan yeni bir kurulum, kötü amaçlı sürümü çekmiş olabilir.

Hiçbir rapor, enfekte olmuş makine sayısını vermedi. Firmanın tahmini, bee-js 13.3.0’ın güvenlik tarayıcıları ve yansımalar dahil yaklaşık 10 kez indirildiği yönünde. Swarm Desktop 0.56.2’nin indirme sayısı, araştırmacılar dahil 08:27 UTC itibarıyla 65’e ulaştı.

Ethersphere’ın yöneticileri 0.56.2’yi geri çekti ve bugün yerine temiz bir sürüm olan 0.56.3’ü yayınladı. Yeni sürümü ayarlayan değişiklikte, yöneticilerden biri 0.56.2’nin “çalınan CI kimlik bilgileri kullanılarak bir saldırgan tarafından yayınlandığını ve geri çekildiğini” yazdı.

Yöneticinin olay notuna göre, sürüm 0.56.3, önceki sürüm 0.56.1 ile aynı koddur ve yeni çıkarılmış bir Geliştirici Kimliği sertifikasıyla imzalanmıştır. Notta, uygulamanın otomatik güncelleyicisinin 0.56.2 kurulumlarını buna taşıyacağı belirtiliyor, ancak Linux paketlerinin hala manuel olarak değiştirilmesi gerekiyor. The Hacker News tarafından yapılan iki sürümün kaynak kodu karşılaştırması, sürüm numarası ve sürüm notları dışında herhangi bir değişiklik bulamadı.

The Hacker News bugün npm’i kontrol ettiğinde, 13.2.0 tekrar en son bee-js sürümüydü ve 13.3.0 artık kayıt defterinden indirilemiyordu.

Yapılması Gerekenler

Bee-js 13.3.0 için GitHub uyarısı şöyle diyor: “Bu paketin kurulu olduğu veya çalıştığı herhangi bir bilgisayar tamamen ele geçirilmiş kabul edilmelidir.” Yazılım tedarik zinciri güvenlik şirketi SafeDep, Swarm Desktop 0.56.2’nin kurulu olduğu herhangi bir bilgisayar için aynı tavsiyeyi sunuyor.

Bir projede veya CI işinde bee-js kullanıyorsanız:

  • Kilit dosyalarında, paket önbelleklerinde, dahili kayıt defterlerinde ve CI kurulum günlüklerinde @ethersphere/[email protected]’ı arayın, diğer paketler tarafından çekilen kopyalar dahil.
  • 13.2.0’ı sabitleyin ve 13.3.0’ın önbelleğe alınmış kopyalarını temizleyin, npm yansıması dahil.
  • Eğer 13.3.0, kurulum betikleri açıkken kurulduysa, kurulum günlüğünde hata olmasa bile o makineyi veya CI çalıştırıcısını ele geçirilmiş kabul edin. Kod kendi ağ hatalarını gizler.
  • Temiz bir bilgisayardan, kuran kullanıcının veya CI işinin okuyabileceği her parolayı, belirteci ve anahtarı değiştirin.

Swarm Desktop çalıştırıyorsanız:

  • Uygulamanın günlük dosyası olan bee-desktop.log’da “Bee Desktop version: 0.56.2 (production)” satırını arayın. Sürüm 0.56.2, kötü amaçlı kod çalışmadan hemen önce her başlatmada yazılır.
  • Günlük klasörü macOS’ta ~/Library/Logs/Swarm Desktop/, Windows’ta %LOCALAPPDATA%\Swarm Desktop\Log\ ve Linux’ta ~/.local/state/Swarm Desktop/ konumundadır.
  • 0.56.3’ü kurun. Linux’ta paketi manuel olarak değiştirin.
  • Eğer 0.56.2 bir kez bile çalıştıysa, düğümün anahtarını ve parolasını çalınmış kabul edin. Temiz bir bilgisayardan, düğümün fonlarını, çek defterini ve stake’ini yeni bir anahtara taşıyın.

Kodun çalıştığı herhangi bir makinede:

  • ~/.solidity/ klasörünü, Linux’taki solidity-langsupport-runner.service kullanıcı hizmetini, macOS’taki com.solidity.langsupport.runner LaunchAgent’ı ve Windows’taki ScreenConnect Client (5cbe79c9c25524df) hizmetini kaldırın.
  • Uygulamayı veya paketi güncellemek, yeniden yüklemek veya kaldırmak bunları kaldırmaz.
  • Mümkünse, makineyi yerinde temizlemek yerine güvenilir bir görüntüden yeniden oluşturun.

Kötü Amaçlı Yazılım Nasıl Çalışıyor?

SafeDep’in teknik analizinde bulduğu gibi, her iki sürüm de aynı yükleyiciyi taşıyor. Bu, api.frameworkmetrics[.]xyz adresinden daha fazla kod indiren ve kullanıcı izinleriyle çalıştıran birkaç satırlık bir koddur. Bee-js’de yükleyici postinstall betiğidir ve Swarm Desktop’ta uygulama her başladığında çalışır.

İndirilen kod, Swarm Desktop’ın veri klasöründe iki dosya arar: config.yaml ve data-dir/keys/swarm.key. Her ikisi de varsa, bunları saldırganların sunucusuna gönderir.

Anahtar dosyası şifreli bir Ethereum anahtar deposudur, ancak Swarm Desktop parolasını config.yaml’da düz metin olarak saklar. Şirket, her iki dosyayla da saldırganların düğüm cüzdanının xDAI ve xBZZ token’larını, çek defteri fonlarını ve stake’ini alabileceğini belirtiyor.

İndirilen kod ayrıca bir arka kapı da yüklüyor. Linux ve macOS’ta, gizli bir ~/.solidity klasörüne kaydedilen evjawbreaker adlı bir Go uzaktan kabuğudur. Linux’ta bir kullanıcı hizmeti olarak ve macOS’ta bir LaunchAgent olarak arka planda çalışır.

Kabuk, kontrol sunucusunun adresini bir Ethereum akıllı sözleşmesinden okur, böylece saldırganlar bu adresi istedikleri zaman değiştirebilirler. Kötü amaçlı bee-js kodu eklenmeden 29 dakika önce güncellenmişti.

Windows’ta, indirilen kod, üreticisi ConnectWise tarafından imzalanmış orijinal bir ScreenConnect uzaktan erişim istemcisi yüklüyor. İstemci bir sistem hizmeti olarak çalışır ve saldırganların rölesine bağlanır.

Kullanıcı bir yöneticiyse, kod Kullanıcı Hesabı Denetimi istemini atlamanın bilinen bir yoluyla yönetici hakları elde eder. Değilse, kullanıcı iptal ettiğinde istemi tekrar gösterir. Bu haklarla, bir Microsoft Defender dışlaması ekler ve istemciyi sessizce yükler.

Sürümler Nasıl Yayınlandı?

Her iki sürüm de Ethersphere’ın sürümlerini otomatikleştirmek için kullandığı bee-worker hesabından geldi. Hiçbir değişiklik imzalanmadı veya bir çekme isteği olarak gönderilmedi.

Bee-js için saldırganlar, projenin npm yayınlama iş akışını başlatan yeni sürüm için bir GitHub sürümü yayınladı. Socket’e göre, bu iş akışı herhangi bir onay gerektirmedi ve paketi 73 saniyede npm’e yayınladı.

Projenin gerçek iş akışı tarafından oluşturulduğu için, paket geçerli bir köken (bir npm paketini onu oluşturan depoya ve iş akışına bağlayan kayıt) taşıyordu. Köken, bir paketin nerede oluşturulduğunu gösterir, içindeki kodun birisi tarafından incelenip incelenmediğini değil.

Swarm Desktop için saldırganlar, projenin Apple ve Windows imzalama sertifikalarına sahip ve onay gerektirmeyen bir derleme iş akışını manuel olarak başlattı. Firma, macOS uygulamasının projenin Geliştirici Kimliği ile imzalandığını ve Apple tarafından noter tasdikli olduğunu, bu nedenle macOS’un yalnızca normal ilk başlatma istemini gösterdiğini buldu.

Yöneticiler, uygulamanın imzalama işlerinin projenin DevOps ekibinden onay beklemesini ve yalnızca ana daldan çalışmasını sağladı.

Saldırganların erişimi nasıl elde ettiği yazının yazıldığı sırada belirsizliğini koruyordu. Yöneticinin olay notu, CI kimlik bilgilerinin ve sırların çalınmasını suçluyor.

Firmanın analizi, iki GitHub hesabının kullanıldığını gösteriyor: bee-worker ve uzun süredir görev yapan bir yöneticinin hesabı. Hiçbir rapor, kimlik bilgilerinin nasıl çalındığını açıklamadı.

Önceki Saldırılarla Bağlantılar

Yükler, Eylül ayında Open VSX pazarında ortaya çıkan Solidity geliştiricileri için sahte uzantılara sahip dosya adları, bir ScreenConnect rölesi ve bir Ethereum sözleşmesi paylaşıyor. Pluto Security araştırmacıları, bu uzantıları 1 Ekim tarihli EtherDuck analizlerinde açıkladılar.

Pluto, bunları “yüksek güvenle” 2025’te sunucu adresini farklı bir Ethereum sözleşmesinden okuyan orijinal SleepyDuck uzantısının arkasındaki grupla ilişkilendiriyor. Socket, aynı grubun bee-js ve Swarm Desktop sürümlerinin arkasında olduğunu belirtiyor.

Saldırı Göstergeleri (IoC’ler)

Savunmacılar, günlükleri ve makineleri aşağıdakiler için arayabilirler:

  • Alan Adı: api.frameworkmetrics[.]xyz
  • URL yolu: /v1/analytics (bee-js yükleyici)
  • URL yolu: /v1/electron (Swarm Desktop yükleyici)
  • URL yolu: /v1/assets/ (daha fazla yük)
  • URL yolu: /v1/swarm/report (çalınan cüzdan dosyaları)
  • HTTP başlığı: X-Ethersphere: 1
  • IP:port: 193[.]57[.]9[.]155:4912 (evjawbreaker kontrol sunucusu)
  • IP:port: 185[.]232[.]84[.]169:8041 (ScreenConnect rölesi)
  • Ethereum sözleşmesi: 0xf8a900Db50b3331be6B768bA460BB59f3E40C344
  • Yol: ~/.solidity/
  • systemd birimi: solidity-langsupport-runner.service
  • LaunchAgent: com.solidity.langsupport.runner
  • Hizmet: ScreenConnect Client (5cbe79c9c25524df)
  • SHA-256: 9b73e7cd4e1425e770392549d8df46c706139ef476f4f7b9ac405165dc8d9696 (linux_amd64)
  • SHA-256: b601776817363b96295119f7221338a122d5247a35a77a64b04f286e1bbcc565 (linux_arm64)
  • SHA-256: 80d2672e2599732d3c0ae2a4cd0d1e3fe4d555a60273ce33feb99db3f34d250f (darwin_amd64)
  • SHA-256: fae61f31f00988fdc5cc9e7272b51e08af2e245d81003237875415930fd27358 (darwin_arm64)
  • SHA-256: 37d14bff30762ca701e9c1f8bc6c57c065bb20ae3a2208cb7411a6530610f08e (invoke.ps1)
  • SHA-256: 7527e86d70e7c9493db4356f1c3775380431b310000f2602c1e993cf435d01da (app.msi)
KONUSiber Tehditler ↗
PaylaşX ↗
OKURLARIN GÖRÜŞLERİ

Yorumlar 0

Henüz yorum yapılmamış. İlk yorumu siz yazın.

Yorum bırakın

E-posta adresiniz yayımlanmaz. Gerekli alanlar * ile işaretlenmiştir.

0 / 1000