Derin Statik Analiz — XAML Deserializasyon Dropper (VBScript) | Tehdit: KRİTİK

Dosya Kimliği

SHA25661806a90c8fb132ce0c77195974d423840f81bb3b6b42b6a5572715e99f28056
Dosya AdıxABCDEFGHIJKLMNOPQRSTUVWX (alfabetik sıra — kasıtlı anlamsız isim)
TürASCII text, CRLF line terminators — VBScript/VBA kaynak kodu
Boyut237,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

SHA25661806a90c8fb132ce0c77195974d423840f81bb3b6b42b6a5572715e99f28056
AileXAMLDeserializationDropper
XAML MarkerObjectDataProvider 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
TypeValueNote
sha256 61806a90c8fb132ce0c77195974d423840f81bb3b6b42b6a5572715e99f28056
Tags
xamldeserializationdroppervbscript-macro-dropperxabcdefghijklmnopqrstuvwx-random-alphabet-filename-obfuscationobjectdataprovider-methodname-set-xaml-deserialization-attackfilmbothability-behaviormachineshells-random-word-combo-vbs-function-obfuscationbase64-layered-dotnet-il-bytecode-embedded-payloadx-static-configurationmanager-appsettings-xaml-injectionappdomain-isfullytusted-assembly-reflection-stringsauthenticatedget-hasshutdownstarted-dotnet-internal