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.
Yorum Yazın!