Saldırının Genel Çerçevesi
Yakın zamanda tespit edilen bir siber casusluk kampanyasında, Kuzey Kore bağlantılı tehdit aktörleri, Visual Studio Code (VS Code) projelerinin görev yapılandırma dosyalarını kötüye kullanarak yazılım geliştiricilerini hedef alıyor. Bu saldırılar, kullanıcıların GitHub, GitLab veya Bitbucket gibi platformlardan zararlı depoları klonlayıp VS Code’da açmalarıyla başlıyor. Açılan projelerde yer alan tasks.json dosyaları, “runOn: folderOpen” seçeneğiyle yapılandırılarak, proje klasörü açılır açılmaz zararlı komutların çalıştırılmasına olanak tanıyor.
Kampanyanın amacı, enfekte edilen sistemlerde işletim sistemine bağlı olarak Vercel platformunda barındırılan JavaScript tabanlı zararlı yükleri çalıştırmak ve böylece BeaverTail ve InvisibleFerret olarak adlandırılan arka kapıların dağıtımını sağlamak. Bu arka kapılar, uzak sunucularla sürekli iletişim kurarak sistem bilgilerini topluyor, uzaktan kod çalıştırma yetenekleri sağlıyor ve sistemde kalıcı erişim oluşturuyor.
Saldırı Zinciri ve Teknik Detaylar
Saldırı zinciri şu aşamalardan oluşuyor:
- Kurban, tehdit aktörlerinin sağladığı kötü amaçlı Git deposunu klonlar.
- VS Code’da proje açılır açılmaz, tasks.json dosyasındaki görevler otomatik olarak tetiklenir.
- Bu görevler, Vercel üzerinde barındırılan JavaScript yüklerini indirip çalıştırır.
- JavaScript kodları, uzak sunucularla iletişim kurar, ek komutlar alır ve sistemde kalıcı arka kapılar oluşturur.
- Yedek mekanizma olarak, zararsız görünümlü yazım denetimi sözlükleri gibi dosyalar kullanılarak kötü amaçlı yazılım gizlenir.
macOS sistemlerinde, nohup bash -c komutu ile Node.js çalışma zamanı doğrudan kullanılarak JavaScript yükü arka planda çalışmaya devam eder. Bu sayede VS Code kapatılsa bile kötü amaçlı süreçler etkisiz hale getirilmez. Ayrıca, indirilen JavaScript kodları her beş saniyede bir sunucuya sinyal gönderir ve operatörden aldığı komutlarla etkinlik izlerini temizler.
Kampanyada, TsunamiKit (Tsunami) arka kapısı ve XMRig kripto para madencisi gibi zararlılar da kullanılıyor. Ayrıca, grayavatar adlı zararlı npm bağımlılığı ve karmaşık Node.js denetleyicileri aracılığıyla tuş kaydı, ekran görüntüsü alma, hassas dosya taraması, cüzdan adresi değiştirme ve kimlik bilgisi hırsızlığı gibi işlevler gerçekleştiriliyor.
Hangi Sistemler Risk Altında?
Özellikle kripto para, blok zinciri ve fintech sektörlerinde çalışan yazılım mühendisleri hedefleniyor. Bu kullanıcılar, finansal varlıklara ve dijital cüzdanlara erişim sağladıkları için saldırganlar açısından yüksek değer taşıyor. Saldırganların amacı, bu erişimi ele geçirerek kaynak kodu, fikri mülkiyet ve dijital varlıklara yetkisiz erişim elde etmek.
Siber Güvenlik Ekipleri İçin Öneriler
- Üçüncü taraf Git depolarını klonlamadan önce kaynak kodu ve yapılandırma dosyalarını dikkatle inceleyin.
- VS Code görev yapılandırma dosyalarının (tasks.json) içeriğini doğrulamadan çalıştırmayın.
- Onaylanmamış veya şüpheli npm paketlerinin yüklenmesini engelleyin.
- EDR çözümlerinde VS Code süreçlerine yönelik anormal komut çalıştırma aktivitelerini izleyin.
- SIEM sistemlerinde Vercel ve benzeri bulut platformlarından gelen ağ trafiğini analiz edin.
- Geliştirici makinelerinde ağ segmentasyonu uygulayarak zararlı kodun yayılmasını önleyin.
- Multi-Factor Authentication (MFA) ve Zero Trust prensiplerini uygulayarak erişim kontrollerini sıkılaştırın.
- Olay müdahale (incident response) planlarında bu tür IDE tabanlı saldırı senaryolarını dahil edin.
Teknik Özet
- Kullanılan zararlılar: BeaverTail, InvisibleFerret, TsunamiKit, XMRig, grayavatar npm bağımlılığı
- Hedef sektörler: Kripto para, blok zinciri, fintech
- Saldırı zinciri: Kötü amaçlı Git deposu klonlama → VS Code’da proje açma → tasks.json ile zararlı JavaScript çalıştırma → arka kapı ve kripto madencisi dağıtımı
- Teknik detaylar: VS Code görev yapılandırmalarının kötüye kullanımı, Node.js ve nohup bash ile kalıcı JavaScript yürütme, Vercel tabanlı komut ve kontrol (C2) sunucuları
- Önerilen savunma: Kaynak kodu incelemesi, EDR ve SIEM entegrasyonları, ağ segmentasyonu, MFA, güvenli yazılım geliştirme yaşam döngüsü (SDLC) uygulamaları
