- 12 Ara 2020
- 127
- 96
Öncelikle merhabalar, değerli Türk Hack Team takipçileri! Bugün sizlere “Blue Team” ekip kadrosunun görev dağılımı süresince hazırlamış olduğum “PMA Lab 3-3 İleri Seviye Malware Analizi” konusunu ele alarak anlatıma başlayacağım. Anlatıma geçmeden önce kullanılmış olan teknolojilere ve birtakım terimlerin açıklamalarına değinmek istemekteyim ki konu daha anlaşılır hale gelebilsin.
PMA(Practical Malware Analysis)-Lab: GitHub, genel itibariyle git yazılımı ile entegre edilmiş depolama alanıdır. GitHub platformu, kullanıcıları içerisinde bulunan “mikesiko” kullanıcısının paylaştığı bir nevi örnek laboratuvar ortamıdır. Türkçe’ye çevirilmesiyse, “Pratik Zararlı Yazılım Analizi Laboratuvar”ı şeklindedir.
Kullanmış Olduğum Araçlar: Virtualbox(Sanallaştırma uygulaması), IDA(Zararlı yazılım analizi esnasında kod incelemesi için kullandığım), Windows Process Monitor(Statik analiz sürecinin yanında merakımdan kod bloğunu çalıştırmak istedim ve işlemlerin dönümünü bana göstermeye olanak sağlayan program), Microsoft Windows XP x64 mimari tabanlı Professional/English (Windows türevi İşletim Sistemlerinin bünyesinde oldukça etkilidir).
PMA-LAB 3-3 “.exe” dosyasının kod incelemesini IDA ile yaparken gözüme garip gelen bir şey takılıverdi. Takılan noktaya daha derinlemesine baktığım süreçte ise “kernel32.dll” kütüphane yapısının işlem değerlerini döndürürken dosya oluşturduğunu fark ettim. kernel32.dll, Windows İşletim Sisteminin, temel işlevlerini yerine getirmek; bellek yönetimini sağlamak, giriş ve çıkış donanımlarını kontrol etmek gibi görevleri yerine getiren modülüdür.
Yukarıdaki resimde oluşturduğu dosyayı ilerleyen kısımda işlem kapasitesi döndürürken de fark ettim.
Dosya ve işlem bütünlüğünü oluştururkan alttan alttan kendisinin hazırlamış olduğu kaynaklar parçacığının yüklenmesi gerçekleştirilmişti.
Yukarıdaki resimde apaçık şekilde belirtmiş olduğum durum gözler önüne serilmiştir. Kaynak kilitlendirilmesi oluşturulur iken başka kaynaklardan kaynak yüklemesine olanak sağlamıştır. Analizini gerçekleştirmiş olduğum dosyanın ilk bakışlarımda aniden gelişen ve araya sıkıştırılmış kodların ne anlama geldiğini pek kavrayamasam da sonrasında hemen altındaki:
Bu nokta gözüme çarptığı vakit kodlarım tam manasını anlamaya başlamıştım. Meğersem sistem dizinlerini, oluşturduğu “a” yapısının içerisine yönlendirmeye başlamış.
Dosya ve işlem yönlendirilmesi gerçekleştirilince geriye kalan yalnızca komut satırı kalmıştıki oraya da yavaştan işlemlerle döndürmeye başlanılmış. Çünkü burada sistem hizmetlerine de etki etmeye başlamış. Komut satırı içerisine geçmeden önce kendisinin çekmiş olduğu birtakım kaynak çekimleriyle, Microsoft Windows sistemlerin hizmetlerine nüfuz etme aşamasına geçmiş bulunmaktaydı.
Tabi sızılmaya ve dağınılmaya çalışılan hizmet, çoğu kullanıcının görev yöneticisindeki kendi hizmetlerini çok döndürmesiyle zaman zaman şikayetçi olduğu “svchost.exe” idi. svchost.exe, Microsoft Windows ürünlerinin DLL yapılarından başlatılan işlemlerin yürütülmesini sağlayan ve alt tarafta pek çok kez çalıştırılan sistem uygulamasıdır. svchost.exe, kullanımını gerçekleştirirken yanlarında çalıştırılmasına gerekli olan modül ve işlemleri de yukarıdaki resimde görüldüğü şekilde barındırmaktadır.
Gel gelelim kullanılan bilgisayara sızma ve dağılma(nüfuz etme) işleminin varolduğundan bahsetmiştim. Yazılanların en canlı ve kanlı örneğiyse, “UNICODE” ve ”LOCALIZATION” veri tabanı tipi ve veri ismidir. Unicode, kısa tabir edilmesi gerekir ise herkesin anlaşılacağı şekilde klavyeden ya da herhangi girdi işlemlerinde karakterlerin sayı ve sembollerle ifade edilmesidir. Makinenin içerisinde derinlemesine kalabilmesi adına bu türden işlemleri yapması gerekmektedir. Eğer web sunucusuna sızılmaya çalışılsaydı “Hexadecimal” kavramı kullanılırdı ki yıllardır bu tür teknikler bulunmaktadır. PMA-Lab 3-3, basit görünüme sahip olmaktadır. Ancak her ne kadar basit görünülse de aslında hiç de görünüldüğü kadar basit değildir. Çünkü kendisini çalıştırırken başta ve sonda hata döndürmesi işin enteresan kısmını oluşturmaktadır.
Çalıştırılır iken program isminin bilinilmemesi ve son açılır pencereyle alakalı hususlarda yer almaktadır. user32.dll, Microsoft Windows ürünlerinin çalıştırılmasını sağlayan en mühim kütüphanelerden birisidir. Dosyanın eksikliğinden zamanında birtakım Windows kullanıcıları çok teknik ve alt yapı anlamında problem de ,hedef genelde svchost.exe veya user32.dll olunca, yaşamıştır. İşlem ve dosya yönünden oluşturulan dosyanın “Microsoft Visual C++” kullanımının kütüphane yerinde çalıştırılması da ayrı cabası tabii.
Komut satırının içerisine bir anda tonlarca atlatılma(bypass) amaçlı karakter girdisi oluşturulmuş. Oluşturulmasını sağlamak amacıyla “Microsoft Visual C++” yardımı da alınılmıştır. Satırlarca uzayıp giden kodları incelerken merakımdan kendi dosyalarımın arasında “Lab03-03.exe” ismiyle bulunan dosya yapısını çalıştırdım.
Çalıştırdıktan belirli bir süre zarfının ardından "Process Monitor" uygulaması açtım. Varsayılan(C:\\) diskimin içerisindeki “Windows” klasörümdeki “system32” alt dizinini hedef aldı ve oradaki kütüphaneleri kendine yöneltmeye başladı. Başladı başlamasına da burada kötü bir duruma mağruz kaldım ki o da "Virtualbox" uygulamasının bozulmasıydı. Aniden RAM ve CPU tüketmesine dayanamayan bilgisayarımın mavi ekranıyla hazin bir şekilde sonuçlandırıldım, heyecanla ilerlerken. Anlaşılacağı üzeredir ki siz siz olun kesinlikle bu türden dosyaları elinizden gelebildiğince açmamaya ve titizlikle incelemeye çalışın ki benim gibi durumlarla karşılaşmayın. Ufaktan not geçmek istemekteyim, bilgisayarımın sanallaştırmasında bulunan Microsoft Windows XP x64 mimari tabanlı Professional/English ürünü tamamen zedelenmiş. Zararını yaşaması da anlamaktayım ki PMA-Lab’ın daha öncesi tüm sürümlerini kontrol ederken orada da biraz zarar görmüştü. Uzun lafın kısası titizlikle programlara bakmalısınız ve yazımın böylelikle sonuna gelmiş bulunmaktasınız. Değerli vaktinizi ve dikkatinizi yazım paylaşımına ayırdığınız için çok teşekkür ederim. Umarım okurken keyif almışsınızdır ve bilgilenmişsinizdir.
PMA(Practical Malware Analysis)-Lab: GitHub, genel itibariyle git yazılımı ile entegre edilmiş depolama alanıdır. GitHub platformu, kullanıcıları içerisinde bulunan “mikesiko” kullanıcısının paylaştığı bir nevi örnek laboratuvar ortamıdır. Türkçe’ye çevirilmesiyse, “Pratik Zararlı Yazılım Analizi Laboratuvar”ı şeklindedir.
Kullanmış Olduğum Araçlar: Virtualbox(Sanallaştırma uygulaması), IDA(Zararlı yazılım analizi esnasında kod incelemesi için kullandığım), Windows Process Monitor(Statik analiz sürecinin yanında merakımdan kod bloğunu çalıştırmak istedim ve işlemlerin dönümünü bana göstermeye olanak sağlayan program), Microsoft Windows XP x64 mimari tabanlı Professional/English (Windows türevi İşletim Sistemlerinin bünyesinde oldukça etkilidir).
PMA-LAB 3-3 “.exe” dosyasının kod incelemesini IDA ile yaparken gözüme garip gelen bir şey takılıverdi. Takılan noktaya daha derinlemesine baktığım süreçte ise “kernel32.dll” kütüphane yapısının işlem değerlerini döndürürken dosya oluşturduğunu fark ettim. kernel32.dll, Windows İşletim Sisteminin, temel işlevlerini yerine getirmek; bellek yönetimini sağlamak, giriş ve çıkış donanımlarını kontrol etmek gibi görevleri yerine getiren modülüdür.
Yukarıdaki resimde oluşturduğu dosyayı ilerleyen kısımda işlem kapasitesi döndürürken de fark ettim.
Dosya ve işlem bütünlüğünü oluştururkan alttan alttan kendisinin hazırlamış olduğu kaynaklar parçacığının yüklenmesi gerçekleştirilmişti.
Yukarıdaki resimde apaçık şekilde belirtmiş olduğum durum gözler önüne serilmiştir. Kaynak kilitlendirilmesi oluşturulur iken başka kaynaklardan kaynak yüklemesine olanak sağlamıştır. Analizini gerçekleştirmiş olduğum dosyanın ilk bakışlarımda aniden gelişen ve araya sıkıştırılmış kodların ne anlama geldiğini pek kavrayamasam da sonrasında hemen altındaki:
Bu nokta gözüme çarptığı vakit kodlarım tam manasını anlamaya başlamıştım. Meğersem sistem dizinlerini, oluşturduğu “a” yapısının içerisine yönlendirmeye başlamış.
Dosya ve işlem yönlendirilmesi gerçekleştirilince geriye kalan yalnızca komut satırı kalmıştıki oraya da yavaştan işlemlerle döndürmeye başlanılmış. Çünkü burada sistem hizmetlerine de etki etmeye başlamış. Komut satırı içerisine geçmeden önce kendisinin çekmiş olduğu birtakım kaynak çekimleriyle, Microsoft Windows sistemlerin hizmetlerine nüfuz etme aşamasına geçmiş bulunmaktaydı.
Tabi sızılmaya ve dağınılmaya çalışılan hizmet, çoğu kullanıcının görev yöneticisindeki kendi hizmetlerini çok döndürmesiyle zaman zaman şikayetçi olduğu “svchost.exe” idi. svchost.exe, Microsoft Windows ürünlerinin DLL yapılarından başlatılan işlemlerin yürütülmesini sağlayan ve alt tarafta pek çok kez çalıştırılan sistem uygulamasıdır. svchost.exe, kullanımını gerçekleştirirken yanlarında çalıştırılmasına gerekli olan modül ve işlemleri de yukarıdaki resimde görüldüğü şekilde barındırmaktadır.
Gel gelelim kullanılan bilgisayara sızma ve dağılma(nüfuz etme) işleminin varolduğundan bahsetmiştim. Yazılanların en canlı ve kanlı örneğiyse, “UNICODE” ve ”LOCALIZATION” veri tabanı tipi ve veri ismidir. Unicode, kısa tabir edilmesi gerekir ise herkesin anlaşılacağı şekilde klavyeden ya da herhangi girdi işlemlerinde karakterlerin sayı ve sembollerle ifade edilmesidir. Makinenin içerisinde derinlemesine kalabilmesi adına bu türden işlemleri yapması gerekmektedir. Eğer web sunucusuna sızılmaya çalışılsaydı “Hexadecimal” kavramı kullanılırdı ki yıllardır bu tür teknikler bulunmaktadır. PMA-Lab 3-3, basit görünüme sahip olmaktadır. Ancak her ne kadar basit görünülse de aslında hiç de görünüldüğü kadar basit değildir. Çünkü kendisini çalıştırırken başta ve sonda hata döndürmesi işin enteresan kısmını oluşturmaktadır.
Çalıştırılır iken program isminin bilinilmemesi ve son açılır pencereyle alakalı hususlarda yer almaktadır. user32.dll, Microsoft Windows ürünlerinin çalıştırılmasını sağlayan en mühim kütüphanelerden birisidir. Dosyanın eksikliğinden zamanında birtakım Windows kullanıcıları çok teknik ve alt yapı anlamında problem de ,hedef genelde svchost.exe veya user32.dll olunca, yaşamıştır. İşlem ve dosya yönünden oluşturulan dosyanın “Microsoft Visual C++” kullanımının kütüphane yerinde çalıştırılması da ayrı cabası tabii.
Komut satırının içerisine bir anda tonlarca atlatılma(bypass) amaçlı karakter girdisi oluşturulmuş. Oluşturulmasını sağlamak amacıyla “Microsoft Visual C++” yardımı da alınılmıştır. Satırlarca uzayıp giden kodları incelerken merakımdan kendi dosyalarımın arasında “Lab03-03.exe” ismiyle bulunan dosya yapısını çalıştırdım.
Çalıştırdıktan belirli bir süre zarfının ardından "Process Monitor" uygulaması açtım. Varsayılan(C:\\) diskimin içerisindeki “Windows” klasörümdeki “system32” alt dizinini hedef aldı ve oradaki kütüphaneleri kendine yöneltmeye başladı. Başladı başlamasına da burada kötü bir duruma mağruz kaldım ki o da "Virtualbox" uygulamasının bozulmasıydı. Aniden RAM ve CPU tüketmesine dayanamayan bilgisayarımın mavi ekranıyla hazin bir şekilde sonuçlandırıldım, heyecanla ilerlerken. Anlaşılacağı üzeredir ki siz siz olun kesinlikle bu türden dosyaları elinizden gelebildiğince açmamaya ve titizlikle incelemeye çalışın ki benim gibi durumlarla karşılaşmayın. Ufaktan not geçmek istemekteyim, bilgisayarımın sanallaştırmasında bulunan Microsoft Windows XP x64 mimari tabanlı Professional/English ürünü tamamen zedelenmiş. Zararını yaşaması da anlamaktayım ki PMA-Lab’ın daha öncesi tüm sürümlerini kontrol ederken orada da biraz zarar görmüştü. Uzun lafın kısası titizlikle programlara bakmalısınız ve yazımın böylelikle sonuna gelmiş bulunmaktasınız. Değerli vaktinizi ve dikkatinizi yazım paylaşımına ayırdığınız için çok teşekkür ederim. Umarım okurken keyif almışsınızdır ve bilgilenmişsinizdir.
Son düzenleme: