Newtonsoft.Json taklidi pakette Digitain’i hedef alan gizli kod bulundu

Anasayfa » Newtonsoft.Json taklidi pakette Digitain’i hedef alan gizli kod bulundu
Newtonsoft.Json taklidi pakette Digitain’i hedef alan gizli kod bulundu

NuGet paket deposuna yüklenen ve gerçek Newtonsoft.Json kütüphanesini taklit eden Newtonsoftt.Json.Net adlı paket, çalışan bir JSON aracı gibi görünürken Digitain’in crash-game altyapısını hedef alan trojan kodu taşıyordu. Paket şimdiye kadar yaklaşık 1.200 kez indirildi; yayımlanan sürümler arasında 11.0.4, 11.0.5, 11.0.7, 11.0.8, 11.0.9, 11.0.10 ve 11.0.11 yer aldı.

Güvenlik araştırmacılarının incelemesine göre paket, tek bir kurumu hedef alacak şekilde tasarlandı. Diğer kullanıcılar yanlışlıkla bu paketi kurduğunda işlevsel bir Newtonsoft.Json derlemesiyle karşılaşıyor; kötü niyetli davranış ise yalnızca hedef sistem belirli bir arka uç metodunu açığa çıkarıyorsa ve JsonConvert.DefaultSettings tetiklenirse devreye giriyor.

Paketin sahibi MagicalPuff96, yükü NuGet üzerinde aramalarda görünmeyecek şekilde unlisted duruma getirdi. Buna rağmen paket öğeleri kayıt defterinden indirilebiliyor. JFrog, yayımlanan tüm yedi sürümün aynı trojanized fork’u içerdiğini ve bu yapının üç nesle yayıldığını bildirdi.

Hedef, crash-game sonuçlarını manipüle edip dışarı aktarmak

İncelemede paketin amacının, çevrim içi bahis platformu Digitain’in işlettiği FG-Crash oyununda sonuçları bozmak olduğu aktarıldı. Sonraki nesillerde bu sahte sonuçlar, saldırganın kontrol ettiği sunucuya X-Seq-ApiKey: theperfectheist2025 başlığıyla gönderiliyor; dışarı aktarma noktası olarak da 185.126.237[.]64:5341 adresi kullanılıyor.

JFrog’un bulgularına göre paket, 13 Ağustos ile 10 Ekim 2025 arasında yayımlanan sürümler boyunca aynı trojanized fork üzerinde kalırken, değişen unsur obfuscation, rigging stratejisi ve dışarı aktarma yolu oldu. İlk nesil yalnızca yerel bir sonuç manipülasyonu kanıtı sunuyordu. İkinci nesil dışarı aktarma yeteneği kazandı, ancak bunu reflection ve ConfuserEx ile gizledi. Üçüncü nesilde kod sadeleşti ve dışarı aktarma daha kararlı hale geldi. 11.0.11 sürümünün ise tamamen obfuscation olmadan yayınlandığı, bunun da yanlışlıkla temiz bir derlemenin yüklenmiş olabileceği ihtimalini doğurduğu aktarıldı.

Kodun merkezinde, DefaultSettings özellik atayıcısına eklenen bir arka kapı bulunuyor. Bu bölüm, çalıştırıldığında saldırganın kontrolündeki kodu çağırıyor ve kötü amaçlı işlev tetiklenmeden önce rastgele bir gecikme ekliyor. JFrog, bu gecikmenin tespitten kaçınmak için kullanıldığını belirtti.

Teknik akış da hedefe göre şekillendirilmiş durumda. Paketi typo ile kuran geliştirici, ilk aşamada yalnızca çalışan bir JSON kitaplığı görüyor. Kötü amaçlı davranış, host tarafında JsonConvert.DefaultSettings ayarlandıktan sonra başlıyor ve yalnızca FG-Crash arka ucunda bulunan belirli metodun erişilebilir olduğu sistemlerde başarıya ulaşabiliyor. Guy Korolevski, bu yüzden paketin normal kullanıcılar için sessizce çalıştığını, asıl etkinin yalnızca hedef kuruluşta ortaya çıktığını belirtti.

Korolevski, trojanın yalnızca JsonConvert.DefaultSettings atandığında ve yalnızca FG-Crash arka ucunda bulunan metod üzerinde yamalama yapabildiğinde çalıştığını vurguladı. Ona göre hedeflenmeyen kullanıcılar işlevsel bir JSON kütüphanesi görmeye devam edebilir ve herhangi bir rigging davranışıyla karşılaşmayabilir. Araştırmacı, bunun typo squat saldırısını etkili kılan unsur olduğunu söyledi.

Yükün kapsamı sınırlı tutulmuş. Kodda kimlik bilgisi çalma, kalıcılık sağlama ya da ağ içinde yatay hareket etme yeteneği bulunmuyor. Paket, geliştiricinin makinesine ya da başka bir kuruma zarar vermekten çok, crash oyununun bütünlüğünü bozmayı amaçlıyor. Bu nedenle, yanlışlıkla paketi kuran bazı geliştiriciler ne zararlı yazılımı fark edebiliyor ne de uygulamalarında doğrudan bir sorun yaşıyor.

Pakete ait metadata’da da dikkat çekici bir ayrıntı bulundu: her sürümde iç bir Digitain depo bağlantısının yedi kez sızdığı görüldü. Bu, paketin yazarının FG-Crash kaynak koduna erişmiş olabileceğine işaret ediyor. Araştırmacılar, trojanın yalnızca JsonConvert.DefaultSettings atandığında ve yalnızca FG-Crash arka ucunda bulunan metod üzerinde yamalama yapabildiğinde çalıştığını yineledi.

Adını gizleyen ya da meşru paketleri taklit eden NuGet yükleri yazılım tedarik zincirinde uzun süredir kullanılıyor. Bu olayda ise farkı yaratan, kötü amaçlı kodun herkese eşit şekilde saldırmaması oldu. Paket bir yandan gerçek Newtonsoft.Json işlevselliği sunuyor, diğer yandan yalnızca belirli bir organizasyonun arka ucuna özel bir manipülasyon katmanı taşıyor.

Digitain, sorunun farkında olduğunu ve çözüm için adım attığını bildirdi. Buna karşın maruziyetin tam kapsamı henüz netleşmiş değil. JFrog, geliştiricilere sahte paketi kaldırmalarını, komuta ve kontrol adresini engellemelerini ve Newtonsoft.Json sürümünü packages.lock.json üzerinden bilinen sağlam bir sürüme sabitlemelerini önerdi.