JavaScript ekosisteminin en yaygın kullanılan derleme araçlarından birini taklit eden kötü niyetli bir npm paketi keşfedildi. JFrog güvenlik araştırmacıları tarafından tespit edilen postcss-minify-selector-parser isimli paket, haftada 150 milyondan fazla indirilen popüler postcss-selector-parser kütüphanesinin kimliğine bürünerek yazılım tedarik zinciri saldırısı gerçekleştiriyor. Saldırı, geliştirici makinelerine çok aşamalı bir Windows uzaktan erişim truva atısı (RAT) yerleştiriyor.
Sahte paket, isim benzerliği ve aynı anahtar kelimeleri (postcss, selector, parser) kullanması sayesinde hızlı bağımlılık incelemelerinde göze çarpmıyor. Ayrıca gerçek postcss-selector-parser'ı kendi bağımlılıkları arasında listeliyor, bu da ona ek bir güvenilirlik kazandırıyor. JFrog, aynı yayıncı (abdrizak) tarafından yayınlanan postcss-minify-selector ve aes-decode-runner-pro adlı iki paketi daha tespit etti. Bu paketlerin çözülen yükleri aynı Windows saldırı zincirine işaret ediyor.
Kötü niyetli kod, paket içe aktarıldığı anda çalışıyor. Beklenen ayrıştırıcı mantığı yerine, dosya büyük bir şifrelenmiş blok ve AES-256-GCM çözücü içeriyor. Çözülen blok, bir PowerShell betiğini diske yazıp çalıştıran bir indirici (dropper) görevi görüyor. PowerShell betiği, nvidiadriver[.]net alan adından bir ZIP arşivi indiriyor. Bu arşiv, bir Windows güncellemesi kılığında olup geçici klasöre açılıyor.
Arşiv, paketlenmiş bir Python çalışma zamanı ve Nuitka ile derlenmiş modüller içeriyor. Bir VBScript başlatıcı, bu modülleri çalıştırarak RAT'ı etkinleştiriyor. RAT, şifreli HTTP üzerinden komut sunucusuyla iletişim kuruyor ve kayıt defterine kalıcılık anahtarı ekliyor. Ayrıca ana makineyi profilleyerek sanal makinede çalışıp çalışmadığını kontrol ediyor.
Nasıl Önlem Alınmalı?
RAT, uzaktan kabuk açma, dosya transferi ve veri çalma yeteneklerine sahip. Özellikle Google Chrome'u hedef alarak kayıtlı şifreleri çalıyor ve tarayıcının yeni uygulama bağlı şifrelemesini (app-bound encryption) atlatabiliyor. JFrog, bu paketleri yükleyenlerin derhal kaldırmasını, geçici klasör ve kayıt defteri izlerini kontrol etmesini ve tüm depolanmış kimlik bilgilerini değiştirmesini öneriyor.
Teknik Analiz
Bu olay, yazılım tedarik zinciri saldırılarının ne kadar sofistike hale geldiğini gösteriyor. Geliştiriciler, bağımlılık eklerken sadece isim benzerliğine değil, yayıncı geçmişine ve paket içeriğine de dikkat etmeli. npm gibi paket yöneticilerinin daha sıkı doğrulama mekanizmaları geliştirmesi, bu tür saldırıların önlenmesinde kritik öneme sahip.
Kaynak: infosecurity-magazine.com