Practical Malware Analysis Lab 1–1
Öncelikle merhaba. Daha önce malware analiz konusuna yavaş yavaş birkaç lab çözerek giriş yapmıştım. Bu yazımda daha önce göz attığım ve bu konu hakkında kendimi geliştirmek amacı okumaya ve lablarını çözmeye başladığım “Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software” kitabında yer alan labları çözerek ve bunları yazıya dökerek kendimi geliştirmek için ve bu konuya merakı olanlara yardımcı olması amacı ile yazıya dökeceğim.
Kitap: https://www.amazon.com/Practical-Malware-Analysis-Hands-Dissecting/dp/1593272901
Kitap içerisinde bölüm sonlarında sorular verilmekte, bu soruları çözerek ilk bölümü tamamlayalım.
1- İlk soruda dosyaları Virustotal’e yükleyip raporlara bakmamız isteniyor.
Lab01–01.dll ve Lab01–01.exe dosyalarını Virustotal’e yüklediğimizde sonuç yukarıdaki gibi olmaktadır. Details kısmından detaylı bilgiye bakılabilir. Bu işlem Pestudio ile de yapılabilirdi.
2 – Bu soruda ise dosyaların ne zaman derlendiği sorulmaktadır.
Dosyaları Pestudio aracına verdikten sonra dosyaların derlendiği tarih ve saat karşımıza gelmekte.
3 – Dosyaların paketlenip paketlenmediğini kontrol etmemiz isteniyor.
Dosyaların paketlenip paketlenmediğini görmek için ben Die (Detect It Easy) programını kullandım. Exeinfo aracıda kullanılabilirdi. Dosyalarda herhangi bir paketleme yok.
4 – Dosyaların ne yaptığına dair bir ip ucu var mı?
Dosyaları Pestudio ile açtıktan sonra Lab01–01.dll dosyası için Sleep ve CreateProcess işlevlerini görüyoruz.
“Kötü amaçlı yazılımın kendisini gizlemek için Windows’ta kullandığı tekniklerden biri, işlem değiştirme veya işlem boşluğu olarak adlandırılır. Bu, kötü amaçlı yazılımın svchost.exe gibi bilinen bir yazılım parçasını askıya alınmış bir durumda başlatmasını, işlem belleğine kötü amaçlı kod yazmasını ve ardından işlemi başlatmasını sağlar. Çalışan işlemleri arayan herkes, normal bir svchost.exe işleminin çalıştığını görür. Bu, kötü amaçlı kodun, değiştirdiği işlemle aynı ayrıcalıklarla çalışmasına izin vermenin ek avantajına sahiptir.”
Lab01–01.dll dosyası CreateProcess ile meşru bir işlev başlatır. Sleep işlevi ile çoğu korumalı alan sisteminin, nesnenin iyi davrandığını vedeğerlendirmesini sonlandırmasını sağlayacak kadar uzun bir süre verilerek gizlenmeyi amaçlıyor olabilir.
Lab01–01.exe dosyası için FindNextFile ve FindFirstFile işlevleri ile dosya sisteminde arama yapabilecektir.
5 – Virüslü sistemlerde arayabileceğiniz başka dosyalar veya ana bilgisayar tabanlı göstergeler var mı?
Lab01–01.exe dosyasına baktığımızda kernel32.dll yerine kerne132.dll olarak adlandırıldığını görüyoruz. Bu şekilde dosya saklanmaya çalışılmıştır.
“Çağdaş kötü amaçlı yazılımlar, yaygın işlem adlarına çok benzeyen işlem adlarını kullanma eğilimindedir. Daha çok onları gerçek bir şey olduğunu düşündüğünüz bir isme taklit etmek gibidir, ama değil. Örneğin, soket işlevleri kitaplığını işlemede bellekte yaygın olarak kullanılan bir işlem olan WSOCK32.DLL dosyası WSOCK33.DLL dosyası olarak taklit edilebilir. Başka bir KERNE132.dll (KERNEL’deki L’nin aslında 1 sayısı olduğuna dikkat edin) gerçek KERNEL32.DLL ile karıştırılabilir. Bazen isimler aslında geçerlidir, ancak yol farklıdır. KERNEL32.DLL her zaman \ Windows \ System32 dizininde bulunur, ancak bazı kötü amaçlı yazılımlar \ Windows \ System dizinine yerleştirir.”
6 – Virüs bulaşmış makinelerde bu kötü amaçlı yazılımı bulmak için hangi ağ tabanlı göstergeler kullanılabilir?
Lab01–01.dll dosyası için ağ tabanlı gösterge olarak 127.26.152.13 ip adresi gösterilebilir.
7 – Bu dosyaların amacı nedir?
kernel32.dll, CreateProcess ve Sleep fonksiyonları zararlı yazılımlarda arka kapı oluşturmak amacı ile sıklıkla kullanılan dosyalardır. Bu dosyaların tespit edilmemesi için yukarıda söz ettiğim gibi çeşitli gizlenme yöntemleri kullanılmıştır.
Başka yazılarda görüşmek dileğiyle..