Matruşka

If you are looking for an English version of this article, please visit here.

Her daim örümcek hislerinin peşinden koşan bir güvenlik araştırmacısı olarak hislerim uzun zamandan beri beni Gmail hesabımın Spam klasörüne dikkat etmem konusunda uyarıyordu. 2006 yılından bu yana aktif olarak Gmail kullanan biri olarak, 13 yıl içinde e-posta adresimin Nijerya’dan Papua Yeni Gine’ye kadar birçok coğrafyadaki istenmeyen e-posta gönderen niyeti bozuk kişilerin (spammers) e-posta listelerine girdiği konusunda şüphem bulunmuyordu.

Günlerden bir gün yine spam klasörüne göz atığımda kendimi çok yakışıklı bir film yıldızı gibi hissetmemi sağlayan çok sayıda istenmeyen e-posta olduğunu gördüm. :) Bu e-postalardan yola çıkarak zaman içinde Gmail hesabıma gelip spam klasörüne düşen, ekinde zararlı dosyalar bulunan e-postaların sayısı ve bu zararlı dosyaların türü (casus yazılım gibi) hakkında bilgi sahibi olmak için neler yapabileceğimi düşünmeye başladım. Kısa bir süre sonra Python ile spam klasörüne gelen e-postaları izleyen ve e-postaların ekindeki dosyaları bir kum havuzu (sandbox) sistemine yükleyen bir program hazırlamaya karar verdim.

Matruska

Kum havuzu servisi olarak zararlı yazılım analizinde sıklıkla kullandığım ve her daim sonuçlardan memnun kaldığım, arka planda Falcon kum havuzu sistemi bulunan Hybrid Analysis‘i kullanmaya karar verdim. Tabii Hybrid-Analysis’in API’sine tespit edilen dosyaları otomatik olarak yükleyebilmek için kısıtı bulunmayan bir API anahtarı gerekiyordu. Neyse ki güvenlik araştırmacılarına bunu ücretsiz vermeleri sayesinde API anahtarına kısa bir sürede sahip olabildim.

Matruska

Python ile Spam Analyzer isimli bir araç hazırlayıp, hayata geçirdikten kısa bir süre sonra bu araç, Spam klasöründe ekinde PO.docx isimli şüpheli bir dosya keşfetti.

Matruska
Matruska
Matruska

Spam Analyzer aracı, Gmail API üzerinden Gmail hesabınıza client_secret.json dosyasında yer alan bağlantı bilgileri ile (Google API Console‘dan da client_secret.json dosyasını indirebilirsiniz) bağlanarak Spam klasöründeki tüm e-postaları okur, ekindeki dosyaları attachments klasörüne kopyalar ve ardından bu dosyaları Hybrid-Analysis sistemine yükler. Yüklediği tüm dosyaların bilgilerini hashes.txt dosyasında saklar. Bu dosyaları Hybrid-Analysis’e yükledikten 1 saat sonra ise ilgili Hybrid-Analysis raporunu ve dosyanın zararlı olup olmadığı bilgisini yine hashes.txt dosyasına yazar.

Matruska
Matruska

PO.docx dosyasını ilk olarak pestudio aracı ile analiz etmeye başladığımda ZoneAlarm dışında herhangi bir güvenlik yazılımının bunu şüpheli olarak tespit edemediğini gördüm. Dosyayı yaması güncel olmayan Microsoft Office 2010 ile açıp Fiddler aracı ile izlediğimde öncelikle winword.exe tarafından kısaltılmış hali http://urlz[.]fr/6uQM, uzun hali http://23[.]249[.]161[.]109/ace/ olan web adresinden svch.doc dosyasının indirilip çalıştırıldığını ardından da svch.exe tarafından http://jopittex[.]zapto[.]org/windows/ adresinden svchost32.vbs dosyasının indirilmeye çalışıldığını gördüm.

Matruska
Matruska
Matruska

PO.docx dosyasını Notepad++ ve rtfdump.py araçları ile analiz etmeye devam ettiğimde, Microsoft Word’un frameset özelliğinin kötüye kullanılarak (sızma testlerinde de kullanılmaktadır) CVE-2017-8570 zafiyetinin istismar edildiğini gördüm.

Matruska
Matruska
Matruska
Matruska
Matruska

Confuser aracı ile ile kodları gizlenmiş (obfuscation) olan svch.exe tarafından indirilip, çalıştırılan svchost32.vbs dosyası ise ASProtect ile korunan profile.exe dosyasını http://www[.]bluesw[.]net/wp-admin//user/ adresinden %Public% klasörüne svchost.exe adı altında indirip, çalıştırıyordu.

Matruska
Matruska
Matruska
Matruska

x64dbg hata ayıklama aracı ile svchost.exe (profile.exe) programını analiz ettiğimde ise ana zararlı yazılım olan Remcos RAT zararlı yazılımı Matruşka bebeği gibi nihayet ortaya çıkmış oldu.

Matruska
Matruska

Matruşka, Rus yapımı bir oyuncak bebek türüdür. Ahşap el yapımı olan bebekler ortasından açıldığında başka bir bebek çıkar, onu açtığınızda yine başka bir bebek çıkar. Tek anne figürünün içerisinde iç içe yerleştirilmiş beş veya yedi bebekten oluşur.

Bir sonraki yazıda görüşmek dileğiyle herkese güvenli günler dilerim.

Not:

  • Bu yazı ayrıca Pi Hediyem Var #13 oyununun çözüm yolunu da içermektedir.