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 Profile
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 Type
Loader
Programming Language
VBScript
C2 Protocol
HTTP
Target Systems
Küresel
Capabilities & Behavior
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 List (1 indicators)
IOC — XAMLDeserializationDropper
# SHA256
61806a90c8fb132ce0c77195974d423840f81bb3b6b42b6a5572715e99f28056
| Type | Value | Note |
|---|---|---|
| sha256 | 61806a90c8fb132ce0c77195974d423840f81bb3b6b42b6a5572715e99f28056 |