Post by Pesimistyle on Oct 18, 2017 17:33:14 GMT
Windows ortamında uygulama geliştiren yazılımcılara Microsoft tarafından sunulan ve yazılımcının ihtiyaç duyacağı temel fonksiyonları barındıran hazır kütüphanelere verilen isimdir Windows API ve zararlı kod geliştiricileri de Windows’un bu imkanlarından faydalanarak bir çok temel işi paylaşılan kütüphanelerdeki fonksiyonlara yaptırırlar. Bu fonksiyonlar hakkında bilgi sahibi olmanız durumunda analiz ettiğiniz zararlı kodun davranışını ve neyi amaçladığını çok daha hızlı öğrenebilirsiniz. ADEO bünyesindeki adli bilişim laboratuarında gerçekleştirdiğimiz malware analizlerinde de bu API’lerin çok sık kullanıldığını görüyoruz. Eğer sizler de zararlı kod analizi ile uğraşıyorsanız aşağıda sizler için hazırladığımız ve zararlı kodlar tarafından sıklıkla kullanıldığını tespit ettiğimiz Windows API’lar hakkındaki detaylı bilgiler bir hayli işinize yarayacaktır.
Dosya Sistemi Fonksiyonları
Bir zararlı kod genellikle disk üzerinde bir takım dosyaları okur veya dosyalara yazar. Bu zararlı kodun disk üzerindeki hangi dosyaları okuduğu ve yazdığı bilgisini öğrenmek hem o zararlı kodun ne yapmaya çalıştığını öğrenmek hem de o zararlı kodu diğer başka bilgisayarlarda tanımlamak adına kullanılacak göstergeleri ortaya çıkarmak adına oldukça önemlidir.
Bir zararlı kod tarafından kullanılması muhtemel dosya sistemi fonksiyonları olarak aşağıdaki fonksiyonları gösterebilir.
Aşağıdaki ekran görüntüsünde örnek bir CreateFileA API’sinin kullanımına ilişkin kod kısmını görebilirsiniz. İlgili kod analiz edildiğinde CreateFileA fonksiyonunun çağırılmadan önce bu fonksiyonun parametrelerinin push komutu ile stack’e gönderildiği görülecektir.
Bu fonksiyonlarla ilgili daha detaylı bilgiye ulaşmak içinhttp://msdn.microsoft.com/en-us/library/windows/desktop/aa363858(v=vs.85).aspx adresini ziyaret edebilirsiniz.
Registry Fonksiyonları
Zararlı kodların bir Windows sistemindeki registry kayıtları üzerinde işlem yapmak adına temelde aşağıdaki fonksiyonları kullandıklarını biliyoruz.
Örnek olarak aşağıdaki kod kısmına baktığımızda ilgili zararlı kodun iki farkı registry değerini sorguladığını görebiliyoruz.
Network Fonksiyonları
Zararlı kodların Windows ortamında kullandıkları network fonksiyonları genellikle Berkeley Uyumlu Socket yapısındadır ve bu fonksiyonlar Windows’daki ws2_32.dll kütüphanesinde yer alır.Aşağıda bu kütüphane içinde yer alan ve karşımıza an çok çıkan fonksiyonlar yer almaktadır. Aşağıdaki fonksiyonlar çağırılmadan önce mutlaka WSAStartup fonksiyonu çağırılır. Eğer analiz edilen uygulamanın network iletişimi monitör edilmek isteniyorsa bu durumda WSAStartup fonksiyonuna breakpoint konulabilir.
Bu fonksiyonların kullanımına ilişkin örnek kod parçası da aşağıda gösterilmiştir.
Yazı dizisinin bir sonraki kısmında zararlı kodlar tarafından kullanılanWinINet Fonksiyonları, Proses Fonksiyonları ve Servis Fonksiyonları ile devam edeceğiz.