FortiGuard Labs, her biri kendine özgü kod stiline sahip dokuz grup kötü amaçlı NPM paketi belirledi.
FortiGuard Labs, JavaScript geliştiricilerinin birincil yazılım deposu olan NPM’de (Düğüm Paketi Yöneticisi) gizlenmiş bir dizi kötü amaçlı paketi ortaya çıkardı. Araştırmacılar, PyPI ve NPM de dahil olmak üzere birçok ekosistemdeki hain açık kaynak paketlerini tespit etmek için tasarlanmış özel bir sistem kullandılar.
Bu makalede, bu kötü amaçlı paketlerin dünyasını inceleyerek bunları kodlama kalıplarına ve işlevlerine göre kategorilere ayıracağız.
Hassas Verileri Çalan Kötü Amaçlı NPM Paketleri
Bu kötü amaçlı NPM paketleri, sistem bilgileri, kullanıcı kimlik bilgileri ve kaynak kodu gibi hassas verileri çalar. Paketler, verileri web kancalarına veya dosya paylaşım bağlantılarına aktarmak için yükleme komut dosyalarını kullanır.
Paketler, kötü amaçlı açık kaynaklı paketleri keşfetmeye adanmış bir sistem kullanılarak bulundu. Fortinet, her biri kendine özgü kod stiline sahip dokuz kötü amaçlı paket kümesi belirledi.
Bu kötü amaçlı paketlerin çoğu, kurulumdan önce veya sonra çalıştırılan kurulum komut dosyaları kullanır. Bir NPM paketi yüklendiğinde bu komut dosyaları etkinleştirilir ve potansiyel tehditler. Kötü amaçlı paketler tarafından kullanılan en yaygın tekniklerden bazıları şunlardır:
- Verileri web kancalarına veya dosya paylaşım bağlantılarına aktarmak için yükleme komut dosyalarını kullanma.
- Kaynak kodu ve yapılandırma dosyaları gibi hassas dosya ve dizinlerin taranması.
- Kötü amaçlı yürütülebilir dosyaların indirilmesi ve çalıştırılması.
Gelin bu zararlı paketlere ve amaçlarına daha yakından bakalım.
İlk Set: Gizli Gündemin Ortaya Çıkarılması
İlk paket grubu, gizlenmiş bir index.js betiğini gizler. Bu karışıklığa rağmen, keskin gözler tehlike işaretlerini yükselten şüpheli dizileri tespit edebilir. Daha fazla araştırma yapıldığında, bu paketlerin aşağıdakiler de dahil olmak üzere hassas verileri çıkarmayı amaçladığı ortaya çıkıyor: Kubernet’ler yapılandırmalar, SSH anahtarları ve diğer hayati bilgilerin tümü önceden bildirimde bulunulmadan sağlanır.
İkinci Set: Değerli Verilerin Peşinde
İkinci gruptaki paketler, sorgu parametreleriyle birlikte belirli bir URL’ye bir HTTP GET isteği başlatarak çalışır. Hassas bilgileri barındırabilecek dosya ve dizinleri hassas bir şekilde tararlar.
Bu komut dosyası yetkisiz erişime izin verecek kadar ileri gidiyor kritik geliştirici verilerinin çıkarılmasıkaynak kodu ve yapılandırma dosyaları dahil. Bu tür dosyalar genellikle değerli fikri mülkiyet hakları ve hassas kimlik bilgileri içerir ve bunlar daha sonra arşivlenir ve bir FTP sunucusuna yüklenir.
Üçüncü Set: Bir Discord Webhook Soygunu
Bu sette index.mjs kurulum komut dosyası, sistem ayrıntıları, kullanıcı adları ve klasör içerikleri gibi hassas bilgileri dışarı çıkarmak için bir Discord web kancasını kullanır.
Dördüncü Set: Veri Hırsızlığına Farklı Bir Yaklaşım
Üçüncü sete benzer şekilde, bu paketler de hassas verileri çalmak için index.mjs kurulum komut dosyasına ve Discord web kancasına güveniyor. Ancak haylazlık faaliyetleri için farklı bir kodlama stili kullanıyorlar.
Beşinci Set: Kullanıcı Bilgilerini Hedeflemek
Bu beşinci set, bir web kancası kullanarak ana bilgisayar ve kullanıcı adı bilgilerinin yanı sıra ana dizinlerin içeriklerini çekmek için bir index.js yükleme komut dosyasından yararlanır.
Altıncı Set: Yaygın Bir Saldırı Tarzı
Keşfedilen paketler arasında en yaygın olanı olan bu set, hassas bilgileri çıkarmak için başka bir index.js kurulum komut dosyasını kullanıyor.
Yedinci Set: Savunmasız Bir Bağlantı
FortiGuard Labs’a göre rapor, bu sette paketler saldırıyı gerçekleştirmek için bir installer.js kurulum betiği kullanıyor. Ancak ‘NODE_TLS_REJECT_UNAUTHORIZED’ ortam değişkeni ‘0’ olarak ayarlandığından, TLS sertifika doğrulamasını etkili bir şekilde devre dışı bırakan ve bağlantıyı potansiyel olarak güvensiz ve saldırıya açık hale getiren dikkate değer bir güvenlik açığı mevcuttur. ortadaki adam (MITM) saldırıları.
Sekizinci Set: Şüpheli Dosyaların Otomatik Yürütülmesi
Bu paket, potansiyel olarak kötü amaçlı yürütülebilir bir dosyayı belirli bir URL’den C:/ dizinine otomatik olarak indirip çalıştırarak en uç noktaya gider.
Dokuzuncu Set: Mağdur Bilgilerini Toplama
Bu paket, kurbanın genel IP adresi de dahil olmak üzere sistem bilgilerini toplamak ve ardından bu verileri bir Discord web kancasına iletmek için farklı bir komut dosyası stili benimser.
Koruma
Fortinet, bu raporda tanımlanan kötü amaçlı dosyaları tespit etmek amacıyla FortiGuard AntiVirus hizmeti için imzalar yayınladı. FortiGuard Web Filtreleme Hizmeti ayrıca bu raporda belirtilen indirme URL’lerini de algılar ve engeller.
Şirket ayrıca kullanıcıların kendilerini bu kötü amaçlı paketlerden korumak için aşağıdaki adımları atmalarını da öneriyor:
- NPM paketlerinizi güncel tutun.
- Güvenilir bir paket yöneticisi kullanın.
- Projelerinizi kötü amaçlı bağımlılıklara karşı tarayın.
- Olağandışı yükleme komut dosyalarına veya davranışlara sahip paketlere karşı dikkatli olun
Sonuç: Dikkatli Olmak Önemlidir
Bu kötü amaçlı NPM paketlerinin keşfi, açık kaynaklı yazılım kullanırken dikkatli olmanın önemini hatırlatıyor. Kuruluşlar kendilerini bu tehditlerden korumak için NPM paketlerini güncel tutmak, güvenilir bir paket yöneticisi kullanmak, projelerini kötü amaçlı bağımlılıklara karşı taramak ve olağandışı yükleme komut dosyaları veya davranışları olan paketlere karşı dikkatli olmak gibi adımlar atmalıdır.
İLGİLİ MAKALELER
- 6 resmi Python deposu kripto madencilik kötü amaçlı yazılımlarıyla boğuşuyor
- CISA, JavaScript kitaplığının NPM paketinin truva atı haline getirilmiş sürümleri konusunda uyardı
- VMCONNECT: Yaygın Python Araçlarını Taklit Eden Kötü Amaçlı PyPI Paketi
- Kötü Amaçlı Yer İmleri ve JavaScript Tarafından Hedeflenen Kripto Discord Toplulukları