Derin PE Analizi — AutoItRAT (LightToolV9) | Tehdit: YUKSEK
Dosya Kimliği
| SHA256 | 4cc12d29c4de4d3316ed62add841d20e66bbd5419cd8011e774f937f201be72b |
|---|---|
| Dosya Adı | LightToolV9.exe ("LightTool" meşru araç taklidi, V9 = 9. versiyon) |
| Boyut | 985,600 byte (~962 KB) |
| Tür | PE32, AutoIt3 compiled executable (CODE/DATA/BSS Delphi/Borland layout) |
| Entropi | 6.676967 — normal (AutoIt3 runtime sıkıştırılmamış, script gömülü) |
AutoIt3 Derlenmiş Malware Tespiti
avsupport@autoitscript.com -- Tüm AutoIt3 compiled (.a3x → .exe) binary'lerde bu e-posta baked-in gelir -- Otomatik tespit markeri: binary içinde bu adres → kesin AutoIt binary -- Sections: CODE, DATA, BSS = Borland/Delphi layout (AutoIt3 Aut2Exe çıktısı) -- Decompile için: Exe2Aut veya myAut2Exe → .au3 kaynak kodunu kurtarır -- C2 adresleri: BITXOR ile şifrelenmiş AutoIt string'leri içinde gizli -- Kurtarma: decompile → BITXOR anahtar bul → string'leri çöz
GetAsyncKeyState: Klavye Keylogger
KEYLOGGER: Tüm klavye girişleri izleniyor!
GetAsyncKeyState
-- Asenkron klavye durumu sorgulama (polling)
-- Windows API: tüm virtual key state'lerini (VK_*) kontrol eder
-- AutoIt tekniği:
While True
For $i = 1 To 254
If _IsPressed(Hex($i, 2)) Then
$key &= Chr($i) ; tuşu kaydet
EndIf
Next
Sleep(10)
WEnd
-- Loglanan veriler → temp dosyasına yazılır → HTTP POST ile C2'ye gönderilir
BitBlt + GetDesktopWindow: Ekran Görüntüsü Alma
BitBlt -- GDI: kaynak DC'den hedef DC'ye blok bit transfer GetDesktopWindow -- masaüstü pencere handle'ı al AutoIt ekran yakalama akışı: 1. GetDesktopWindow() → masaüstü handle 2. GetDC(hDesktop) → device context 3. CreateCompatibleDC() → bellek DC 4. CreateCompatibleBitmap() → bitmap buffer 5. BitBlt(hMemDC, 0, 0, W, H, hDC, 0, 0, SRCCOPY) → ekran kopyala 6. GetDIBits() → bitmap verisi al 7. → dosyaya yaz / JPEG/BMP encode / C2'ye gönder -- Periyodik ekran görüntüsü: her X saniyede kurban ekranını yakala
VirtualAllocEx + WriteProcessMemory: Klasik Proses Enjeksiyonu
VirtualAllocEx -- hedef proseste uzak bellek ayır (RWX) WriteProcessMemory -- shellcode/payload hedef prosese yaz -- Klasik Remote Process Injection tekniği: 1. OpenProcess(PROCESS_ALL_ACCESS, False, PID) → hedef proses handle 2. VirtualAllocEx(hProcess, NULL, size, MEM_COMMIT, PAGE_EXECUTE_READWRITE) 3. WriteProcessMemory(hProcess, pMemory, shellcode, size, NULL) 4. CreateRemoteThread(hProcess, NULL, 0, pMemory, NULL, 0, NULL) -- Hedef: explorer.exe, svchost.exe veya güvenilen başka proses -- Amaç: kötü amaçlı kodu güvenilir prosesin kimliği altında çalıştır → AV atlatma
InternetOpenW + HttpSendRequestW + TCPCLOSESOCKET: Çift Kanallı C2
InternetOpenW -- WinINet başlat (HTTP/HTTPS) HttpSendRequestW -- HTTP POST/GET gönder (C2 komut alma/veri yükleme) InternetOpenUrlW -- URL'den dosya indir (dropper/güncelleme) TCPCLOSESOCKET -- AutoIt TCP_CLOSESOCKET (raw TCP kapat) -- Çift kanal: HTTP (komut) + TCP (ham veri akışı) -- InternetOpenUrlW: güncellenmiş payload indir, ikincil araç dropp -- HttpSendRequestW: keylog + ekran görüntüsü → C2 POST -- C2 URL'si: BITXOR şifrelenmiş → decompile gerekli
AdjustTokenPrivileges + OpenProcessToken: Hak Yükseltme Zinciri
AdjustTokenPrivileges -- token ayrıcalıklarını düzenle
OpenThreadToken -- thread token'ına eriş
OpenProcessToken -- proses token'ına eriş
ShellExecuteA -- dosya/proses çalıştır (runas ile yetki yükselt)
-- Hak yükseltme zinciri:
1. OpenProcessToken(hProcess, TOKEN_ALL_ACCESS, &hToken)
2. LookupPrivilegeValue → SeDebugPrivilege LUID bul
3. AdjustTokenPrivileges(hToken, FALSE, &tp, 0, NULL, NULL) → etkinleştir
4. SeDebugPrivilege ile: LSASS dahil her prosese erişim
-- ShellExecuteA("runas", ...): UAC bypass denenebilir
BITXOR: AutoIt XOR String Obfuskasyonu
BITXOR
-- AutoIt built-in fonksiyon: bit düzeyinde XOR işlemi
-- AutoIt malware standart obfuskasyon:
; C2 adresi gizli:
$c2 = ""
For $i = 0 To UBound($encoded) - 1
$c2 &= Chr(BITXOR($encoded[$i], $key))
Next
; $c2 artık gerçek C2 URL'si
-- Tüm string'ler (C2 IP, komutlar, yollar) XOR şifreli
-- Statik analizde görünmez → decompile + BITXOR decode gerekli
PE Anomalileri
- Timestamp: PRE-2000 SPOOFED (sıfırlanmış/sahte — gerçek derleme tarihi gizlenmiş) - DOS stub: SUSPICIOUS (standart MS-DOS stub yerine özel kod) - TLS directory: found (Thread Local Storage — init hooks, anti-debug amaçlı) - Entropi: 6.676967 — normal (AutoIt runtime sıkıştırılmamış) - Sections: CODE, DATA, BSS (Aut2Exe derleyicisi çıktısı)
IOC
| SHA256 | 4cc12d29c4de4d3316ed62add841d20e66bbd5419cd8011e774f937f201be72b |
|---|---|
| Aile | AutoItRAT (AutoIt3 Compiled) |
AutoItRAT — Malware Profile
AutoIt3 compiled RAT (LightToolV9). GetAsyncKeyState keylogger. BitBlt+GetDesktopWindow screen capture. VirtualAllocEx+WriteProcessMemory process injection. InternetOpenW+HttpSendRequestW HTTP C2. TCPCLOSESOCKET TCP. AdjustTokenPrivileges privilege escalation. BITXOR XOR obfuscation. Spoofed PE timestamp.
Malware Type
RAT
Programming Language
AutoIt
C2 Protocol
HTTP/TCP
Target Systems
Küresel
Capabilities & Behavior
Uzaktan Erişim & Kontrol
Keylogger
Ekran Görüntüsü
Webcam Erişimi
Dosya Yönetimi
Süreç Yönetimi
Komut Yürütme
Kalıcılık Mekanizması
IOC List (1 indicators)
IOC — AutoItRAT
# SHA256
4cc12d29c4de4d3316ed62add841d20e66bbd5419cd8011e774f937f201be72b
| Type | Value | Note |
|---|---|---|
| sha256 | 4cc12d29c4de4d3316ed62add841d20e66bbd5419cd8011e774f937f201be72b |