Kimlik avı saldırısı, görünmez unicode hilesini kullanarak javascript’i gizler


Hacker

İkili değerleri temsil etmek için görünmez Unicode karakterlerini kullanan yeni bir JavaScript gizleme yöntemi, bir Amerikan Siyasi Eylem Komitesi’nin (PAC) bağlı kuruluşlarını hedefleyen kimlik avı saldırılarında aktif olarak istismar edilmektedir.

Saldırı, Ocak 2025’in başlarında gerçekleştiğini bildiren Juniper tehdit laboratuvarları, şu şekilde kullanımı gibi sofistike belirtiler taşıyor:

  • Hedef mağdurlara kişiselleştirilmiş halka açık olmayan bilgiler,
  • Hata Ayıklayıcı Kesme Noktası ve Zamanlama Tespitten Kaçmak İçin Çekler,
  • Nihai kimlik avı hedeflerini gizlemek için özyineli olarak sarılmış postmark izleme bağlantıları.

JavaScript geliştiricisi Martin Kleppe ilk olarak Ekim 2024’te gizleme tekniğini açıkladı ve gerçek saldırılarda hızlı benimsenmesi, yeni araştırmaların ne kadar hızlı silahlandığını vurguluyor.

JS yüklerini “görünmez” yapmak

Yeni gizleme tekniği, özellikle Hangul yarı genişliği (U+FFA0) ve Hangul tam genişliği (U+3164) görünmez Unicode karakterlerini kullanır.

JavaScript yükündeki her ASCII karakteri 8 bit ikili bir gösterime dönüştürülür ve içindeki ikili değerler (olanlar ve sıfırlar) görünmez hangul karakterleri ile değiştirilir.

Gizli kod, bir JavaScript nesnesinde bir özellik olarak saklanır ve Hangul Dolgu karakterleri boş alan olarak oluşturulduğundan, komut dosyasındaki yük, aşağıdaki resmin sonundaki boş alanda gösterildiği gibi boş görünüyor.

Beyaz Alan Kötü niyetli kodu saklıyor
Beyaz Alan Kötü niyetli kodu saklıyor
Kaynak: Juniper

Kısa bir bootstrap komut dosyası, bir JavaScript proxy ‘get () tuzağı’ kullanarak gizli yükü alır. Gizli özelliğe erişildiğinde, proxy görünmez hangul dolgu karakterlerini ikili haline getirir ve orijinal JavaScript kodunu yeniden yapılandırır.

Juniper analistleri, saldırganların, senaryoyu Base64 ile kodlamak ve analizden kaçınmak için anti-tahrip kontrolleri kullanmak gibi yukarıdakilere ek olarak ekstra gizleme adımları kullandığını bildiriyor.

Base64 Bir dizi hangul dolgu karakterinin kodlanması
Base64 Bir dizi hangul dolgu karakterinin kodlanması
Kaynak: Juniper

Juniper, “Halka açık olmayan bilgiler de dahil olmak üzere saldırılar son derece kişiselleştirildi ve ilk JavaScript, analiz ediliyorsa bir hata ayıklayıcı kesme noktası çağırmaya çalışacak, bir gecikme tespit edecek ve daha sonra iyi huylu bir web sitesine yönlendirerek saldırıyı iptal edecek.”

Boş boşluk, güvenlik tarayıcılarının bile kötü niyetli olarak işaretleme olasılığını azalttığı için saldırıların tespit edilmesi zordur.

Yük sadece bir nesnedeki bir özellik olduğundan, şüphe yaratmadan meşru komut dosyalarına enjekte edilebilir; Ayrıca, tüm kodlama işleminin uygulanması kolaydır ve gelişmiş bilgi gerektirmez.

Juniper, bu kampanyada kullanılan alanlardan ikisinin daha önce Tycoon 2FA kimlik avı kitine bağlı olduğunu söyledi.

Eğer öyleyse, muhtemelen gelecekte daha geniş bir saldırgan yelpazesi tarafından benimsenen bu görünmez gizleme yöntemini göreceğiz.



Source link