Statik Analiz — CMDPSDropper (lods.cmd) | Tehdit: 高
ファイル Kimliği
| SHA256 | 1a5ad9ae7b0dcdc2edb7e93556f2c59c84f113879df380d95835fb8ea3914ed8 |
|---|---|
| ファイル名 | lods.cmd (ZIP 201KB → 270,900 byte CMD) |
| 種別 | Windows Batch Script (.cmd), HTML header (çift tür) içinde CMD kodu |
vrstem.IO: C2 İndirme Sunucusu
C2 DOMAIN: vrstem.IO — obfuskasyon kaldırıldığında ortaya çıkıyor!
vrstem.IO (ham: vrsRgqvrtRgqvreRgqvrmRgqvr.IO → Rgqvr kaldır → vrstem.IO) -- ".IO" TLD: İngiliz Hint Okyanusu bölgesi, popüler C2 TLD -- "vrstem" = belirsiz kısaltma (VR stem? versiyon stem?) -- İşlev: PowerShell'in bağlandığı indirme/C2 sunucusu -- Obfuskasyon tekniği ortaya çıkarıldıktan sonra net C2 IOC
Rgqvr: Junk String CMD Obfuskasyon Tekniği
Ham kod: vrsRgqvrtRgqvreRgqvrmRgqvr.IO
Temiz kod: vrstem.IO (Rgqvr stringi her karakterden sonra ekleniyor)
-- Teknik: her gerçek karakter arasına "Rgqvr" junk dizisi ekleniyor
-- CMD decode:
SET domain=vrsRgqvrtRgqvreRgqvrmRgqvr.IO
ECHO %domain:Rgqvr=% → vrstem.IO
(% :Rgqvr=% = Rgqvr stringini boşla değiştir)
-- Başka örnekler (decode edilmiş):
TvZhmR → WindowsPowerShell\v1.0\powershell.exe
IOvchb → $host.UI.RawUI.WindowTitle= (başlık gizleme)
LiRslx → $yDpz='IKCWFnKCWFvoKCWFkeKCWF'.Replace('KCWF','')
→ $yDpz='Invoke' (PowerShell Invoke metot inşası)
-- Neden etkili:
- Grep/regex aramaları "vrstem.IO"yu bulamaz (ham formda)
- YARA kuralları tetiklenmiyor
- Sadece 15 string çıkıyor (obfuskasyon çok başarılı)
PowerShell Gizli Başlatma + Invoke
WindowsPowerShell\v1.0\powershell.exe start " /min (minimized window) -- Akış: 1. CMD: Rgqvr junk stringlerini kaldır → gerçek değişkenleri oluştur 2. PowerShell'i minimize pencereyle başlat 3. $yDpz = 'Invoke' (string replacement ile inşa → hook atlatma) 4. $yDpz + 'Expression' → InvokeExpression (meşru PS cmdlet'i) 5. Base64 payload çöz → çalıştır → vrstem.IO'ya bağlan -- Gömülü Base64 payload (kısaltılmış): 5/6yQHNUtIOYdrNe0mu35je0NWZtWItB1EQVBFPhDJ... IL/ECPB5blnTlGabS8l3urc6ryJzzJy89IKpmwbCN+PCP1A0FEkyYfLY8... (iki ayrı şifreli blok — çok aşamalı payload) timeout /nobreak /t 1 >nul -- Sandbox timing bypass: 1 saniye gecikme + /nobreak = Ctrl+C bile çalışmaz
IOC
| SHA256 | 1a5ad9ae7b0dcdc2edb7e93556f2c59c84f113879df380d95835fb8ea3914ed8 |
|---|---|
| C2 | vrstem.io |
| Obfuskasyon | Rgqvr junk-string delimiter |
CMDPSDropper — マルウェアプロファイル
CMD to PowerShell dropper. Rgqvr junk-string obfuscation in .cmd script. Contacts vrstem.IO C2. Launches PowerShell minimized. Embedded base64 encrypted payload. String replacement for InvokeExpression construction.
マルウェアの種類
Loader
プログラミング言語
CMD/PowerShell
C2プロトコル
HTTPS
標的システム
Küresel
機能と挙動
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リスト (1 件の指標)
IOC — CMDPSDropper
# SHA256
1a5ad9ae7b0dcdc2edb7e93556f2c59c84f113879df380d95835fb8ea3914ed8
| タイプ | 値 | メモ |
|---|---|---|
| sha256 | 1a5ad9ae7b0dcdc2edb7e93556f2c59c84f113879df380d95835fb8ea3914ed8 |
C2サーバー (このファミリーで1台のサーバーを記録)
| アドレス | タイプ | ポート | プロトコル | ステータス | 国 |
|---|---|---|---|---|---|
| vrstem.io | domain | 443 | HTTPS | inactive | — |
C2アドレスはKEYDALチームが手動で検証したマルウェア検体のみに基づいて提供されています。商用利用は禁止です。