GitHub'da sahte güvenlik araçları: Doctor Web, 2.000'den fazla bilgisayara bulaşan ve EDR hook'larını söken loader'ı anlattı
Doctor Web, Visual Studio projelerine ve Python/Go dosyalarına gizlenen kötü amaçlı GitHub depolarının artık güvenlik uzmanlarını hedeflediğini açıkladı. Trojan.Loader.3261, ntdll unhooking, AMSI ve ETW patch'i gibi tekniklerle güvenlik ürünlerini atlatıp ESET, McAfee ve Malwarebytes'ı kaldırmaya çalışıyor.
Doctor Web, 5 Kasım'da yayımladığı analizde yaklaşık iki yıldır süren bir GitHub kampanyasının hedefini değiştirdiğini duyurdu. İlk dönemde blockchain oyunları, oyun bot'ları ve hile araçları kılığına giren depolar artık tarama otomasyonu, güvenlik testi ve log analizi araçları gibi görünüyor; örneklerden biri Fscan çıktısını ayrıştırdığını iddia eden sahte bir script. Şirkete göre kampanya şimdiye kadar 2.000'den fazla bilgisayara bulaştı.
Kötü amaçlı kod, Visual Studio proje dosyalarındaki derleme öncesi olaylara (PreBuildEvent) ve .go/.py dosyalarında uzun boşluk dizilerinin arkasına gizleniyor. Projeyi derleyen ya da script'i çalıştıran kişi farkına varmadan bir PowerShell script'i başlatıyor; bu script Pastebin, Telegram, Google Docs gibi meşru servislerden şifreli bir bağlantı alıp Electron tabanlı Microsoft.exe (Trojan.Loader.3261) loader'ını indiriyor.
Endpoint güvenliğini nasıl atlatıyor?
Doctor Web'in aktardığına göre loader'ın varsayılan modu şu teknikleri birlikte kullanıyor:
- explorer.exe'yi üst süreç gibi gösteren PPID spoofing,
- Smart App Control'ü kayıt defteri değeriyle devre dışı bırakma,
ntdll.dll'i diskteki temiz kopyasıyla geri yükleyerek EDR hook'larını sökme (unhooking),- Halo's Gate yöntemiyle doğrudan syscall,
EtwEventWriteveAmsiScanBufferfonksiyonlarına bellekte patch.
Bu mod başarısız olursa Microsoft Defender'a dışlama (exclusion) ekleyip payload'ları RegAsm.exe'ye enjekte ediyor. Loader ayrıca Defender, UAC, System Restore ve VSS'yi kapatıyor, hosts dosyasıyla antivirüs üreticilerinin alan adlarını erişilemez kılıyor ve ESET, McAfee ile Malwarebytes'ı kaldırmaya çalışıyor.
Son aşama: backdoor, clipper, stealer
Son aşamada iki ayrı port üzerinden çalışan iki AsyncRAT kopyası, kripto cüzdan adreslerini değiştiren bir clipper ve tarayıcı verileri, FileZilla/MobaXterm/Total Commander yapılandırmaları, VPN ayarları ile Discord token'larını toplayan bir stealer kuruluyor. Veriler Telegram bot'u üzerinden çıkarılıyor. Doctor Web, IOC listesini GitHub'daki malware-iocs deposunda yayımladı.
Ne yapılmalı?
- GitHub'dan alınan güvenlik araçlarını derlemeden önce proje dosyalarını (özellikle
.csprojiçindeki PreBuildEvent ve.suodosyaları) ve uzun boşluk içeren kaynak dosyalarını inceleyin; mümkünse izole bir sanal makinede deneyin. - Doctor Web'in yayımladığı IOC'leri (alan adları, IP adresi, dosya yolları) SIEM ve EDR üzerinde tarayın.
- Defender dışlamalarını ve Smart App Control durumunu salt okunur olarak gözden geçirin; beklenmeyen bir dışlama alarm sebebidir:
Get-MpPreference | Select-Object ExclusionPath, ExclusionProcess
Get-MpComputerStatus | Select-Object AMServiceEnabled, RealTimeProtectionEnabled, IsTamperProtected
Get-Content C:\Windows\System32\drivers\etc\hosts- EDR tarafında Tamper Protection'ın açık olduğundan emin olun; geliştirme makinelerinden Telegram API'ye giden beklenmeyen trafiği ve derleme sürecinden başlayan PowerShell zincirlerini izleyin.
- Red team ve SOC ekiplerinin araç indirme sürecine onaylı depo listesi ve kod incelemesi adımı ekleyin.