Yazılım Tedarik Zincirine Sızan Yeni Tehlike: Discord Tabanlı Komuta Kontrol ve Kimlik Avı Saldırıları
Siber güvenlik araştırmacıları, son zamanlarda yazılım tedarik zincirine yönelik saldırılarda yeni bir trend belirlediler. npm, Python ve Ruby ekosistemlerinde tespit edilen bir dizi kötü amaçlı paket, Discord’u komuta ve kontrol (C2) kanalı olarak kullanarak çalınan verileri, saldırganların kontrolündeki web kancalarına aktarıyor. Bu durum, yazılım geliştiriciler ve siber güvenlik uzmanları arasında endişe yaratmış durumda.
Discord web kancaları, platformdaki kanallara bot kullanıcısı veya kimlik doğrulama gerektirmeden mesaj göndermenin bir yolunu sunar. Bu özellik, saldırganlar için verileri kendi kontrollerindeki bir kanala sızdırmak için cazip bir mekanizma haline geliyor. Socket araştırmacısı Olivia Brown’a göre, web kancası URL’leri etkin bir şekilde yalnızca yazılabilir özelliktedir. Bu da savunucuların kanal geçmişini okuyamayacağı ve URL’yi bilerek geçmiş gönderileri geri alamayacağı anlamına geliyor.
Socket, Discord web kancalarını farklı şekillerde kullanan bir dizi paket tespit etti. Bunlar arasında;
- mysql-dumpdiscord (npm): Geliştirici yapılandırma dosyalarının (config.json, .env, ayarlar.js ve ayarlar.json gibi) içeriğini bir Discord web kancasına aktarır.
- nodejs.discord (npm): Muhtemelen uyarıları kaydetmek için bir Discord web kancası kullanır (doğası gereği kötü amaçlı bir yaklaşım değildir).
- malinssx, malicus ve maliinn (PyPI): “pip install” kullanılarak paketler her yüklendiğinde bir kanala HTTP isteği tetikleyerek Discord’u bir C2 sunucusu olarak kullanır.
- sqlcommenter_rails (RubyGems.org): “/etc/passwd” ve “/etc/resolv.conf” gibi hassas dosyaların içeriği dahil olmak üzere ana bilgisayar bilgilerini toplar ve sabit kodlanmış bir Discord web kancasına gönderir.
Brown, Discord web kancalarının C2 olarak kullanılmasının, tedarik zinciri saldırılarının ekonomisini değiştirdiğini belirtiyor. Tehdit aktörleri, ücretsiz ve hızlı bir şekilde kendi altyapılarını barındırmaktan ve bakımını yapmaktan kaçınıyor. Ayrıca, genellikle normal kod ve güvenlik duvarı kurallarına karışarak, güvenli mağdurlardan bile veri sızdırılmasına olanak tanıyorlar.
Discord C2 mekanizmasına sahip kötü amaçlı paketler, yükleme zamanı kancaları veya derleme komut dosyalarıyla eşleştirildiğinde, çalışma zamanı izleme uygulamayı görmeden çok önce geliştirici makinelerinden ve CI çalıştırıcılarından .env dosyalarını, API anahtarlarını ve ana bilgisayar ayrıntılarını sessizce sızdırabilir. Bu durum, özellikle hassas bilgilerin korunması gereken ortamlarda ciddi bir risk oluşturuyor.
“Bulaşıcı Mülakat” Saldırısı: Sahte Paketlerle npm’e Sızma
Bu ifşaat, şirketin Kuzey Koreli tehdit aktörleri tarafından yayınlanan ve “Bulaşıcı Mülakat” kampanyasıyla ilişkili 338 kötü amaçlı paketi işaretlemesiyle aynı zamana denk geliyor. Bu paketler, doğrudan JavaScript hırsızı ve indiricisi bırakmak yerine, HexEval, XORIndex ve BeaverTail’i teslim eden şifreli yükleyiciler gibi kötü amaçlı yazılım ailelerini dağıtmak için kullanılıyor. Paketler toplu olarak 50.000’den fazla kez indirildi.
Güvenlik araştırmacısı Kirill Boychenko’ya göre, Kuzey Koreli tehdit aktörleri bu son dalgada yeni npm takma adlarına ve kayıt e-postalarına bağlı 180’den fazla sahte persona kullandı ve bir düzineden fazla komuta ve kontrol (C2) uç noktasını çalıştırdı.
Kampanyanın hedefleri arasında Web3, kripto para birimi ve blok zinciri geliştiricileri ile teknik sektördeki iş arayanlar yer alıyor. Potansiyel hedeflere LinkedIn gibi profesyonel platformlarda cazip fırsatlarla yaklaşılıyor. Daha sonra, potansiyel hedeflerden, npm kayıt defterinde zaten yayınlanmış olan kötü amaçlı bir pakete (örneğin, eslint-detector) referans veren tuzaklı bir depoyu klonlayarak bir kodlama ödevi tamamlamaları isteniyor.
Yerel makinede çalıştırıldığında, sözde projede başvurulan paket, tarayıcı kimlik bilgilerini, kripto para cüzdanı verilerini, macOS Anahtarlığını, tuş vuruşlarını, pano içeriğini ve ekran görüntülerini toplamak için bir hırsız (yani BeaverTail) görevi görüyor. Kötü amaçlı yazılım, InvisibleFerret kod adlı çapraz platformlu bir Python arka kapısı da dahil olmak üzere ek yükler indirmek için tasarlanmıştır.
Kuzey Koreli aktörler tarafından yüklenen yüzlerce paketin çoğu, özellikle Node.js, Express veya React gibi ön uç çerçeveleriyle ilgili olanlar olmak üzere, meşru muadillerinin yazım hatalı versiyonlarıdır (örneğin, dotevn – dotenv). Tespit edilen bazı kitaplıkların Web3 kitlerinin (örneğin, ethrs.js – ethers.js) benzerleri olduğu da bulunmuştur.
Boychenko, “Bulaşıcı Mülakat, bir siber suç hobisi değil, bir montaj hattı veya fabrika modeli tedarik zinciri tehdidi gibi çalışıyor” diyor. “Bu, bir hafta sonu ekibi değil, dayanıklı kaynaklara sahip, devlet tarafından yönetilen, kota güdümlü bir operasyondur ve ilişkili yayıncı hesabı aktif kalırsa kötü amaçlı bir paketi kaldırmak yetersizdir.”
Kampanyanın yörüngesi, npm ekosistemini yenilenebilir bir ilk erişim kanalı olarak gören, dayanıklı, fabrika tarzı bir operasyona işaret ediyor. Bu durum, yazılım tedarik zincirine yönelik saldırıların giderek daha karmaşık ve organize hale geldiğini gösteriyor.
Bu tür saldırılara karşı korunmak için, geliştiricilerin ve siber güvenlik uzmanlarının dikkatli olması, bilinmeyen kaynaklardan gelen paketleri indirmekten kaçınması ve düzenli olarak sistemlerini güvenlik açıkları için taraması önemlidir. Ayrıca, yazılım tedarik zinciri güvenliğini sağlamak için geliştirilen araçlar ve teknolojiler de kullanılmalıdır.


