Popüler kayıtlardaki kötü amaçlı paketler, hassas dosyaları ve ana bilgisayar telemetrisini sızdırmak için Discord web kancalarını kötüye kullanıyor, geleneksel C2 altyapısını atlıyor ve meşru HTTPS trafiğine karışıyor.
Discord web kancaları, POST isteklerini kabul eden basit HTTPS URL’leridir; URL’ye sahip olmanın ötesinde hiçbir kimlik bilgilerine ihtiyaç duymazlar ve trafik, 443 numaralı bağlantı noktası üzerinden masum JSON gibi görünür.
Socket’in Tehdit Araştırma Ekibi, saldırganların komuta ve kontrol (C2) uç noktaları olarak hizmet vermek üzere Discord web kancası URL’lerini açık kaynak paketlerine yerleştirdiği büyüyen bir eğilimi ortaya çıkardı.
Bir paketin kurulumu veya çalışma zamanı kodu bu web kancalarına bir veri gönderdiğinde saldırgan, kontrol ettiği bir Discord kanalındaki dosyaları, ana bilgisayar ayrıntılarını veya özel mesajları görür.
Klasik C2 sunucularının aksine, web kancaları güvenilir bir etki alanı üzerinde çalışır, güvenlik duvarı engellemelerini atlatır ve nadiren imza tabanlı algılamayı tetikler.
npm Paketleri Damlalık Örnekleri
mysql-dumpdiscord adlı bir npm paketinde, index.js betiği, her dosya adının mutlak yolunu çözümleyerek ve içeriğini okuyarak ortak yapılandırma dosyalarını (config.json, config.js, .env, ayarlar.json ve ayarlar.js) hedefler.
Hatalar sessizce yutulur ve bu sarmalayıcıyı kullanan herhangi bir kodun, kullanıcıları uyarmadan rastgele metinleri (ortam değişkenleri, API anahtarları veya komut çıktıları) dışarı çıkarmasına olanak tanır.
Dosya mevcutsa, komut dosyası bir mesaj oluşturur: 1.900 karakterin altındaki dosyalar bir kod bloğuna sarılır; daha uzun dosyalar Türkçe uyarıyla (‘Dosya çok büyük, kısaltıldı’) 1.900 karaktere kısaltılır.
Bu mesaj daha sonra sabit kodlanmış bir Discord webhook URL’sine JSON olarak POST edilir. Sonuç, tescilli bir C2 sunucusu yerine Discord’u kullanan basit bir dosya sızdırma damlalığıdır.
İkinci bir npm modülü olan nodejs.discord, yalnızca bir DiscordWebhook sınıfını içerir. Connect(…messages) yöntemi tüm argümanları bir dizede birleştirir ve Discord.js’nin WebhookClient’ını kullanarak bunları başka bir yerleşik webhook URL’sine gönderir.
PyPI’de malinssx paketi setuptools’un setup.py dosyasındaki install komutunu geçersiz kılar. RunPayload sınıfı, “Birisi maladicus paketini pip aracılığıyla yükledi!” şeklinde bir JSON yükü gönderiyor. (orijinal olarak Vietnamca) kurulumu tamamlamadan önce Discord web kancasına bağlanın. Bu kurulum zamanı kancası, saldırganlara çalışma zamanı yürütmesi olmadan her pip kurulumunda telemetri sağlayarak klasik bir tedarik zinciri riski oluşturur.
Benzer şekilde, kötü amaçlı bir Ruby cevheri olan sqlcommenter_rails, kapsamlı ana bilgisayar bilgilerini (/etc/passwd içerikleri, /etc/resolv.conf’tan DNS sunucuları, ana bilgisayar adı, geçerli ve ana dizinler ve api.ipify.org aracılığıyla genel IP) toplar.
Bu verileri gem meta verileri ve özel notlarla birlikte biçimlendirilmiş çok satırlı bir mesaja paketler, stdout’a yazdırır ve ardından JSON olarak HTTPS üzerinden Discord web kancasına POST’lar. Herhangi bir ağ sorunu sessizce göz ardı edilerek gizlilik sağlanır.
Görünüm ve Savunma Önlemleri
Discord web kancalarının silah haline getirilmesi, tedarik zinciri saldırılarının ekonomisini tersine çeviriyor. Tehdit aktörlerinin artık altyapı maliyetlerine veya alan adı kaydına ihtiyacı yok; kuruluşların zaten izin verdiği ücretsiz, dayanıklı kanallardan yararlanırlar.
Webhook URL’leri etkili bir şekilde salt yazılabilir olduğundan, kod ve güvenlik duvarı günlüklerinde gizlenerek tespit edilmekten kaçınırlar. Saldırganlar Discord’un ötesinde benzer amaçlarla Slack, Telegram ve GitHub web kancalarıyla deneyler yapıyor.
Savunmacılar web kancalarını potansiyel veri kaybı kanalları olarak ele almalıdır. Çıkış filtrelemesi, özellikle derleme sunucularından ve geliştirici iş istasyonlarından giden HTTPS için izin verilenler listelerini zorunlu kılmalıdır.
Kilit dosyaları, SLSA gibi kaynak çerçeveleri ve sıkı inceleme gibi bağımlılık yönetimi uygulamaları, kötü amaçlı paketlerin kurulumdan önce engellenmesi açısından kritik öneme sahiptir.
Çalışma zamanı izleme, yükleme kancalarında veya derleme komut dosyalarında ağ çağrılarını çağıran kodu işaretlemelidir. Geliştirici kimlik bilgilerinin dönüşümlü olarak kullanılması ve depolarda saklanan sırların en aza indirilmesi, sızıntının başarılı olması durumunda açığa çıkmayı sınırlayabilir.
Socket’in güvenlik araçları paketi bu tehditleri doğrudan ele alır. GitHub Uygulaması, sabit kodlanmış web kancaları ve kurulum zamanı kancaları için çekme isteklerini tarar.
Soket CLI, paket yüklemeleri sırasında aynı kontrolleri uygular. Soket Güvenlik Duvarı, bağımlılık alımlarına aracılık ederek bilinen kötü amaçlı paketleri geçici olarak engeller.
Bir tarayıcı uzantısı, kayıtlardaki şüpheli paketleri vurguluyor ve yapay zeka destekli kodlama araçları, asistanlar riskli bağımlılıklar önerdiğinde uyarı veriyor.
Kuruluşlar, odak noktasını davranışsal tespite ve tedarik zinciri hijyenine kaydırarak, hassas veriler geliştiricinin makinesinden çıkmadan önce Discord tabanlı C2 saldırılarını azaltabilir.
Anında Güncellemeler Almak ve GBH’yi Google’da Tercih Edilen Kaynak Olarak Ayarlamak için bizi Google Haberler, LinkedIn ve X’te takip edin.