Malware Analiz Aşamaları

Bir malware analizine başlamadan önce olayı anlamamız gerekiyor, malware nedir

malwere-analizi-muhendisbilir-saniyenur

malwere-analizi-muhendisbilir-saniyenur

Malware Analiz Aşamaları

Bir malware analizine başlamadan önce olayı anlamamız gerekiyor , malware nedir , ben neyi analiz edeceğim, zararlı dediğimiz exe yada pdf yada doc neden zararlı ,arka tarafta ne yapıyor önce bunu anlamamız lazım.

Kullanıcının bilgisi dışında aynı zamanda onayı dışında gerçekleşen her olay her türlü yazılım malware, yani zararlı yazılım olarak adlandırılır. Genelde proseslere kendilerini enjecte edebilirler.Registry değiştirebilirler,port açabilirler dinleme yapabilirler.Bilgisayarı bizim yerimize kullanabilirler, yada botnet olarak kullanabilirler.Ne yaptıgını anladıktan sonra  analiz için ,

1-Analiz Ortamının Kurulması

Öncelikle malware çalıştırılacak ortamın ağdan tamamen izole olması gerekmektedir.

(Örneğin Vmware de çalışıyorsanız network ayarları host only olmalı ) Remnux için ise 2 adet ağ kartıyla biri Bridge moda biri host only alınarak konfigürasyon yapılabilir.

2- Statik Analiz mi yapmak istiyorum, Dinamik Analiz mi yapmak istiyorum ?

Basic Statik Analizde Zararlının kimliklendirilmesi yapılır.Malware reverse edilmeden hızlıca virustotal gibi sitelerle imza tabanlı analiz yapılır.Malware analizin ilk adımlarından bir tanesidir.Dosya çalıştırılmadan yapılır , aslında sadece dosya yapısı incelenir diyebiliriz.

Virüs taraması, hash kontrolü, Import Export tabloları , PE başlık yapıları incelenir.

İleri Düzey statik analizde yapılmaktadır burada daha çok disassembler programları ile analiz yapılır.

Basic Dinamik Analizde zararlı çalıştırılır ve analiz bu şekilde devam eder Zararlının hareketleri , register kayıt ekleme, dosya oluşturma, nerelere dosya yazıyor , network trafiğine bakılır.Sandbox ortamları bunlar için kullanılabilir.Davranış izlemesi yapılır.Sandbox olarak da Cuckoo Sandbox, Sandboxi , Buster Sandbox Analyzer,valkyrie comodo kullanılabilir.

Zararlının yaptığı işlemler (register kayıt ekleme, dosya oluşturma, network trafiği) tespit edilir.

Process Explorer ,Process Monitor ,Process Hacker , CaptureBAT • Autorun ,wireshark,burp,• Honeyd

Statik analizde de dinamik analizde de kullandıgım araçları vr yöntemleri aslında birbirine paralel kullanmam gerekir.Başarılı sonuç almak için kullandıgım yollar beraber ilerlemeli.

 

3- Yardımcı Araçları belirleme ve Kurma

PE Başlık Yapısı İncelemek için Peview,PeBrowse , FileAlyzer, PE Explorer, CFF Explorer
Doküman Analizi için  (pdf) Pdfid,pdfparser,peepdf,pdfresurrect,origami
Doküman Analizi için  (office) Officeparser,olevba,pyOLEscanner,oledump,emldump
Doküman Analizi için  (shellcode) Sctest,unicode2raw,shellcode2exe
Java Analizi için Java Decompiler, java IDX parser, JD Project
JavaScript Analizi için SpiderMonkey , JavaScript Beautifier,ExtractScripts
Prosesler Üzerinden İncelem için Process Monitor,Process Explorer,Process Hacker

 

 

 

Statik analiz ile incelemelere başladık.

Virustotal-search.py ve vttool araçlarında hash değerlerinin durumlarını kontrol ettik. Yada direk virustotal sitesinden de bakabiliriz :

Şimdi bu  dll in hash ini kontrol edelim:

Sonrasında Import ve export tablosu hakkında bilgi edinmeye başlayabiliriz.

Daha sonra Strings ile malware içinde geçen karakterlere metin ifadelerine bakıyoruz.Eğer bir malware paketlenmiş ise kullanılan kütüphaneler, bağlanılan IP adresleri bilgilerine string içinde ulaşabiliriz.

Az önce bahsettiğim paketleme işleminden bahsedecek olursak , paketleyiciler bir statik analiz engelleme yöntemidir. dosya üzerinde sıkıştırma işlemi yapmaktadırlar  Dosyanın işlevini değiştirmezler sadece görünümünü değiştirirler.Amaç analizi zor hale getirmektir.

Kodun paketlenip paketlenmediği ise PEID aracı ile anlaşılabilir.

PE : Portable Executable dosya formatı windows executable ve DLL Dynamic Link Library, dosyalar tarafından kullanılırlar.DLL ise bir çok prosess tarafından kullanılan bir kütüphanedir. Programlar işlevlerini devam ettirmek için DLL dosyaları içerisinde bulunan işlemlerden yardım alarak çalıştırma bütünlüğü sağlamaktadır. Bir exe dosyası nasıl programın çalışmasında gerekli ise DLL dosyasında aynı şekilde programın çalışmasında gerekli sistem dosyalarıdır.Örneğin,

Kernel32.dll : hafıza ve dosyaya erişim ve manipüle etme gibi işlevlerin gerçekleştiği DLL dosyası

User32.dll : basit kullanıcı arabirimleri oluşturmak için kullanılan DLL dosyası

Ntdll.dll : windows kernelin işletim sistemi ile haberleşmesi için kullanılır.

Shell32.dll : komut satırında komut çalıştırmak için kullanılır.

PE dosyaları bir header ile başlar. PE incelememizi sağlayan bir program : PE Explorer

Yukarıda PE bir header incelemesini görüyorsunuz şimdi import edelim.

Peview ile exe yi inceleme :

Yukarıdaki görseldeki MZ ile başkayan kısma dikkat . Bu bize şuan zararlı bir dosya inceleceğimizin bilgisini veriyor demektir. Hex biçimindeki 4D 5A kısmı ise , bir Windows çalıştırılabilir dosyasının MZ başlığını temsil eder.

 

Şimdide PEiD ile hangi paketlemenin kullanıldıgını  gösterelim: FSG 1.0 bir paketleyici

Burada paketleyiciyi tespit edip sonrasında Ollydbg ile paketi açabiliriz. Şimdilik sadece paketin açılmamış halini ve açılmış yani paketlenmemiş halini göstereceğim .Paket açma işlemini daha sonra detaylı anlacagım.

Paketlenmiş kod

Paketlenmemiş kod

 

 

CFF Explorer ile bir paketlenmiş kod gösterimi :

Daha sonra statik analize devam ederek PE başlık yapısından DLL listelerine,fonksiyon listelerine,sectionlara ulaşabiliriz.

Sonrasında procmon aracını açalım .

Procmon yani process monitor, kernel seviyesinde, registiryde olan değişiklikleri, file systemde olan değişiklikleri ve ramda olan değişiklikleri kaydeder  process thread,key ekleme çıkarmalar varsa onları  ve ağ aktivitelerini görüntüleyebiliriz.

Çalıştırdıgımız zararlı ile ilgili filtreleme yapmak için

Proses adını bildiğim için  Proses name kısmını seçip filtreleme yapabilirim.

Buradan da detaylı inceleme yaparak dikkatimizi çeken dizinleri dosya isimleri , dosyanın yazıldıgı şüpheli yerleri görebiliriz.

Aşagıda ise Process Explorer aracı ile farklı bir arayüzlü yine arka tarafta proses izlememizi sağlayacak programı paylaşıyorum :

Zararlı incelerken araçlar yardımıyla hem statik hem dinamik analiz alanlarında inceleme yaptık.Bunlar henüz yüzeysel analizler olsada malware arka tarafta nasıl  çalışır, kendini nerelere yazar , incelemeye başlarken önce nerelere bakmamız gerekir bunlar hakkında bilgi sahibi olduk.

 

 

 

Exit mobile version