Derin Statik Analiz — XAML Deserializasyon Dropper (VBScript) | Tehdit: KRİTİK
Dosya Kimliği
| SHA256 | 61806a90c8fb132ce0c77195974d423840f81bb3b6b42b6a5572715e99f28056 |
|---|---|
| Dosya Adı | xABCDEFGHIJKLMNOPQRSTUVWX (alfabetik sıra — kasıtlı anlamsız isim) |
| Tür | ASCII text, CRLF line terminators — VBScript/VBA kaynak kodu |
| Boyut | 237,360 byte (büyük script = gömülü Base64 payload) |
xABCDEFGHIJKLMNOPQRSTUVWX: Alfabetik Sıra İsim Obfuskasyonu
xABCDEFGHIJKLMNOPQRSTUVWX -- "x" + büyük alfabetik sıra = kasıtlı anlamsız, hatırlanamaz isim -- Hedef: dosya ismiyle içerik hakkında ipucu vermemek -- Hash tabanlı isimlendirme yerine alfabetik — sıradışı teknik -- İnsan gözüyle: ne olduğu anlaşılamıyor → analiz engelleme
filmbothability + behaviormachineshells: Rastgele Kelime Kombinasyonu Fonksiyon Adı Obfuskasyonu
OBFUSKASYON TEKNİĞİ: DiceLoader2 ile aynı rastgele İngilizce kelime kombinasyonu yöntemi!
Public Function filmbothability() Public Function behaviormachineshells() Public Function purposefutureface() Public Function eyevisitorsad() -- Her fonksiyon: 2-3 İngilizce kelimenin birleşimi (sözlük kelimeleri, anlamsız kombinasyon) -- filmbothability = film + both + ability -- behaviormachines = behavior + machine + shells -- purposefutureface = purpose + future + face -- Amaç: AV string imzalarını atlatmak (rastgele = imza eşleşmez) -- Pattern: VBScript içinde her değişkene de rastgele isim: zooslavestand, youngnotip, workertonighttrade, worryhornbattle, wonguarduniverse... -- DiceLoader2 bağlantısı: aynı üç-kelime obfuskasyon anlayışı (bottomautomobilemean, pilotshotluck)
ObjectDataProvider MethodName="Set": XAML Deserializasyon Saldırısı
XAML INJECTION: WPF ObjectDataProvider üzerinden .NET kod çalıştırma!
youngnotip değişkeni (Base64 decode):
"ingsMethodName="Set">ObjectDataProvider.MethodPa"
-- Tam XAML pattern: ObjectDataProvider MethodName="Set" MethodParameters=...
-- ObjectDataProvider: WPF binding framework'ü — XamlReader ile yüklenince kod çalıştırır
-- Saldırı: zararlı XAML → XamlReader.Parse() → ObjectDataProvider.Set() → arbitrary code exec
-- Bu teknik: CVE-2021-40444 ve benzeri XAML/XPS exploit'lerinde kullanılan pattern
-- .NET AppDomain'i atlatma: XAML'in tam güven ortamında çalışması sağlanıyor
withineverybodyenjoy değişkeni (Base64 decode):
'x:Key="setMethod" ObjectInstance="{x:Static c:ConfigurationManager.AppSettings"'
-- ConfigurationManager.AppSettings: .NET uygulama yapılandırmasını XAML üzerinden oku/yaz
-- {x:Static}: XAML'de statik C# sınıf referansı — managed kod erişimi
-- Bu XAML parçası: uygulama ayarlarını manipüle ederek payload enjekte eder
Base64 Katmanları: Gömülü .NET IL Bytecode
purposefutureface = "HwEQCgYAsAESAwoA8w0gDAYAiBDMCgYAvgXMCgYAMQUQCgYAFwoQCgYAWQESAwYAhQcQCk8A/QsAAAYAUAEQCgYA..." -- Base64 decode → CIL (Common Intermediate Language) bytecode dizilimi -- "HwEQ", "CgYA" → .NET IL instruction opcode'ları -- Bu bytecode: çalışma zamanında .NET assembly olarak yüklenip çalıştırılıyor behaviormachineshells = "dXRoZW50aWNhdGVkAGdldF9IYXNTaHV0ZG93blN0YXJ0ZWQAZ2V0X0lzRnVsbHlUcnVzdGVk..." -- decode: "uthenticatedget_HasShutdownStartedget_IsFullyTrustedGuidValue k__Back" -- .NET AppDomain iç attribute'leri: IsFullyTrusted, HasShutdownStarted -- Amaç: tam güvenlik kontekstini ele geçirmek (full trust AppDomain oluşturmak) workermadeher = "ctorArrayPtrSysInstsstack" (decoded) -- SysInstructions (Sys syscall talimatları), stackZeroBits, ArrayPtr -- Low-level bellek operasyonları → shellcode benzeri hazırlık
Çok Katmanlı Çalışma Akışı
1. VBScript / VBA çalıştırılır (Office macro, WSH, HTA) 2. Fonksiyonlar (filmbothability, behaviormachineshells...) çağrılır 3. Değişkenlerdeki Base64 blokları birleştirilir 4. XAML string inşa edilir: - ObjectDataProvider MethodName="Set" - x:Static ConfigurationManager.AppSettings 5. XamlReader.Load() ile XAML parse edilir → .NET kod çalıştırılır 6. IL bytecode (purposefutureface değişkeni) → Assembly.Load() ile belleğe yüklenir 7. Entry point çağrılır → ikinci aşama payload başlar -- Tüm payload VBScript değişkenlerinde gizli → AV imzası atlatılıyor -- XAML deserialization: allowlist/blocklist tabanlı AV atlatma tekniği
IOC
| SHA256 | 61806a90c8fb132ce0c77195974d423840f81bb3b6b42b6a5572715e99f28056 |
|---|---|
| Aile | XAMLDeserializationDropper |
| XAML Marker | ObjectDataProvider MethodName="Set" / x:Static ConfigurationManager |
XAMLDeserializationDropper — Malware Profili
VBScript/VBA macro dropper with XAML ObjectDataProvider deserialization attack. Random-word-combo function name obfuscation (filmbothability, behaviormachineshells). Base64-layered .NET IL bytecode embedded payload. x:Static ConfigurationManager XAML injection.
Malware Tipi
Loader
Programlama Dili
VBScript
C2 Protokolü
HTTP
Hedef Sistemler
Küresel
Yetenekler ve Davranış
Payload İndirme
Süreç Enjeksiyonu
Modüler Mimari
Kimlik Bilgisi Hırsızlığı
Yanal Hareket
Kalıcılık
Anti-VM/Sandbox
İkincil Payload Dağıtımı
IOC Listesi (1 gösterge)
IOC — XAMLDeserializationDropper
# SHA256
61806a90c8fb132ce0c77195974d423840f81bb3b6b42b6a5572715e99f28056
| Tür | Değer | Not |
|---|---|---|
| sha256 | 61806a90c8fb132ce0c77195974d423840f81bb3b6b42b6a5572715e99f28056 |