Güvenlik firması Socket'in yayımladığı son araştırmalar, bir Go modülünün, DNS ve alt alan adı tarayıcısı gibi görünerek aslında ilk aşama Windows kötü amaçlı yazılım yükleyicisi olarak çalıştığını ortaya koydu. Yapılan incelemelerde bu modülün 190 hesaba yayılmış tam 222 GitHub deposuna ulaştığı tespit edildi. Modülün ilk sürümü bu yılın ocak ayında yayınlanmış olup, bugüne kadar bin 200'den fazla farklı versiyonu bulunuyor. Bunların 700'den fazlasının ise kötü amaçlı olduğu belirlendi. Socket, bu kampanya için “Operasyon Muck and Load” adını kullanıyor ve modülü engellenmesi için Go güvenlik ekibine bildirdi.
Go, semantik sürüm etiketi olmayan herhangi bir commit için commit zaman damgası ve hash'inden bir sözde sürüm türetiyor. Socket, tehdit aktörünün kendi GitHub Actions iş akışı sayesinde bu kadar çok sayıda sürüm oluşturabildiğini belirtiyor. Bu şekilde yapılan zamanlı commit'ler, bir tarayıcı aracının sürüm geçmişini yüzlerce versiyona şişirmiş.
Tespit edilen depolarda aynı iş akışının kullanıldığı görülüyor: Git e-posta adresi olarak [email protected] kullanılmış, görünen commit kullanıcı adı ise mevcut depo sahibi olarak ayarlanmış. Ardından, her dakika güncellenen bir log dosyası kuvvetlice gönderilmiş. Bu yöntem, geçici hesaplar üzerinden sahipliğe dayalı aktivite oluştururken, tek bir tekrar kullanılabilir parmak izi bırakmış. Socket, hem e-posta adresinin hem de iş akışının birlikte bulunduğu durumları sayarak en az 222 depoyu doğrulamış.
Modülün ana programı main.go, gizli bir PowerShell komutu çalıştırarak muckcoding.com adresinden içerik indiriyor. Bu içerik certutil ile çözülerek, yürütme politikası atlatılarak çalıştırılıyor. Çözülen betiğin, Base64 kodlaması ve XOR şifrelemesi kullanan çok katmanlı bir yükleyici olduğu belirtiliyor. Hatta bir katmanda, Türkçe olarak “doğrudan çalıştır, başka adım gerekmez” şeklinde bir yorum bulunuyor.
Yükleyici, bir payload URL’sini doğrudan kodlamak yerine, herkese açık platformlardan metin çekiyor. Bu metinlerde “LastW” işaretleyicisini arıyor, ardından eklenen veri bloğunu önceden belirlenmiş bir anahtarla çözerek gerçek indirme konumunu ortaya çıkarıyor. Başlıca gizlenme yerleri arasında Pastebin ve Rlim adında bir yapıştırma hizmeti bulunuyor. Alternatif olarak YouTube, Instagram, Telegram, Google Dokümanlar ve GitCode gibi platformlar da kullanılıyor. Savunma mekanizmaları bir yapıştırma hizmetini kaldırdığında veya son arşiv URL'sini engellediğinde, aktör ilk aşama yükleyiciyi değiştirmeden çözücü içeriğini güncelleyebiliyor.
Çözülen URL, bir GitHub sürüm varlığı olarak barındırılan, parola korumalı bir 7-Zip arşivine işaret ediyor. Yükleyici bu arşivi, meşru bir Microsoft Fotoğraflar kurulumu gibi görünen bir dizine açıyor ve bu yoldan Microsoft.exe dosyasını gizli bir pencerede çalıştırıyor. Çözülen payload aşamaları, AsyncRAT, Quasar ve Remcos benzeri RAT tespitlerinin yanı sıra bilgi hırsızlığı (infostealer) davranışlarıyla da eşleşiyor.
Socket, incelenen örnekler arasında en az 14 farklı kötü amaçlı yazılım dosyası tespit etti. Bunlar arasında truva atı yükleyicileri ve indiricileri, Vidar bilgi hırsızı, casus yazılım payload'ları ve XMRig ile ilişkili Monero kripto para madencileri bulunuyor. Bir Loader.exe dosyası, dört farklı depoda birebir aynı şekilde yer almış.
Kullanılan kandırma temaları arasında MetaMask ve Trust Wallet entegrasyonları, tohum ifadesi (seed-phrase) yardımcı araçları, Binance ve PayPal otomasyonları, Telegram ve Discord botları ve PUBG, Valorant, Escape from Tarkov gibi oyunlar için hileler yer alıyor. PUBG ile ilgili bir depoda, harici bir hile olarak sunulan kurulum rehberiyle birlikte kaynak ağacında Vidar ile bağlantılı bir Loader.exe barındırılmış.
Socket, Operasyon Muck and Load'un, geçen yılın haziran ayında Sophos tarafından belgelenen kümelenmeyle aynı gruba ait olduğuna yüksek olasılıkla inanıyor. Sophos araştırmacıları, 141 GitHub deposunu (133'ü arka kapı içeriyordu) aynı [email protected] adresine bağlamıştı. Sophos ayrıca, muckcoding.com ve muckdeveloper.com alan adlarında da yer alan “Muck”ın aktörün takma adlarından biri olduğunu tespit etmişti.
GitHub ve Go ekibi, proxy engellemesi dışında henüz bir yorum yapmadı.