Ağustos 2023’ün başından bu yana npm paket deposunda, adı verilen açık kaynaklı bir bilgi hırsızını dağıtma özelliklerine sahip bir düzineden fazla kötü amaçlı paket keşfedildi. Luna Jetonu Kapmak Roblox geliştiricilerine ait sistemlerde.
İlk olarak 1 Ağustos’ta ReversingLabs tarafından tespit edilen devam eden kampanya, Roblox oyun platformuyla etkileşime giren komut dosyaları oluşturmak için kullanılan bir API paketleyici olan meşru paket noblox.js kılığına giren modüller kullanıyor.
Yazılım tedarik zinciri güvenlik şirketi, etkinliği Ekim 2021’de “iki yıl önce ortaya çıkarılan bir saldırının tekrarı” olarak tanımladı.
“Kötü amaçlı paketler […] yazılım tehdidi araştırmacısı Lucija Valentić Salı günü yaptığı bir analizde, yasal noblox.js paketinden kodu yeniden üretin ancak kötü amaçlı, bilgi çalan işlevler ekleyin” dedi.
Paketler, kaldırılmadan önce kümülatif olarak 963 kez indirildi. Hileli paketlerin isimleri şu şekildedir:
- noblox.js-vps (sürüm 4.14.0 – 4.23.0)
- noblox.js-ssh (sürüm 4.2.3 – 4.2.5)
- noblox.js-secure (sürüm 4.1.0, 4.2.0 – 4.2.3)
En son saldırı dalgasının genel hatları bir öncekine benzer olsa da, özellikle Luna Grabber’ı teslim eden yürütülebilir bir dosyanın konuşlandırılmasında kendine has bazı benzersiz özellikler sergiliyor.
ReversingLabs, geliştirmenin npm’de ortaya çıkarılan çok aşamalı bir enfeksiyon dizisinin nadir örneklerinden biri olduğunu söyledi.
Valentić, “Yazılım tedarik zincirini hedef alan kötü amaçlı kampanyalarda, karmaşık ve basit saldırılar arasındaki fark, genellikle kötü niyetli aktörlerin saldırılarını gizlemek ve kötü niyetli paketlerini meşru göstermek için gösterdikleri çaba düzeyine iner.”
Özellikle modüller, kötü niyetli işlevlerini kurulumdan sonra çağrılan postinstall.js adlı ayrı bir dosyada akıllıca gizler.
Bunun nedeni, orijinal noblox.js paketinin, belgelerine ve GitHub deposuna bağlantıların yanı sıra kullanıcılarına bir teşekkür mesajı görüntülemek için aynı ada sahip bir dosya kullanmasıdır.
Sahte varyantlar ise, paketin bir Windows makinesine yüklenip yüklenmediğini doğrulamak için JavaScript dosyasını kullanır ve öyleyse, Discord CDN’de barındırılan ikinci aşama bir yükü indirip yürütür veya alternatif olarak bir hata gösterir. İleti.
ReversingLabs, ikinci aşamanın her yinelemede gelişmeye devam ettiğini ve analizi engellemek için aşamalı olarak daha fazla işlevsellik ve şaşırtma mekanizması eklediğini söyledi. Komut dosyasının birincil sorumluluğu, kimlik bilgilerini web tarayıcılarından ve Discord belirteçlerinden sifonlayabilen bir Python aracı olan Luna Token Grabber’ı indirmektir.
Bununla birlikte, npm kampanyasının arkasındaki tehdit aktörünün, Luna Token Grabber’ın arkasındaki yazar(lar) tarafından sağlanan yapılandırılabilir bir oluşturucuyu kullanarak kurbanlardan yalnızca sistem bilgilerini toplamayı seçmiş gibi görünüyor.
Bu, Luna Token Grabber’ın vahşi doğada ilk kez tespit edilişi değil. Bu Haziran ayının başlarında Trellix, kötü amaçlı yazılım türüyle örtüşen Skuld adlı yeni bir Go tabanlı bilgi hırsızının ayrıntılarını açıkladı.
Valentić, “Geliştiricileri benzer şekilde adlandırılmış, meşru paketler kisvesi altında kötü amaçlı kod indirmeleri için kandırmak için bir teknik olarak yazım hatası kullanan kötü niyetli aktörlerin eğilimini bir kez daha vurguluyor.”