Giriş
Son dönemlerde npm kayıtlarında, Strapi CMS eklentileri olarak gizlenen 36 zararlı paket keşfedildi. Bu paketler, saldırganlar tarafından Redis ve PostgreSQL istismarlarını, ters kabloları yaymayı, kimlik bilgilerini toplama ve kalıcı bir implant kurmayı sağlamak için kullanılıyor.
Saldırı Nasıl Çalışıyor?
Keşfedilen paketlerin her biri, version 3.6.8 ile kullanıcıları yanıltmak amacıyla Strapi v3 topluluk eklentisi gibi görünmektedir. Her paket, package.json, index.js ve postinstall.js dosyaları içerir ve hiçbir tanım, depo veya ana sayfa sağlamaz. Paketlerin isimleri “strapi-plugin-” ile başlamakta ve geliştiricilerin dikkatini çekmek için “cron”, “database” veya “server” gibi kelimeler içermektedir.
Bu zararlı paketler, “umarbek1233”, “kekylf12”, “tikeqemif26” ve “umar_bektembiev1” adlı sahte hesaplar tarafından yüklenmiştir ve aşağıdaki gibi adlandırılmıştır:
- strapi-plugin-cron
- strapi-plugin-config
- strapi-plugin-server
- strapi-plugin-database
- strapi-plugin-core
- … (diğerleri)
Zararlı kod, kullanıcı etkileşimi olmadan gerçekleştirilen postinstall scripti aracılığıyla çalıştırılmaktadır. Bu script, kurulum sırasında kullanıcının sahip olduğu izinlerle çalışır ve bu, CI/CD ortamları ve Docker konteynerleri içinde kök erişimi istismar eder.
Etkilenen Sistemler
Zararlı yazılımın dağıtımı sırasında mevcut olan payload’lar şunlardır:
- Ulaşıma açık bir Redis örneğini uzaktan kod yürütme için kullanmak; her dakika bir remote server’dan shell script indirmek için crontab girişi eklemek.
- Redis istismarını Docker konteynerinden çıkışla birleştirerek shell payload’larını ana makine dosya sistemine yazmak.
- Credential hırsızlığı gerçekleştirerek önceden belirlenmiş yolları taramak ve kalıcı bir ters kablo oluşturmak.
Çözüm ve Korunma
Kullanıcıların, yukarıda belirtilen paketlerden herhangi birini yükledikleri takdirde, sistemlerinin tehlikeye girmiş olabileceğini dikkate alarak tüm kimlik bilgilerini değiştirmeleri önerilir. Ayrıca, aşağıdaki önlemleri alarak korunabilirsiniz:
- Kullanılmayan npm paketlerini kaldırın.
- Geliştirme ortamınızda kök ayrıcalıklarını sınırlayın.
- Güncellemeleri ve yamaları düzenli olarak uygulayın.
Son olarak, bu tür olayların artış göstermesi nedeniyle, npm ve PyPI gibi paket havuzlarının daha fazla dikkatle izlenmesi gereklidir.
Geliştiricilere, sistem güvenliklerini artırmak ve potansiyel saldırılara karşı daha iyi korunmak amacıyla güncellemeleri takip etmeleri ve bilinmeyen paketlere karşı temkinli olmaları önerilmektedir.


