Gönderi

Tango Scramble 2: AutoHotkey Analizi

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.

MalwareBazaar Intel Linki

İlk bakışta karşımıza çıkan analiz bulgularımız:

image Detect It Easy Analiz Ekranı

image_1 HEX İncelemesi

image_2 İçe Aktarılan Kütüphaneler

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:

image_3 JoeSandbox Analiz Ekranı

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:

image_4 Gizlenmiş AHK Kodları

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:

image_5 Procmon: Zararlının Çalışması ve Kapanması

image_6 İş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ı:

image_7 INetSim Analiz Ortamı

image_8 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:

  1. HTTP bağlantısı oluşturur
  2. Belirli bir URL’ye GET isteği gönderir
  3. Sunucudan cevap bekler
  4. 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

ÖzellikDeğer
Dosya TipiWindows Executable
Derleme TürüAutoHotkey compiled binary
SHA2562aca019aa4a82ceaaa3a43c6ad0d2b45d7179f74d9b06fb9fd1b108559adc4f1
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:

  1. WinHttpRequest COM nesnesi oluşturulur.
  2. HTTP GET isteği hazırlanır.
  3. Uzak sunucuya bağlantı kurulur.
  4. Sunucu cevabı beklenir.
  5. 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.65 IP 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.
Bu gönderi CC BY 4.0 lisansı altındadır.