Derin Statik Analiz — XAML Deserializasyon Dropper (VBScript) | Tehdit: CRITIQUE

Fichier Kimliği

SHA25661806a90c8fb132ce0c77195974d423840f81bb3b6b42b6a5572715e99f28056
Nom du fichierxABCDEFGHIJKLMNOPQRSTUVWX (alfabetik sıra — kasıtlı anlamsız isim)
TypeASCII text, CRLF line terminators — VBScript/VBA kaynak kodu
Taille237,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
FamilleXAMLDeserializationDropper
XAML MarkerObjectDataProvider MethodName="Set" / x:Static ConfigurationManager

XAMLDeserializationDropper — Profil du malware

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.

Type de malware
Loader
Langage de programmation
VBScript
Protocole C2
HTTP
Systèmes ciblés
Küresel

Capacités et comportement

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ı

Liste IOC (1 indicateurs)

IOC — XAMLDeserializationDropper
# SHA256 61806a90c8fb132ce0c77195974d423840f81bb3b6b42b6a5572715e99f28056
TypeValeurNote
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