TA505 Hacker Grubu İncelemesi — Servhelper

Oğuzcan Pamuk
6 min readOct 7, 2019

Giriş

Geçtiğimiz temmuz ayı itibariyle TA505 isimli hacker grubunun siber saldırılarında bilinenin dışında teknikler ve zararlı yazılımlar kullandığına ilişkin araştırmalar yayınlanmıştı. Bu araştırmaların sonucunda Mitre ATT&CK tarafından TA505 hacker grubunun teknik ve taktikleri paylaşıldı. Elimizdeki verilere göre TA505'e ait 13 farklı teknik mevcut. Bu durum ise TA505 aktivitelerine ilişkin tespit ve önlem mekanizmalarımızı geliştirmek açısından büyük bir fırsat olarak değerlendirilmelidir. Bu yazımda, TA505 ile ilgili çıkarmış olduğum notlarımı paylaşmaya çalışacağım.

Motivasyon,Hedef Sektör ve Ülkeler

Thaicert tarafından paylaşılan Threat Group Cards raporuna göre, TA505 hacker grubunun ana hedefi finans kurum / kuruluşlarıdır. Bu durum da motivasyonunun genel olarak finansal kazanç olduğunu göstermektedir. Thaicert tarafından yayınlanan rapor da bu tezi doğrulamaktadır.

Yine aynı raporda yapılan paylaşıma göre raporun hazırlandığı tarih itibariyle TA505'in aktivitelerinin tespit edildiği ülkeler; Şili, Çin, Fransa, Almanya, Macaristan, Hindistan, İtalya, Meksika, Malavi, Pakistan, Güney Kore, Tayvan, İngiltere, Ukrayna ve ABD. Bu paylaşıma ek olarak, Bleeping Computer tarafından yapılan analize göre hacker grubunun Orta Doğuyu da hedeflediğinden bahsedilmektedir. Bonus bir bilgi ise; TA505'in kullanmış olduğu zararlı yazılım örnekleri için yapmış olduğum araştırmada, any.run üzerinde yapılan analizlerin arasında Türkçe hazırlanmış bir zararlı yazılım olduğunu fark ettim. Bu durum, hedeflenen ülkeler arasında Türkiye’nin de olabileceğine işaret etmektedir.

Kullandığı Araçlar & Zararlı Yazılımlar

Siber tehdit istihbaratı kaynaklarına göre TA505 tarafından kullanıldığı tespit edilen 17 araç mevcut. Bu araçlar ise; Bart, Dridex, FlawedAmmy, FlawedGrace, GlobeImposter, Jaff, Kegotip, Locky, LOLBins, Necurs, Neutrino, Philadelphia, RockLoader, RMS, ServHelper, Shifu ve The Trick. (Threat Group Cards). Bu araçlar arasında en çok dikkat çekenler ise; FlawedAmmy, FlawedGrace, Necurs ve ServHelper.

Kaynak Ülke

DarkReading, SecurityAffairs gibi global ve takipçi sayısı yüksek kaynaklar, paylaşımlarında TA505 hacker grubunun kökenini Rusya olarak gösterdiklerini görüyoruz.

Teknik & Taktik & Prosedürler (TTP)

Mitre ATT&CK yaptığı paylaşımda TA505 ile ilgili 13 farklı teknik yayınladı.

Paylaşılan teknikleri ve zararlı yazılım örneklerini incelediğimizde; TA505'in siber saldırılarında hedef odaklı oltalama saldırılarını kullandığı, göndermiş olduğu e-posta içerisinde zararlı bir link ya da office dosyası gönderdiğini, gönderdiği bu zararlı yazılımın ya DDE (Dynamic Data Exchange) özelliğini kötüye kullandığını ya da zararlı bir makro kodu içerdiğini görüyoruz. DDE ya da makro kodunun bir downloader barındırdığı ve asıl zararlı yazılımın bu şekilde indirildiği net bir şekilde ortaya çıkıyor. Genel olarak paylaşılan bu teknikler kullanmış olduğu Servhelper zararlısını işaret etmektedir. TA505 hakkında araştırma yapan kaynaklar da hedef odaklı oltalama saldırılarında Servhelper’ı kullandığını doğrulamaktadır.

Servhelper İncelemesi

Servhelper, 2018'in sonu itibariyle varlığı tespit edilen bir backdoor olarak öne çıkmaktadır. Delphi ile kodlanan bu zararlı yazılım, dll ( Dynamic-Link Library) formatında hedef sisteme gönderilmektedir.

Örneklem Havuzu Oluşturma

TA505'in kullanmış olduğu Servhelper’ın incelemesini yapmak amacıyla bir örneklem havuzu oluşturmaya çalıştım. Burada en iyi sonucu any.run üzerinde aldım. Analiz öncesinde toplamda 20'den fazla farklı zararlı yazılım örneği elde ettim. (tag:TA505 ve tag:Servhelper)

Analiz

Servhelper’ın kullanıldığı siber saldırılar aşağıdaki metodolojiye uygun olarak işletilmektedir;

  1. Hedef odaklı oltalama saldırıları ile başlar. (T1193, T1192)
  2. Eposta ekinde makro içeren zararlı office dosyaları gönderilir. (T1204)
  3. Makronun tetiklediği downloader Servhelper’ı indirir.( T1105)
  4. Servhelper backdoor olarak sistemde çalışır. (T1085)

Yukarıdaki sıralama tüm örneklerde aynı şekilde devam etmektedir. Burada sadece downloader çeşiti değişmektedir. Servhelper saldırılarında 2 farklı downloader kullanıldığını görmekteyiz: ( T1105)

  • Windows Installer (msiexec.exe)
  • Makro Kodları

İncelemiş olduğum tüm örneklerde Servhelper indirilirken http protokolü kullanılmaktadır. (80. port) ( T1071, T1043)

İndirilen Servhelper 32bit bir dll dosyası olduğu için rundll32.exe process’i kullanılarak çalıştırılmaktadır (T1085). Bu aşamadan sonra Servhelper hedef sisteme yüklenir ve C&C (Command & Control) sunucusu ile haberleşme aşaması başlar.

Bilgi: Windows İşletim Sistemlerinde dll dosyaları çalıştırılırken rundll.exe ya da rundll32.exe process’i kullanılmaktadır .

Statik Analiz

Davranış analizinden sonra Servhelper kütüphanesi hakkında temel olarak neler bulabileceğimi görmek adına farklı dll dosyalarını inceleyerek yorum yapmaya çalıştım.

  • Bazı dll dosyaları imzalı olarak gözüküyor. Bu durumu ATT&CK’da doğruluyor. (T1116)
  • Tüm kütüphanelerin Delphi ile kodlandığı gözükmektedir.
  • Kütüphanelerin genel olarak birden fazla okunabilir ve yazılabilir bölümlerinin olduğu görülmektedir.
  • Main haricinde kullanılabilir başka fonksiyonları da barındırıyorlar. Örnek olarak bir fonksiyon keşif çalışmalarında kullanılacak yeni bir powershell betiğini oluşturuyor.
  • Komuta kontrol sunucuları ile iletişimi kurabilmek amacıyla “winhttp.dll” kütüphanesini kullanmaktadır. Ayrıca process ve thread’ler hakkında bilgi toplamak amacıyla “kernel32.dll” içerisindeki fonksiyonları çağırmaktadır. Hem çağırdığı kütüphaneler hem de dll içerisindeki birden fazla yazılabilir ve çalıştırılabilir bölüm zararlının ilerleyen aşamalarda başka bir process’e kod enjekte edebilme yeteneğinin olduğunu göstermektedir.

Tespit ve Tehdit Avı

Genel olarak 2 farklı şekilde tespit edilebilmektedir. 1. ve en önemlisi bir EDR (Endpoint Detection & Response) üzerine yazılmış ileri seviyeli kurallar, 2. si ise ağ tabanlı analiz yöntemleri. “Process Tabanlı Tespit” başlığı altında Carbon Black Response (EDR) ürününün söz dizimine (syntax) uygun sorgular (query) paylaşmaya çalışacağım. “Ağ Tabanlı Tespit” başlığında ise Suricata (Open Source IDS) kuralları ile nasıl tespit edilebileceğini göstereceğim.

  • Process Tabanlı Tespit

Downloader Tespiti: ( Taktik: Execution )

— (process_name:winword.exe or process_name:excel.exe) and netconn_count:[1 TO *] and filemod:*.exe (Excel ya da Word üzerinden çalıştırılabilir dosya indirilmesini tespit eder.)

— process_name:msiexec.exe and netconn_count:[1 TO *] (Windows Installer’ın ağ bağlantısı yaptığı durumları tespit eder.)

Servhelper Tespiti: ( Taktik: Execution )

— parent_name:msiexec.exe and (process_name:rundll.exe or rundll32.exe) (Windows Installer’ın indirdiği dll dosyasını çalıştırmasını tespit eder.)

Komuta & Kontrol İletişim Tespiti: (Taktik: C&C)

— (process_name:rundll.exe or rundll32.exe) and netconn_count:[1 TO *] (Çalışan bir dll’in ağ bağlantısı yaptığı durumları tespit eder.)

Keşif Tespiti: (Taktik: Discovery)

— (process_name:rundll.exe or rundll32.exe) and filemod:*.ps1 (dll’in powershell betiği oluşturduğu durumları tespit eder.)

— (process_name:net.exe OR (process_name:net1.exe AND -parent_name:net.exe) and ((cmdline:domain or cmdline:localgroup) and (cmdline:admins or cmdline:administrators)) (admin hesaplarının keşfini tespit eder.)

— process_name:cmd.exe and cmdline:echo and cmdline:logonserver (Domain Controller keşfini tespit eder.)

  • Ağ Tabanlı Tespit : Any.run kum havuzu ürünü analizlerinde Suricata IDS kullanmaktadır. Bu platform üzerinde incelemiş olduğum örnekler üzerinde ortak Suricata imzalarını çıkartmaya çalıştım. Sonuç olarak tetiklenen imzalar ile Servhelper downloader ve backdoor aktivitelerini tespit edebilmek mümkün olabilmektedir. Ayrıca, Servhelper’ın kullanmış olduğu C&C domainlerinin büyük bir çoğunluğunun “saz.php” ile bittiğini fark ettim. Kesin çözüm olmasada Proxy logları üzerinde ufak bir kontrol yapmakta fayda olabilir.

— “10004030” numaralı, “SUSPICIOUS [PTsecurity] Using msiexec.exe for Downloading non-MSI file” kuralı ile Windows Installer’ın downloader olarak kullanıldığı durumlar tespit edilebilir.

— “2026772” numaralı, “ET TROJAN ServHelper CnC Inital Checkin” kuralı ile Servhelper’ın C&C ile kurduğu ilk iletişim tespit edilebilir.

--

--