APT28 - MS Ofis Macro Kod Analizi
Açıkcası yazılarımda kullandığım araçların doğru yüklenmesi ve uyum sorunlarıyla ile ilgili diğer ayrıntılarıda eklemeye gayret ediyorum. Buradaki amaç ayıntılarda boğuşup, ana konudan sapmamaya katkıda bulunmak diyebilirim.
Bu yazımda MS ofislerin makro desteği sayesinde içerisine gömülen zararlı yazılımları nasıl analiz edeceğimizle ilgili olacak.
Açıkcası yazılarımda kullandığım araçların doğru yüklenmesi ve uyum sorunlarıyla ile ilgili diğer ayrıntılarıda eklemeye gayret ediyorum. Buradaki amaç ayıntılarda boğuşup, ana konudan sapmamaya katkıda bulunmak diyebilirim.
Oletools Kurulumu
Öncelikli olarak bu tool Python 2.7 veya türevleriyle çalışmada hata vermişti. Açıkcası tam olarak hatayı hatırlamıyorum ama Python3.7.4 ile birlikte gayet güzel çalışıyor.
Python3.7.4 yükledikten sonra bir karmaşıklık yaşamak istemiyorsanız python exe dosyasının isimlerini değiştirmenizi öneririm. Bunu yaptıktan sonra PIP de bir sorun yaşama ihtimaliniz bulunuyor. (PATH yolları otomatik eklenmediyse eğer, manuel olarak eklemeniz gerekiyor)
Bu çözülmüş problemin düzeltilmiş hali
Bu sorunu da şu şekilde hallettim diyebilirim.
python3 -m pip install --upgrade pip
Yukarıdakini cmd üzerinden yazıp, çalıştırdıktan sonra sorunumu hallettim diyebilirim.
pip3 install virtualenv
Daha sonra ise Python3.4/Scripts kısmına giderek, yukarıdaki komutlar ile virtualenv yüklemesi gerçekleştirdim.
virtualenv.exe DEV
Bu adımdan sonra aynı path altında yukarıdaki komut ile DEV adında yeni bir virtualenv oluşturdum.
1- pip3 install -U oletools
2- pip3 install -U https://github.com/decalage2/oletools/archive/master.zip
Daha sonra oluşturduğum virtualenv’i aktif edip, oletools’un yüklemesine devam ettim(1. komut) . En son adımda ise en son versiyonunu yükledim. (2. komut)
Başlangıç
Örnek dosyamızı indirip (APT28 grubuna girmektedir
) , Macro kodlarını görmek istediğimiz zaman parola korumalı olduğunu fark ediyoruz. Parola korumasını atlatmak için birkaç farklı yöntem mevcut durumda fakat en kolay yolu Reset VBA Password uygulamasını kullanmak diyebilirim. Bu sayede daha hızlı ilerleme yapabiliriz.
Macro kodlarına baktığımızda karmaşıklaştırma işlemine tabi tutulduğunu fark ediyoruz. Bu yüzden direkt olarak elle tutulur bilgi edinmemiz zor gözüküyor.
Analiz görüntüsü
İlk bölümde Oletools kurulumunu gerçekleştirmiştik. Burada olevba aracından faydalanmaya başlayabiliriz. İlk olarak sadece analiz ettiğimizde yukarıdaki gibi bir çıktıyla karşılaşıyoruz.
Birkaç farklı kullanım mevcut fakat bizim açımızdan en güzeli --reveal
komutunu kullanmak olacaktır böylece karmaşıklaştırma işlemine tabi tutulmuş tüm kod dizelerine erişmiş olup, elle tutulur bilgilere erişmiş oluruz. Yukarıdaki çıktıyı analiz ettiğimizde;
1- Çıktının ilk kısmında AutoOpen
yer alıyor. Buradaki Execute fonksiyonu , belgenin çalışmaya başlatılması sırasında çağrılıyor.
2-Yukarıdaki çıktılardan görünen rundll32.exe
adlı dosyanın çalıştırıldığını fark ettik. Bunun haricinde AppData klasörü içerisinde user.dat adında bir dosya kopyaladığını fark ettik.
3- Ayrıca wingmgmts hakkında bilgi vermek gerekirse eğer, Localsystem altında SVCHOST işlemiyle birlikte çalışan bir WMI hizmetidir.
4- Diğer bir VBA Strings’i olan HLinks
‘in detayları yukarıdaki resimde yer alıyor. Burada word dosyasının bir XML’inin alındığını fark ediyoruz ev XPath kullanarak bir değer çıkardığını görüyoruz //HLinks/vt:vector/vt:variant/vt:lpwstr
Bu kısmı decode ettiğimiz zaman, user.dat dosyasına ulaşıyoruz.
5- Diğer bir çıktıya baktığımızda VBA’nın WMI sınıfına ait olan Win32_process tekniğini kullandığını görüyoruz. Buradaki amaç AV’ler tarafından tespit edilmeyi önleme ile ilgili olabileceğini düşünüyorum.
Davranışsal Analiz
Bunun haricinde MS Word dosyamızın davranışsal analizine göz gezdirdiğimizde AppData/Roaming içerisine Runtime altında çalışan mvtband.dat
ve user.dat
adında iki dosya kopyaladığını da fark ediyoruz.
Hybrid-Analysis üzerinde bu iki dosyaya baktığımızda ise Trojan olarak etiketlendiğini görüyoruz.
Bağlantılar
İlgili dosyamızda dışarı ile iletişime geçen bağlantıları görme adına any.run üzerinde de analiz ettim. Bağlantıların kısmına baktığımızda rundll32.exe
dosyasının iki farklı IP üzerinden bağlantı kurduğunu görüyoruz.
Sonuç
Genel itibariyle bu tarz bir zararlı yazılım analiz etmeye çalıştığımızda ne gibi araçlardan ve nasıl bir yol izleyeceğimizle ilgili olarak bilgi vermeye gayret ettim.