Araştırmacılar, NodeJS kitaplıklarının adını taşıyan ve hatta NodeJS’ye benzeyen ancak bunun yerine uğursuz bir truva atı bırakan bir Windows yürütülebilir dosyasını paketleyen birden fazla npm paketi keşfettiler.
Gizlilikleri ve çok düşük tespit oranları göz önüne alındığında bu paketler, araştırmacılar tarafından tespit edilmeden önce iki aydan fazla bir süredir npm’de bulunuyordu.
Aradığınız düğüm değil
Yazılım güvenlik firması ReversingLabs’teki araştırmacılar, iki aydan fazla bir süredir npmjs.com kayıt defterinde gizlenen üç npm paketini analiz ettiler.
Toplamda 1.200’den biraz fazla indirilen bu paketlerin isimleri:
paket | Versiyonlar | Toplam İndirme |
---|---|---|
nodejs-encrypt-agent | 6.0.2, 6.0.3, 6.0.4, 6.0.5 | 521 |
nodejs-cookie-proxy-aracı | 1.1.0, 1.2.0, 1.2.1, 1.2.2, 1.2.3, 1.2.4 | 678 |
eksen-proxy | 1.7.3, 1.7.4, 1.7.7, 1.7.9, 1.8.9, 1.9.9 | 23 |
“İlk olarak iki aydan daha uzun bir süre önce yayınlandı, nodejs-encrypt-agent ReversingLabs araştırmacıları raporlarında ilk bakışta meşru bir paket gibi görünüyor” dedi.
“Ancak, tutarsızlıklar araştırmacılarımıza kırmızı bayraklar çıkardı. Buna rağmen, ilk düşüncemiz yine de bu paketin kötü amaçlı olamayacağıydı. Öyle olsaydı, kesinlikle npm yöneticileri tarafından fark edilir ve kaldırılırdı.”
Rağmen nodejs-encrypt-agent başlangıçta alarm vermedi ve hatta meşru paketlerin işlevselliğini yansıttı. ajan tabanı, daha fazlası da vardı, araştırmacılar keşfetti.
“Ancak, küçük ama çok önemli bir fark vardı: nodejs-encrypt-agent paketi, ReversingLabs tarafından analiz edildiğinde kötü amaçlı olduğu bulunan taşınabilir bir yürütülebilir (PE) dosya içeriyordu” diye yazıyor araştırmacılar.
Bahsedilen PE dosyası, hemen şüpheli görünmeyebilecek yaklaşık 100 MB boyutunda bir Windows çalıştırılabilir ‘lib.exe’ dosyasıdır.
Dosya, PE başlıkları ve meta verileri, kodu ve işlevselliği açısından gerçek NodeJS uygulamasına çok benzer. Aslında, BleepingComputer ‘lib.exe’ çalıştırılabilirlerinin varyantlarının belirli sürümlerde mevcut olduğunu gözlemledi. nodejs-encrypt-agent çok düşük tespit oranı vardı:
için de aynı durum söz konusudur. lib.exe ReversingLabs tarafından özel olarak analiz edilmiştir. VirusTotal analizi, yürütülebilir dosyanın Node.js’yi nasıl taklit ettiğini ve meşru uygulamadan aynı meta verileri içerdiğini ortaya çıkarır.
Kötü amaçlı paketi analiz eden ReversingLabs araştırmacısı Igor Kramarić, içinde bir veya daha fazla JavaScript dosyası olduğunu tespit etti. nodejs-encrypt-agent meşru işlevsellik içeriyordu, ancak aynı zamanda paketlenmiş ‘lib.exe’yi sessizce çalıştıran koda da sahipti:
ReversingLabs’ten Lucija Valentić, “Yukarıda gözlemlediğimiz gibi: npm paketinde keşfedilen PE’nin kötü niyetli olduğuna dair çok az şüphe vardı” diyor.
Söz konusu kötü amaçlı yürütülebilir dosya, TurkoRAT bilgi hırsızı olarak adlandırılan, özelleştirilebilir bir “kapıcı” ve tespit edilmesi zor olan kimlik bilgileri hırsızını çalıştırıyordu.
“Gözlemlenen kötü niyetli veya şüpheli davranışların listesi uzundu; kullanıcı oturum açma kimlik bilgileri ve kripto cüzdanları dahil olmak üzere virüslü sistemlerden hassas bilgileri çalmak için tasarlanmış özelliklerin yanı sıra kötü amaçlı dosyaları analiz etmek için kullanılan korumalı alan ortamlarını ve hata ayıklayıcıları yanıltın veya bozguna uğratın.”
Beğenmek nodejs-encrypt-agentsürümleri nodejs-cookie-proxy-aracı ayrıca bu truva atını düşürdü, ancak tespit edilmekten kaçınmak için arada ek bir adım attı.
‘lib.exe’yi doğrudan içinde paketlemek yerine, nodejs-cookie-proxy-aracı listelenmiş eksen-proxy bir bağımlılık olarak ve önceki paket bir kullanıcı tarafından her kurulduğunda çekilecek olan kötü amaçlı yürütülebilir dosyayı içeren ikincisidir.
“Bu kez, saldırganlar bunu bir bağımlılık olarak gizledi, eksen-proxyiçinde bulunan her dosyaya aktarıldı nodejs-cookie-proxy-aracı 1.1.0, 1.2.0, 1.2.1 ve 1.2.2″ sürümleri, araştırmacıları ortaya koyuyor.
Tüm kötü amaçlı paketler, ReversingLabs tarafından tespit edildikten kısa bir süre sonra npm kayıt defterinden kaldırıldı. Ancak, bunların iki aydan fazla bir süredir npm’de kalması gerçeği, incelenmemiş açık kaynak paketlerinin yazılım tedarik zinciri güvenliği için oluşturabileceği devam eden riski vurguluyor, araştırmacıları uyarıyor.