Derinlemesine Analiz: Axios Tedarik Zinciri Saldırısı ve RAT Gerçeği
31 Mart 2026 tarihinde, haftada 50 milyondan fazla indirilen popüler Node.js HTTP istemcisi Axios, son yılların en sofistike tedarik zinciri (supply chain) saldırılarından birinin kurbanı oldu. Saldırganlar, çekirdek geliştiricilerden birinin (maintainer) npm oturum token'ını çalarak (Session Hijacking) 2FA korumalarını aştı.
Saldırganlar doğrudan Axios'un kaynak kodunda değişiklik yapmak yerine, package.json dosyasına dışarıdan masum görünen bir paket eklemeyi tercih ettiler: plain-crypto-js@4.2.1. Bu gizli payload, sistemlere hedef işletim sistemine özel, çapraz platform çalışan gelişmiş bir Uzaktan Erişim Truva Atı (RAT) yerleştiriyor.
Eresus Security Tehdit İstihbarat Ekibi olarak bu zararlı kütüphaneyi tersine mühendislik ile analiz ettik. İşte enfeksiyon zincirinin adım adım teknik anatomisi.
Enfeksiyon Vektörü: Bir Obfuscation (Gizleme) Şaheseri
Saldırganlar Axios'un 1.14.1 ve 0.30.4 numaralı iki virüslü sürümünü npm'e yükledi. Resmi depoda göze çarpan tek değişiklik, package.json dosyasındaki yeni bağımlılıktı:
{
"dependencies": {
"follow-redirects": "^1.15.6",
"form-data": "^4.0.0",
"plain-crypto-js": "~4.2.1"
}
}
Zararlı paket plain-crypto-js, sıradan bir kriptografi aracı gibi davranıyor. Ancak asıl saldırganlık npm yaşam döngüsü komutlarında gizli. plain-crypto-js indirildiği anda, package.json içindeki postinstall kancası (hook) otomatik olarak tetikleniyor:
"scripts": {
"postinstall": "node ./lib/init-crypto.js"
}
Aşama 1: Loader (init-crypto.js) ve Kaçış Yöntemleri
Geliştiriciler veya CI/CD sunucuları (GitHub Actions, GitLab CI, Jenkins) projeyi derlemek için npm install komutunu çalıştırdığında postinstall betiği devreye girer. init-crypto.js dosyası doğrudan zararlı komutlar barındırmaz. Bunun yerine, Base64 ile kodlanmış ve AES-256 ile şifrelenmiş devasa bir metin bloğu içerir.
Şifrenin çözülmesi için gereken anahtar (Decryption Key), masum görünen bir DNS TXT kaydından dinamik olarak çekilir (Domain Generation Algorithm tekniği). Şifreli payload diskte hiçbir iz bırakmadan sadece bellek üzerinde (in-memory) çözümlenir.
Betiğin bir diğer kritik özelliği OS Profiling yapmasıdır:
- Node.js'in
osmodülünü kullanarak sistemin platformunu (win32,darwin,linux) tespit eder. - Sistemin bir siber güvenlik analiz laboratuvarı (sandbox) veya test ortamı olup olmadığını anlamak için MAC adreslerini ve çevresel değişkenleri (
CI_TEST,SANDBOX_ENV) kontrol eder. Ortam güvenliyse yürütmeyi durdurur.
Aşama 2: Çapraz Platform RAT (Remote Access Trojan)
Sistem "gerçek bir kurban" olarak işaretlenirse, betik hedef mimariye uygun ikincil bir Binary dosyası indirir (Örn: Linux CI sunucuları için bir ELF dosyası, Windows geliştirici makineleri için .exe). C2 (Komuta Kontrol) sunucusundan sızan bu RAT şu üç yıkıcı işlevi yerine getirir:
1. Kitlesel Kimlik Bilgisi (Credential) Hırsızlığı
RAT, dosya sistemini tarayarak .env, *.pem, id_rsa ve config.json gibi dosyaları hedefler. Özellikle:
- AWS, Azure ve GCP Erişim Anahtarlarını
- Veritabanı bağlantı dizelerini (
DATABASE_URL) - Stripe veya ödeme sistemi API anahtarlarını çekerek C2 sunucusuna sızdırır.
2. Şifreli Reverse Shell (Arka Kapı)
Kurban bilgisayardan C2 sunucusuna HTTPS trafiği gibi görünen şifreli bir WebSocket bağlantısı açılır. Bu sayede Saldırı Tespit Sistemleri (IDS) tarafından fark edilmeden saldırgana makinede komut çalıştırma yetkisi verilir.
3. İç Ağda Yanal Hareket (Lateral Movement)
Kurumsal CI/CD sunucularında RAT, ~/.ssh/config ve /etc/hosts dosyalarını okur. Şifresiz SSH anahtarları (Private Key) bulduğunda bunları kullanarak iç ağdaki diğer kritik sunuculara otomatik sıçrama yapar.
Saldırı Göstergeleri (Indicators of Compromise - IoC)
Zararlı Dosya Özetleri (SHA-256):
plain-crypto-js@4.2.1.tgz:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
C2 (Komuta Kontrol) Domainleri:
api-metrics-crypto[.]comcdn-telemetry-js[.]net
Şirketler İçin Acil Eylem Planı (Remediation)
Axios'un 1.14.1 veya 0.30.4 sürümlerini yanlışlıkla indirdiyseniz, geliştirici bilgisayarlarınızın ve CI/CD süreçlerinizin tamamen ele geçirildiğini varsaymalısınız.
- Tespit ve Sürüm Düşürme: Acilen
npm uninstall axiosvenpm uninstall plain-crypto-jskomutlarını çalıştırın.package.jsondosyanızda güvenli sürümü manuel kilitleyin (Örn:"axios": "1.14.0"). - Postinstall Kancalarını Durdurun: Kurumsal cihazlarınızda geçici olarak
npm config set ignore-scripts trueayarını etkinleştirerek 3. parti paketlerin otomatik betik çalıştırmasını engelleyin. - Kritik Parola Rotasyonu (En Önemlisi):
npm installkomutunun çalıştırıldığı tüm makinelerin.envdosyalarındaki AWS token'larını, veritabanı şifrelerini ve API anahtarlarını acilen iptal edin ve yenileyin. - Kalıcılık (Persistence) Avı: RAT'ın erişimini korumak için sistemde oluşturduğu yetkisiz Linux
cron job'larını veya Windows "Zamanlanmış Görevleri" inceleyin.
Otomatize zafiyet tarama araçları, derine gizlenmiş bu tarz tedarik zinciri kancalarını tespit edemez. Eresus Security olarak, Uzman Odaklı (Expert-led) DevSecOps ve Kaynak Kod analizlerimizle altyapınızdaki gizli zararlıları ve mimari zayıflıkları saldırganlardan önce tespit ediyoruz.