Zararlı Yazılım Dinamik ve Procdot Analiz

borekaenxd97

Blue Tim Emektar
24 Nis 2020
218
339
Ey Türk Gençliği!

Öncelikle hepinize merhabalar. Bugün değerli @Cakky nin Statik Analizini gerçekleştirdiği, edindiğimiz Zararlı Yazılım üzerinden Dinamik ve Procdot Analizi gerçekleştireceğiz. İyi okumalar.


Dinamik Analiz

Dinamik analiz, kötü amaçlı yazılımı başlatmak ve çalışma süresi boyunca davranışını ve çalışma zamanı davranışını analiz etmek için kullanılan bir tekniktir. Kötü amaçlı yazılımın ana bilgisayar üzerindeki etkisini analiz etmemizi sağlar. Kötü amaçlı yazılımın yol açabileceği herhangi bir zararı önlemek için doğrudan kötü amaçlı yazılımı çalıştırmak istemediğimizden, kötü amaçlı yazılımın yürütülmesini izole etmek ve ardından analiz etmek için belirli adımlar atarız.

Statik analiz, çalışırken kodu analiz etmez. Bunun yerine, dosyaları kötü niyetli amaçlar için inceler. Bu, altyapıyı, paketlenmiş dosyaları ve kitaplıkları tanımlamayı faydalı kılar. Dosyanın kötü amaçlı olup olmadığını belirlemek için bazı teknik göstergeler kullanılabilir. Ancak, kodu çalıştırmadığından, karmaşık kötü amaçlı yazılımları tespit etmek zordur. Kötü amaçlı yazılım yazarı özel bir paketleyici kullanmışsa, statik analizde kişinin bunu anlaması ve paketin açılmasından sonra analize başlaması gerekir. Dinamik analiz durumunda buna gerek olmayabilir.


Dinamik analiz ise herhangi bir şüpheli kötü amaçlı kodu, korumalı alan adı verilen güvenli bir ortamda yürütür(bizim incelememizde bir sanal ortam olan Windows10). Aynı zamanda Dinamik Analiz güvenlik uzmanlarının kötü amaçlı yazılımı çalışırken izlemesini ve sisteme bulaşma riskini etkilememesini ya da önlem almasını sağlar. Tehdidin gerçek doğasını ortaya çıkarmak için daha derin bir görünürlük sunar. Bilgisayar korsanları ve düşmanlar genellikle kodu, bazı koşullar karşılanana kadar çalışmayacak bir sanal alanda gizler. Kötü amaçlı yazılımın üretim sistemlerine gerçekten bulaşmasını önlemek için korumalı alan ortamında dinamik analiz gerçekleştirmenin önemli olduğunu unutmayın.




Önlemler
Dinamik kötü amaçlı yazılım analizi yapmadan önce, bunu güvenli bir ortamda yaptığınızdan emin olun. Bir Windows sanal makinesi dağıtmayı ve sanal makineleri sağlamak için VMware kullanmayı düşünün(veya VirtualBox). Ayrıca, güvenli durumun kolayca geri yüklenebilmesi için kötü amaçlı ikili dosyaları çalıştırmadan önce sanal makinenin bir anlık görüntüsünü almalısınız.

Dinamik analizi 2 kategoriye ayırabiliriz:

Değişiklikleri İzlemek(Monitor Changes)
Davranışı İzlemek(Behavior Monitoring)


Kullanılan Araçlar

Regshot
Fakenet
Procmon
Procdot

Regshot: Araç anlık görüntüler üzerinden çalışır. Yani alınan (first shot, second shot) görünümler arasındaki farkları incelememizi, karşılaştırma yapmamızı sağlar. Bu araç yalnızca zararlı yazılım için değil bilgisayarınızın belirli dizinlerinde, diskler üzerinde yapılan değişiklikleri de incelememize yardımcı olur(buna örnek olarak masaüstü arka planınızı değiştirip, inceleme yapılacak dizini Masaüstü olarak ayarlayabilirsiniz ve bu size görünümler arası çıktıda belirtilecektir). Genellikle Kayıt Defteri(Regedit) üzerinde gözlemleme yapma, inceleme özelliği olsa da zararlı yazılım analizi sürecinde gerek kayıt defteri, gerekse de dizinler arasında gözlem yapma özelliği bulunmaktadır. Alınan anlık görünümler doğrultusunda Karşılaştırma ve çıktıyı görüntüleme seçeneği sunması da aracın kullanılabilirlik seviyesini arttırmaktadır. (Çıktıyı not defteri ile vermektedir.)
wk600ry.jpg
Fakenet: Araç, yasal ağ hizmetlerini simüle ederken tüm veya belirli ağ trafiğini engellemenize ve yönlendirmenize olanak tanır. Kötü amaçlı yazılım analistleri, FakeNeti kullanarak kötü amaçlı yazılımın işlevselliğini hızla belirleyebilir ve ağ imzalarını yakalayabilir. Yani zararlı yazılım çalışacağı zaman internet erişimini kısıtlayıp, istekleri kullanıcıya gösterebilir. Dolayısıyla zararlı yazılımın bağlantılarını canlı olarak görüntüleyebiliriz.
wk600ry.jpg
Procmon: Process Monitor, Windows için gerçek zamanlı dosya sistemi, Kayıt Defteri ve işlem/iş parçacığı etkinliğini gösteren gelişmiş bir izleme aracıdır.
Aracın bize sunduğu özelliklerden bazıları ise şunlardır:
  • Herhangi bir olay özelliği için yapılandırılabilir ve taşınabilir sütunlar​
  • Sütun olarak yapılandırılmamış alanlar da dahil olmak üzere herhangi bir veri alanı için filtreler ayarlanabilir​
  • İşlem ağacı aracı, bir izde başvurulan tüm işlemlerin ilişkisini gösterir​
wk600ry.jpg

Procdot: ProcDOT, GraphViz paketi aracılığıyla bir grafik oluşturmak için Sysinternals Process Monitor (Procmon) günlük dosyalarını ve PCAP günlüklerini (Windump, Tcpdump) işleyen bir araçtır. Bu grafik, ilgili faaliyetleri (özelleştirilebilir) görselleştirir ve etkileşimli olarak analiz edilebilir.

Aracın bize sunduğu özelliklerden bazıları ise şunlardır:
Yalnızca ilgili şeylere odaklanmak için akıllı takip algoritmaları
İplik(thread) enjeksiyonunun algılanması ve görselleştirilmesi
Ağ aktivitelerinin korelasyonu ve neden olan süreçler


Dinamik Analiz Akışı ve Ön Bilgiler

Yukarıdaki Registry Keyleri zararlı yazılımın işletim sisteminin yeniden başlatılmasından sonra hayatta kalmasına izin verebilecek bazı Kayıt Defteri Anahtarları konumlarıdır.
Bu nedenle zararlı yazılım yeni anahtarlar oluşturarak bu konumlara herhangi bir şey yerleştirmeye çalışırsa, bu bir tehlike göstergesidir.
  • HKLM: HKEY_LOCAL_MACHINE
  • HKU: HKEY_USERS
  • HKCU: HKEY_CURRENT_USER

\SOFTWARE ise HKEY_LOCAL_MACHINE hive’i altında bulunmaktadır.

NOT: 64 bit işletim sistemi kullanıyorsanız ve çalışan programınız 64 bit ise, dll dosyaları Windows\System32'den gelir.
Öte yandan 64-bit işletim sisteminde 32-bit program kullanıyorsanız, dll'ler Windows\SysWOW64 klasöründen gelmektedir.



Bir sonraki şey, DLL arama sırasının farkında olmanız gerekir. Program çalıştığında, dll dosyalarını dışa aktaran API'leri kullanması gerekecektir.

Bu nedenle, dll dosyaları genellikle Windows veya Windows\System32'yi takip eder.
Ve bazen kötü amaçlı yazılım, sistem dll'si ile tam olarak aynı olan kendi dll sürümünü koyarak ön yüklemeye (getirmeye) çalışır.
Yani bunu kendi dizinindeki bir dizine koyarak yapabilir.
Bu, soldaki dizinde bulunan ve sağdaki dizinden önce ilk çalıştırılacak olan dizin arama sırasıdır.


Dinamik Analizimize Başlayalım

1-) Öncelikle Procmon (Process Monitor) aracımızı açıyoruz:

Yukarıdaki resimde de görüleceği üzere İlk olarak aracımızın işleyişini durdurup, ardından temizliyoruz.

2-) Fakenet aracımızı açıyoruz

Fakenet zararlı yazılımımızın oluşturacağı ağ trafiğini kesecektir.

3-) Regshot aracımızı başlatıyoruz.

C:\ dizininin anlık görünümünü alıyoruz çünkü registry key ya da oluşacak diğer dosyaları kıyaslamak/karşılaştırmak için en temelden ( C:\ ) bakmamız-incelememiz gerekiyor.
Tüm kök sistemini görüntülemek istiyoruz diyebiliriz.
Hemen 2. Görünümü almıyoruz, çünkü procmon üzerinde incelemeler yapmamız ve zararlı yazılımı çalıştırıp oluşacakları görüntülememiz gerekiyor.

4-) Procmon ile durdurduğumuz incelemeyi devam ettiriyoruz.


İncelemelek üzere processler listelenmeye başlıyor.

5-) Zararlı yazılımımızı başlatıyoruz.

Aşağıdaki resimde görüldüğü üzere zararlımız kendini sildi:


6-) Fakenet üzerinde incelemeye devam edersek:

Yukarıdaki resimden wpad.localdomain hostuna bir GET isteği yapıyor. Hostun /wpad.dat dizinine gerçekleştirilen GET isteğinin User-Agenti ise WinHttp-Autoproxy-Service/5.1. Yani Tarayıcı hakkında Otomatik bir Proxy ayarlanmış Windows Http diyebiliriz. Ayrıca 80 portundan istek yapıldığı, Content-Type dizininden de urlencoded bilgisini çıkarabileceğimizi görebiliriz.


Ardından mbaquyahcn.biz hostuna 80 portundan bir POST isteği yapılmış. 80 Byte (Content-Length) uzunluğunda a=&b=&c=%68%65%66%63%69%6A%67%64%64%61%61%61%78%79%79%76%79%76%73%70%71%74%71%71

Şeklinde bir POST isteğimiz var.

URLENCODING POST isteğini bu şekilde decode ettik ve elimize ulaşan veri yukarıdaki resimdeki gibidir.

7-) Şimdi zararlı yazılımımızı belirli bir süre (5 dakika yeterli fakat keyfimize bağlı) incelemeye alıyoruz, farklı istek ya da oluşturulan dosya dizin, registry key var mı onları görüntüleyebilmek adına.

Şimdi belirli aralıklarla yapılan ve Fakenet tarafından kesilen 2 bağlantıyı bir karşılaştıralım:


Aynı servere istek yapılıyor, POST isteği aynı, dizin aynı, http protokolü versiyonu(1.1) aynı, İçerik tipi ve Kullanıcı Aracısı (Content-Type/User-Agent) aynı. Gözümüze çarpan tek farklı işlem encode edilen işlem. Yukarıdaki resimlerde de görüntüleneceği üzere

ilk resimde c=%79 ile başlarken;

ikinci resimde c=%6F ile başlıyor.

Gönderilmeye çalışılan diğer isteklere de baktığımızda yukarıdaki işlemlere dair farklı bir istek yakalanmadı. Zararlımızda aynı istek tekrar ediyor diyebiliriz.

Fakenet trafiği keser ve sunucu gibi davranır, ancak trafiği istenen sunucuya iletmez.

Ana bilgisayar adı, burada görmemiz için açıkça görülüyor.

Host: mbaquyahcn.biz

8- ) Şimdi Procmon u tekrar durduralım ve Regshot üzerinde 2. görüntümüzü alalım. Bu doğrultuda yapılan değişiklikleri, oluşturulan herhangi bir şey varsa görüntüleyebileceğiz.


2.de tamamlandı


9-) 2 görünüm de tamamlandıktan sonra Karşılaştırıp Çıktımızı alabiliriz.

Karşılaştırma tamamlandığında not defteri üzerinde otomatik olarak açılacaktır.

Not Defteri üzerinde inceleme yaparsak:




Öncelikle Values Added yani eklenen değerler üzerinden gidersek öncesinde de bahsettiğimiz bir Registry işlemi gerçekleşmiş:

Yani kalıcılığı sağlamak adına (reboot işleminden sonra tekrar çalıştırılacak) bir registry key oluşturulmuş ve dosyanın adı da lsass.exe

NOT: Aşağıdaki resimde oluşturulan exe dosyasının dizinini görüntülediğimizde dosya gizli bir şekilde bulunmaktadır.




File Not Found diyor yani böyle bir dosya yok 😊

Dosya gezgininden bulmaya çalışalım .exe dosyamızı ozaman bizde

Gizli öğeleri görüntüleyemiyoruz

Görünüm sekmesinden Gizli öğeler seçeneğini aktif hale getirdiğimizde ise AppData gibi birkaç dosya daha görünür hale geliyor.


Ve gördüğünüz üzere oluşturulan zararlı dosyamızı görüntülüyoruz.

*Artık kötü amaçlı yazılımın bir kopyasını nereye sakladığını biliyoruz.
Şimdi de eklenen dosyalara bakalım (Folders added)

Burası bizim zararlı yazılımımızın kendisini kopyaladığı dosyanın yolu.

İçerisine lsass.exe yi koyabilmek için oluşturulan dosya.


Procdot Analizimize Geçelim

Process Monitor üzerinde Filtreleme işlemi yapalım:

Yukarıdaki resimde Process Moniter Filter altında Architecture a tıklayıp oradan Process Name seçiyoruz.

Buradan Process Name is budget-report.exe yani zararlı yazılımımızı işlem olarak görmek istiyoruz.
wk600ry.jpg

İşlemi yaptıktan sonra add diyerek filtreyi ekliyoruz ve aşağıdaki gibi yeşil tık şeklinde görünmesi gerekiyor ekranımızın.

Ardından apply ile filtremizi uyguluyoruz.

78 Bin görüntülenme yerine yalnızca seçtiğimiz filtre olan zararlı yazılımımız işlem olarak görüntülenecektir (buda görüntülenen işlemleri azaltmaktaır) bugdet-report.exe

Filtrelememize devam ediyoruz. Filtreler hakkında bir liste oluşturacak olursak:


Option Sekmesindeki hiçbir özelliğin enable yani çalışır durumda olmaması gerekir.
wk600ry.jpg

Options > Select Columns > sekmesinde gelip Thread ID (TID) etkinleştiriyoruz.

Files Sekmesinden Save diyerek Dynamic Analiz dosyamıza kaydediyoruz.

NOT: Bunu yapmamızın nedeni aynı zararlı dosyanın çalıştırıldığı işletim sistemi labının tekrardan kurulması zor olacağından elimizde çalıştırılmış ortamdaki Process Monitor logunun bulunması ve tekrardan açıp incelenebilir bir format olması analizimizi kolaylaştırmaktadır.

Sonrasında Comma-Seperated Values (CSV) uzantısıyla aynı dizine kaydediyoruz. (Çünkü Procdot toolunda açmamız gereken uzantı CSV uzantısı)
wk600ry.jpg

1-) Procdot aracımızı açıyoruz
Gelen dot.exe hatasına tamam diyip ilerliyoruz.

Procmon seçeneğindeki 3 noktaya tıklayıp CSV uzantılı Procmon dosyamızı seçiyoruz.

Sonrasında Launcher ın yanındaki 3 noktaya tıklayıp yüklüyoruz

Çıkan ekrandan da zararlı yazılımımızı seçiyoruz.
wk600ry.jpg

PID(Process ID) numarası 5532 olan zararlımızı seçip Refresh e tıkladığımızda ise:

Karşımıza böyle bir ekran çıkıyor. Okların gösterdiği gösterge sonuçlarını Ctrl + fare tekerleği ile büyültüp küçültebilir ya da sürükle çek yöntemiyle ekranda sağa sola gidebiliriz.

Bunlar bizim RunOnce reboot sonrası tekrar çalışma (kalıcılık) ve Hidden zararlısının çalıştırıldıktan sonra oluşturulan Roaming dizini altındaki Sayısal Dosya olan 12648430 un içinde oluşan zararlının gizliliği için Registry Keyi.



Örneğin budget-report zararlımız Roaming\12648430 altında winlogon.exe olarak yeniden adlandırılmış. CMD üzerinden kontrol edelim bakalım gizli mi değil mi ?

Dizinimiz C:\Users\thres\AppData\Roaming\12648430 fakat dir ile (dir: Üzerinde çalışılan dizindeki dosyaları gösterir (linuxtaki ls komutu ile aynı işlevdedir)) dosya bulunamadı diyor. Dosya gezginimizden görünür kılarak görüntüleyebilir miyiz ona bir bakalım.

Burada sidebar.exe olmasının sebebi ben zararlı dosyamı 2 başlıkta incelediğim için tekrar çalıştırmam gerekti, bu yüzden farklı bir isimle yeniden adlandırıldı. Fakat oluşturulan winlogon.exe nin dizini ve dosya formatı aynı. Yani Gizli Öğeleri aktif ederek zararlımızı (yeniden adlandırılan zararlı) görüntüleyebildik.

Örneğin buda farklı bir Regshot Karşılaştırma metin dosyasından. Burada da lsass.exe olarak yeniden adlandırılmış.

Fakat tekrar bi inceleme yaptığımda oluşturulan Regshot Compare dosyalarından(log olarak oluşturulan Regshot dosyaları)

Winlogon.exe nin Karşılaştırmada 2. Ve 1. anlık görünümlerden Compare/karşılaştırıldığında fark olarak winlogon.exe nin oluşturulduğunu görüp doğrulayabiliriz.


Örneğin farklı bi şekilde inceleme yapacak olursak da:

Zararlımızın 8004 PID li bir ipliği(thread) var

Not: Ben burada İngilizce olarak thread kelimesi yerine (thread=iplik) bağ kelimesini kullanacağım.
wk600ry.jpg

Bu bağ

Bir dosya oluşturmuş

Oluşan dosya da geçici bit bat(batch) dosyası.

Örneğin burada oluşturulan sağ üstteki (pembe ok) batch dosyamız 1932 PID li bir processi tetikliyor(yeşil ok), oda 9132 PID li cmd.exe yi (kill) yani sonlandırıyor.

wk600ry.jpg

NOT: Hangi dizinin, hangi dosyanın (prefetch, batch, tmp) ne iş yaptığını oklar ile takip edip analizlerimizi daha sağlam bir şekilde yapabiliriz. Burada yalnızca Windows bilgisinin olması işimizi daha da kolaylaştırmaktadır.

Aynı zamanda yukarıdaki resimdeki 1932 numaralı işlem Conhost.exe işlemini oluşturuyor, oda 3644 ile bağlı.

Persistence Reg Keyimize geri dönecek olursak yeniden adlandırılan winlogon.exe miz Registry Keyimizi değer olarak atıyor(set as value).



NOT: Procdot Analizi olarak adlandırılan Procdot aracı Procmon aracı ile birlikte kullanıldığında bize çok önemli bilgiler sağlıyor ve analizimizin temelini güçlendiriyor. İki aracı birlikte kullanarak Process Monitor üzerinde tam olarak anlayamadığımız, nereye ulaştığını çözemediğimiz işlemleri Procdot ile anlayabilir, varsayımlarda bulunabiliriz.



Konumun sonuna gelmiş bulunmaktayım. Okurken size bir konuda fayda sağlayabildiysem, Zararlı Yazılım üzerinde Dinamik ve Procdot analizine dair aklınızdaki bir bilinmeyeni giderebildiysem ne mutlu. Umuyorum okurken eğlenmişsinizdir.


BLUE TEAM
 

borekaenxd97

Blue Tim Emektar
24 Nis 2020
218
339
Ey Türk Gençliği!
Teşekkür ederim.
Eline emeğine sağlık.
Teşekkür ediyorum. İstihbarat üyesinin beğenmesine sevindim :)
Teşekkür ederim.
Elinize sağlık hocam
Teşekkür ederim :)
Eline Emeğine Sağlık
Çok teşekkür ederim.
Thanks a lot :)
Elerinize sağlık.
Green üyelerinin okumasına ve beğenmesine sevindim, teşekkür ediyorum.
Teşekkür ederim, Green üyelerinin okumasına ve beğenmesi beni mutlu etti.
 

JohnWick51

Uzman üye
20 Mar 2022
1,865
770
28

Öncelikle hepinize merhabalar. Bugün değerli @Cakky nin Statik Analizini gerçekleştirdiği, edindiğimiz Zararlı Yazılım üzerinden Dinamik ve Procdot Analizi gerçekleştireceğiz. İyi okumalar.


Dinamik Analiz

Dinamik analiz, kötü amaçlı yazılımı başlatmak ve çalışma süresi boyunca davranışını ve çalışma zamanı davranışını analiz etmek için kullanılan bir tekniktir. Kötü amaçlı yazılımın ana bilgisayar üzerindeki etkisini analiz etmemizi sağlar. Kötü amaçlı yazılımın yol açabileceği herhangi bir zararı önlemek için doğrudan kötü amaçlı yazılımı çalıştırmak istemediğimizden, kötü amaçlı yazılımın yürütülmesini izole etmek ve ardından analiz etmek için belirli adımlar atarız.

Statik analiz, çalışırken kodu analiz etmez. Bunun yerine, dosyaları kötü niyetli amaçlar için inceler. Bu, altyapıyı, paketlenmiş dosyaları ve kitaplıkları tanımlamayı faydalı kılar. Dosyanın kötü amaçlı olup olmadığını belirlemek için bazı teknik göstergeler kullanılabilir. Ancak, kodu çalıştırmadığından, karmaşık kötü amaçlı yazılımları tespit etmek zordur. Kötü amaçlı yazılım yazarı özel bir paketleyici kullanmışsa, statik analizde kişinin bunu anlaması ve paketin açılmasından sonra analize başlaması gerekir. Dinamik analiz durumunda buna gerek olmayabilir.


Dinamik analiz ise herhangi bir şüpheli kötü amaçlı kodu, korumalı alan adı verilen güvenli bir ortamda yürütür(bizim incelememizde bir sanal ortam olan Windows10). Aynı zamanda Dinamik Analiz güvenlik uzmanlarının kötü amaçlı yazılımı çalışırken izlemesini ve sisteme bulaşma riskini etkilememesini ya da önlem almasını sağlar. Tehdidin gerçek doğasını ortaya çıkarmak için daha derin bir görünürlük sunar. Bilgisayar korsanları ve düşmanlar genellikle kodu, bazı koşullar karşılanana kadar çalışmayacak bir sanal alanda gizler. Kötü amaçlı yazılımın üretim sistemlerine gerçekten bulaşmasını önlemek için korumalı alan ortamında dinamik analiz gerçekleştirmenin önemli olduğunu unutmayın.




Önlemler
Dinamik kötü amaçlı yazılım analizi yapmadan önce, bunu güvenli bir ortamda yaptığınızdan emin olun. Bir Windows sanal makinesi dağıtmayı ve sanal makineleri sağlamak için VMware kullanmayı düşünün(veya VirtualBox). Ayrıca, güvenli durumun kolayca geri yüklenebilmesi için kötü amaçlı ikili dosyaları çalıştırmadan önce sanal makinenin bir anlık görüntüsünü almalısınız.

Dinamik analizi 2 kategoriye ayırabiliriz:

Değişiklikleri İzlemek(Monitor Changes)
Davranışı İzlemek(Behavior Monitoring)


Kullanılan Araçlar
Regshot
Fakenet
Procmon
Procdot

Regshot: Araç anlık görüntüler üzerinden çalışır. Yani alınan (first shot, second shot) görünümler arasındaki farkları incelememizi, karşılaştırma yapmamızı sağlar. Bu araç yalnızca zararlı yazılım için değil bilgisayarınızın belirli dizinlerinde, diskler üzerinde yapılan değişiklikleri de incelememize yardımcı olur(buna örnek olarak masaüstü arka planınızı değiştirip, inceleme yapılacak dizini Masaüstü olarak ayarlayabilirsiniz ve bu size görünümler arası çıktıda belirtilecektir). Genellikle Kayıt Defteri(Regedit) üzerinde gözlemleme yapma, inceleme özelliği olsa da zararlı yazılım analizi sürecinde gerek kayıt defteri, gerekse de dizinler arasında gözlem yapma özelliği bulunmaktadır. Alınan anlık görünümler doğrultusunda Karşılaştırma ve çıktıyı görüntüleme seçeneği sunması da aracın kullanılabilirlik seviyesini arttırmaktadır. (Çıktıyı not defteri ile vermektedir.)
wk600ry.jpg
Fakenet: Araç, yasal ağ hizmetlerini simüle ederken tüm veya belirli ağ trafiğini engellemenize ve yönlendirmenize olanak tanır. Kötü amaçlı yazılım analistleri, FakeNeti kullanarak kötü amaçlı yazılımın işlevselliğini hızla belirleyebilir ve ağ imzalarını yakalayabilir. Yani zararlı yazılım çalışacağı zaman internet erişimini kısıtlayıp, istekleri kullanıcıya gösterebilir. Dolayısıyla zararlı yazılımın bağlantılarını canlı olarak görüntüleyebiliriz.
wk600ry.jpg
Procmon: Process Monitor, Windows için gerçek zamanlı dosya sistemi, Kayıt Defteri ve işlem/iş parçacığı etkinliğini gösteren gelişmiş bir izleme aracıdır.
Aracın bize sunduğu özelliklerden bazıları ise şunlardır:
  • Herhangi bir olay özelliği için yapılandırılabilir ve taşınabilir sütunlar​
  • Sütun olarak yapılandırılmamış alanlar da dahil olmak üzere herhangi bir veri alanı için filtreler ayarlanabilir​
  • İşlem ağacı aracı, bir izde başvurulan tüm işlemlerin ilişkisini gösterir​
wk600ry.jpg

Procdot: ProcDOT, GraphViz paketi aracılığıyla bir grafik oluşturmak için Sysinternals Process Monitor (Procmon) günlük dosyalarını ve PCAP günlüklerini (Windump, Tcpdump) işleyen bir araçtır. Bu grafik, ilgili faaliyetleri (özelleştirilebilir) görselleştirir ve etkileşimli olarak analiz edilebilir.

Aracın bize sunduğu özelliklerden bazıları ise şunlardır:
Yalnızca ilgili şeylere odaklanmak için akıllı takip algoritmaları
İplik(thread) enjeksiyonunun algılanması ve görselleştirilmesi
Ağ aktivitelerinin korelasyonu ve neden olan süreçler


Dinamik Analiz Akışı ve Ön Bilgiler

Yukarıdaki Registry Keyleri zararlı yazılımın işletim sisteminin yeniden başlatılmasından sonra hayatta kalmasına izin verebilecek bazı Kayıt Defteri Anahtarları konumlarıdır.
Bu nedenle zararlı yazılım yeni anahtarlar oluşturarak bu konumlara herhangi bir şey yerleştirmeye çalışırsa, bu bir tehlike göstergesidir.
  • HKLM: HKEY_LOCAL_MACHINE
  • HKU: HKEY_USERS
  • HKCU: HKEY_CURRENT_USER

\SOFTWARE ise HKEY_LOCAL_MACHINE hive’i altında bulunmaktadır.

NOT: 64 bit işletim sistemi kullanıyorsanız ve çalışan programınız 64 bit ise, dll dosyaları Windows\System32'den gelir.
Öte yandan 64-bit işletim sisteminde 32-bit program kullanıyorsanız, dll'ler Windows\SysWOW64 klasöründen gelmektedir.



Bir sonraki şey, DLL arama sırasının farkında olmanız gerekir. Program çalıştığında, dll dosyalarını dışa aktaran API'leri kullanması gerekecektir.

Bu nedenle, dll dosyaları genellikle Windows veya Windows\System32'yi takip eder.
Ve bazen kötü amaçlı yazılım, sistem dll'si ile tam olarak aynı olan kendi dll sürümünü koyarak ön yüklemeye (getirmeye) çalışır.
Yani bunu kendi dizinindeki bir dizine koyarak yapabilir.
Bu, soldaki dizinde bulunan ve sağdaki dizinden önce ilk çalıştırılacak olan dizin arama sırasıdır.


Dinamik Analizimize Başlayalım

1-) Öncelikle Procmon (Process Monitor) aracımızı açıyoruz:

Yukarıdaki resimde de görüleceği üzere İlk olarak aracımızın işleyişini durdurup, ardından temizliyoruz.

2-) Fakenet aracımızı açıyoruz

Fakenet zararlı yazılımımızın oluşturacağı ağ trafiğini kesecektir.


3-) Regshot aracımızı başlatıyoruz.

C:\ dizininin anlık görünümünü alıyoruz çünkü registry key ya da oluşacak diğer dosyaları kıyaslamak/karşılaştırmak için en temelden ( C:\ ) bakmamız-incelememiz gerekiyor.
Tüm kök sistemini görüntülemek istiyoruz diyebiliriz.
Hemen 2. Görünümü almıyoruz, çünkü procmon üzerinde incelemeler yapmamız ve zararlı yazılımı çalıştırıp oluşacakları görüntülememiz gerekiyor.


4-) Procmon ile durdurduğumuz incelemeyi devam ettiriyoruz.


İncelemelek üzere processler listelenmeye başlıyor.


5-) Zararlı yazılımımızı başlatıyoruz.

Aşağıdaki resimde görüldüğü üzere zararlımız kendini sildi:


6-) Fakenet üzerinde incelemeye devam edersek:

Yukarıdaki resimden wpad.localdomain hostuna bir GET isteği yapıyor. Hostun /wpad.dat dizinine gerçekleştirilen GET isteğinin User-Agenti ise WinHttp-Autoproxy-Service/5.1. Yani Tarayıcı hakkında Otomatik bir Proxy ayarlanmış Windows Http diyebiliriz. Ayrıca 80 portundan istek yapıldığı, Content-Type dizininden de urlencoded bilgisini çıkarabileceğimizi görebiliriz.


Ardından mbaquyahcn.biz hostuna 80 portundan bir POST isteği yapılmış. 80 Byte (Content-Length) uzunluğunda a=&b=&c=%68%65%66%63%69%6A%67%64%64%61%61%61%78%79%79%76%79%76%73%70%71%74%71%71

Şeklinde bir POST isteğimiz var.

URLENCODING POST isteğini bu şekilde decode ettik ve elimize ulaşan veri yukarıdaki resimdeki gibidir.

7-) Şimdi zararlı yazılımımızı belirli bir süre (5 dakika yeterli fakat keyfimize bağlı) incelemeye alıyoruz, farklı istek ya da oluşturulan dosya dizin, registry key var mı onları görüntüleyebilmek adına.

Şimdi belirli aralıklarla yapılan ve Fakenet tarafından kesilen 2 bağlantıyı bir karşılaştıralım:


Aynı servere istek yapılıyor, POST isteği aynı, dizin aynı, http protokolü versiyonu(1.1) aynı, İçerik tipi ve Kullanıcı Aracısı (Content-Type/User-Agent) aynı. Gözümüze çarpan tek farklı işlem encode edilen işlem. Yukarıdaki resimlerde de görüntüleneceği üzere

ilk resimde c=%79 ile başlarken;

ikinci resimde c=%6F ile başlıyor.

Gönderilmeye çalışılan diğer isteklere de baktığımızda yukarıdaki işlemlere dair farklı bir istek yakalanmadı. Zararlımızda aynı istek tekrar ediyor diyebiliriz.

Fakenet trafiği keser ve sunucu gibi davranır, ancak trafiği istenen sunucuya iletmez.

Ana bilgisayar adı, burada görmemiz için açıkça görülüyor.

Host: mbaquyahcn.biz

8- ) Şimdi Procmon u tekrar durduralım ve Regshot üzerinde 2. görüntümüzü alalım. Bu doğrultuda yapılan değişiklikleri, oluşturulan herhangi bir şey varsa görüntüleyebileceğiz.


2.de tamamlandı


9-) 2 görünüm de tamamlandıktan sonra Karşılaştırıp Çıktımızı alabiliriz.

Karşılaştırma tamamlandığında not defteri üzerinde otomatik olarak açılacaktır.

Not Defteri üzerinde inceleme yaparsak:




Öncelikle Values Added yani eklenen değerler üzerinden gidersek öncesinde de bahsettiğimiz bir Registry işlemi gerçekleşmiş:

Yani kalıcılığı sağlamak adına (reboot işleminden sonra tekrar çalıştırılacak) bir registry key oluşturulmuş ve dosyanın adı da lsass.exe


NOT: Aşağıdaki resimde oluşturulan exe dosyasının dizinini görüntülediğimizde dosya gizli bir şekilde bulunmaktadır.




File Not Found diyor yani böyle bir dosya yok 😊

Dosya gezgininden bulmaya çalışalım .exe dosyamızı ozaman bizde

Gizli öğeleri görüntüleyemiyoruz

Görünüm sekmesinden Gizli öğeler seçeneğini aktif hale getirdiğimizde ise AppData gibi birkaç dosya daha görünür hale geliyor.


Ve gördüğünüz üzere oluşturulan zararlı dosyamızı görüntülüyoruz.


*Artık kötü amaçlı yazılımın bir kopyasını nereye sakladığını biliyoruz.
Şimdi de eklenen dosyalara bakalım (Folders added)

Burası bizim zararlı yazılımımızın kendisini kopyaladığı dosyanın yolu.

İçerisine lsass.exe yi koyabilmek için oluşturulan dosya.


Procdot Analizimize Geçelim

Process Monitor üzerinde Filtreleme işlemi yapalım:

Yukarıdaki resimde Process Moniter Filter altında Architecture a tıklayıp oradan Process Name seçiyoruz.

Buradan Process Name is budget-report.exe yani zararlı yazılımımızı işlem olarak görmek istiyoruz.
wk600ry.jpg

İşlemi yaptıktan sonra add diyerek filtreyi ekliyoruz ve aşağıdaki gibi yeşil tık şeklinde görünmesi gerekiyor ekranımızın.

Ardından apply ile filtremizi uyguluyoruz.

78 Bin görüntülenme yerine yalnızca seçtiğimiz filtre olan zararlı yazılımımız işlem olarak görüntülenecektir (buda görüntülenen işlemleri azaltmaktaır) bugdet-report.exe

Filtrelememize devam ediyoruz. Filtreler hakkında bir liste oluşturacak olursak:


Option Sekmesindeki hiçbir özelliğin enable yani çalışır durumda olmaması gerekir.
wk600ry.jpg

Options > Select Columns > sekmesinde gelip Thread ID (TID) etkinleştiriyoruz.

Files Sekmesinden Save diyerek Dynamic Analiz dosyamıza kaydediyoruz.

NOT: Bunu yapmamızın nedeni aynı zararlı dosyanın çalıştırıldığı işletim sistemi labının tekrardan kurulması zor olacağından elimizde çalıştırılmış ortamdaki Process Monitor logunun bulunması ve tekrardan açıp incelenebilir bir format olması analizimizi kolaylaştırmaktadır.

Sonrasında Comma-Seperated Values (CSV) uzantısıyla aynı dizine kaydediyoruz. (Çünkü Procdot toolunda açmamız gereken uzantı CSV uzantısı)
wk600ry.jpg

1-) Procdot aracımızı açıyoruz
Gelen dot.exe hatasına tamam diyip ilerliyoruz.

Procmon seçeneğindeki 3 noktaya tıklayıp CSV uzantılı Procmon dosyamızı seçiyoruz.

Sonrasında Launcher ın yanındaki 3 noktaya tıklayıp yüklüyoruz

Çıkan ekrandan da zararlı yazılımımızı seçiyoruz.
wk600ry.jpg

PID(Process ID) numarası 5532 olan zararlımızı seçip Refresh e tıkladığımızda ise:

Karşımıza böyle bir ekran çıkıyor. Okların gösterdiği gösterge sonuçlarını Ctrl + fare tekerleği ile büyültüp küçültebilir ya da sürükle çek yöntemiyle ekranda sağa sola gidebiliriz.

Bunlar bizim RunOnce reboot sonrası tekrar çalışma (kalıcılık) ve Hidden zararlısının çalıştırıldıktan sonra oluşturulan Roaming dizini altındaki Sayısal Dosya olan 12648430 un içinde oluşan zararlının gizliliği için Registry Keyi.



Örneğin budget-report zararlımız Roaming\12648430 altında winlogon.exe olarak yeniden adlandırılmış. CMD üzerinden kontrol edelim bakalım gizli mi değil mi ?

Dizinimiz C:\Users\thres\AppData\Roaming\12648430 fakat dir ile (dir: Üzerinde çalışılan dizindeki dosyaları gösterir (linuxtaki ls komutu ile aynı işlevdedir)) dosya bulunamadı diyor. Dosya gezginimizden görünür kılarak görüntüleyebilir miyiz ona bir bakalım.

Burada sidebar.exe olmasının sebebi ben zararlı dosyamı 2 başlıkta incelediğim için tekrar çalıştırmam gerekti, bu yüzden farklı bir isimle yeniden adlandırıldı. Fakat oluşturulan winlogon.exe nin dizini ve dosya formatı aynı. Yani Gizli Öğeleri aktif ederek zararlımızı (yeniden adlandırılan zararlı) görüntüleyebildik.

Örneğin buda farklı bir Regshot Karşılaştırma metin dosyasından. Burada da lsass.exe olarak yeniden adlandırılmış.

Fakat tekrar bi inceleme yaptığımda oluşturulan Regshot Compare dosyalarından(log olarak oluşturulan Regshot dosyaları)

Winlogon.exe nin Karşılaştırmada 2. Ve 1. anlık görünümlerden Compare/karşılaştırıldığında fark olarak winlogon.exe nin oluşturulduğunu görüp doğrulayabiliriz.


Örneğin farklı bi şekilde inceleme yapacak olursak da:

Zararlımızın 8004 PID li bir ipliği(thread) var


Not: Ben burada İngilizce olarak thread kelimesi yerine (thread=iplik) bağ kelimesini kullanacağım.
wk600ry.jpg

Bu bağ

Bir dosya oluşturmuş

Oluşan dosya da geçici bit bat(batch) dosyası.

Örneğin burada oluşturulan sağ üstteki (pembe ok) batch dosyamız 1932 PID li bir processi tetikliyor(yeşil ok), oda 9132 PID li cmd.exe yi (kill) yani sonlandırıyor.

wk600ry.jpg

NOT: Hangi dizinin, hangi dosyanın (prefetch, batch, tmp) ne iş yaptığını oklar ile takip edip analizlerimizi daha sağlam bir şekilde yapabiliriz. Burada yalnızca Windows bilgisinin olması işimizi daha da kolaylaştırmaktadır.

Aynı zamanda yukarıdaki resimdeki 1932 numaralı işlem Conhost.exe işlemini oluşturuyor, oda 3644 ile bağlı.

Persistence Reg Keyimize geri dönecek olursak yeniden adlandırılan winlogon.exe miz Registry Keyimizi değer olarak atıyor(set as value).



NOT: Procdot Analizi olarak adlandırılan Procdot aracı Procmon aracı ile birlikte kullanıldığında bize çok önemli bilgiler sağlıyor ve analizimizin temelini güçlendiriyor. İki aracı birlikte kullanarak Process Monitor üzerinde tam olarak anlayamadığımız, nereye ulaştığını çözemediğimiz işlemleri Procdot ile anlayabilir, varsayımlarda bulunabiliriz.



Konumun sonuna gelmiş bulunmaktayım. Okurken size bir konuda fayda sağlayabildiysem, Zararlı Yazılım üzerinde Dinamik ve Procdot analizine dair aklınızdaki bir bilinmeyeni giderebildiysem ne mutlu. Umuyorum okurken eğlenmişsinizdir.


BLUE TEAM
Ellerine saglik
 

CA$H

Yeni üye
27 Eki 2022
43
17

Öncelikle hepinize merhabalar. Bugün değerli @Cakky nin Statik Analizini gerçekleştirdiği, edindiğimiz Zararlı Yazılım üzerinden Dinamik ve Procdot Analizi gerçekleştireceğiz. İyi okumalar.


Dinamik Analiz

Dinamik analiz, kötü amaçlı yazılımı başlatmak ve çalışma süresi boyunca davranışını ve çalışma zamanı davranışını analiz etmek için kullanılan bir tekniktir. Kötü amaçlı yazılımın ana bilgisayar üzerindeki etkisini analiz etmemizi sağlar. Kötü amaçlı yazılımın yol açabileceği herhangi bir zararı önlemek için doğrudan kötü amaçlı yazılımı çalıştırmak istemediğimizden, kötü amaçlı yazılımın yürütülmesini izole etmek ve ardından analiz etmek için belirli adımlar atarız.

Statik analiz, çalışırken kodu analiz etmez. Bunun yerine, dosyaları kötü niyetli amaçlar için inceler. Bu, altyapıyı, paketlenmiş dosyaları ve kitaplıkları tanımlamayı faydalı kılar. Dosyanın kötü amaçlı olup olmadığını belirlemek için bazı teknik göstergeler kullanılabilir. Ancak, kodu çalıştırmadığından, karmaşık kötü amaçlı yazılımları tespit etmek zordur. Kötü amaçlı yazılım yazarı özel bir paketleyici kullanmışsa, statik analizde kişinin bunu anlaması ve paketin açılmasından sonra analize başlaması gerekir. Dinamik analiz durumunda buna gerek olmayabilir.


Dinamik analiz ise herhangi bir şüpheli kötü amaçlı kodu, korumalı alan adı verilen güvenli bir ortamda yürütür(bizim incelememizde bir sanal ortam olan Windows10). Aynı zamanda Dinamik Analiz güvenlik uzmanlarının kötü amaçlı yazılımı çalışırken izlemesini ve sisteme bulaşma riskini etkilememesini ya da önlem almasını sağlar. Tehdidin gerçek doğasını ortaya çıkarmak için daha derin bir görünürlük sunar. Bilgisayar korsanları ve düşmanlar genellikle kodu, bazı koşullar karşılanana kadar çalışmayacak bir sanal alanda gizler. Kötü amaçlı yazılımın üretim sistemlerine gerçekten bulaşmasını önlemek için korumalı alan ortamında dinamik analiz gerçekleştirmenin önemli olduğunu unutmayın.




Önlemler
Dinamik kötü amaçlı yazılım analizi yapmadan önce, bunu güvenli bir ortamda yaptığınızdan emin olun. Bir Windows sanal makinesi dağıtmayı ve sanal makineleri sağlamak için VMware kullanmayı düşünün(veya VirtualBox). Ayrıca, güvenli durumun kolayca geri yüklenebilmesi için kötü amaçlı ikili dosyaları çalıştırmadan önce sanal makinenin bir anlık görüntüsünü almalısınız.

Dinamik analizi 2 kategoriye ayırabiliriz:

Değişiklikleri İzlemek(Monitor Changes)
Davranışı İzlemek(Behavior Monitoring)


Kullanılan Araçlar
Regshot
Fakenet
Procmon
Procdot

Regshot: Araç anlık görüntüler üzerinden çalışır. Yani alınan (first shot, second shot) görünümler arasındaki farkları incelememizi, karşılaştırma yapmamızı sağlar. Bu araç yalnızca zararlı yazılım için değil bilgisayarınızın belirli dizinlerinde, diskler üzerinde yapılan değişiklikleri de incelememize yardımcı olur(buna örnek olarak masaüstü arka planınızı değiştirip, inceleme yapılacak dizini Masaüstü olarak ayarlayabilirsiniz ve bu size görünümler arası çıktıda belirtilecektir). Genellikle Kayıt Defteri(Regedit) üzerinde gözlemleme yapma, inceleme özelliği olsa da zararlı yazılım analizi sürecinde gerek kayıt defteri, gerekse de dizinler arasında gözlem yapma özelliği bulunmaktadır. Alınan anlık görünümler doğrultusunda Karşılaştırma ve çıktıyı görüntüleme seçeneği sunması da aracın kullanılabilirlik seviyesini arttırmaktadır. (Çıktıyı not defteri ile vermektedir.)
wk600ry.jpg
Fakenet: Araç, yasal ağ hizmetlerini simüle ederken tüm veya belirli ağ trafiğini engellemenize ve yönlendirmenize olanak tanır. Kötü amaçlı yazılım analistleri, FakeNeti kullanarak kötü amaçlı yazılımın işlevselliğini hızla belirleyebilir ve ağ imzalarını yakalayabilir. Yani zararlı yazılım çalışacağı zaman internet erişimini kısıtlayıp, istekleri kullanıcıya gösterebilir. Dolayısıyla zararlı yazılımın bağlantılarını canlı olarak görüntüleyebiliriz.
wk600ry.jpg
Procmon: Process Monitor, Windows için gerçek zamanlı dosya sistemi, Kayıt Defteri ve işlem/iş parçacığı etkinliğini gösteren gelişmiş bir izleme aracıdır.
Aracın bize sunduğu özelliklerden bazıları ise şunlardır:
  • Herhangi bir olay özelliği için yapılandırılabilir ve taşınabilir sütunlar​
  • Sütun olarak yapılandırılmamış alanlar da dahil olmak üzere herhangi bir veri alanı için filtreler ayarlanabilir​
  • İşlem ağacı aracı, bir izde başvurulan tüm işlemlerin ilişkisini gösterir​
wk600ry.jpg

Procdot: ProcDOT, GraphViz paketi aracılığıyla bir grafik oluşturmak için Sysinternals Process Monitor (Procmon) günlük dosyalarını ve PCAP günlüklerini (Windump, Tcpdump) işleyen bir araçtır. Bu grafik, ilgili faaliyetleri (özelleştirilebilir) görselleştirir ve etkileşimli olarak analiz edilebilir.

Aracın bize sunduğu özelliklerden bazıları ise şunlardır:
Yalnızca ilgili şeylere odaklanmak için akıllı takip algoritmaları
İplik(thread) enjeksiyonunun algılanması ve görselleştirilmesi
Ağ aktivitelerinin korelasyonu ve neden olan süreçler


Dinamik Analiz Akışı ve Ön Bilgiler

Yukarıdaki Registry Keyleri zararlı yazılımın işletim sisteminin yeniden başlatılmasından sonra hayatta kalmasına izin verebilecek bazı Kayıt Defteri Anahtarları konumlarıdır.
Bu nedenle zararlı yazılım yeni anahtarlar oluşturarak bu konumlara herhangi bir şey yerleştirmeye çalışırsa, bu bir tehlike göstergesidir.
  • HKLM: HKEY_LOCAL_MACHINE
  • HKU: HKEY_USERS
  • HKCU: HKEY_CURRENT_USER

\SOFTWARE ise HKEY_LOCAL_MACHINE hive’i altında bulunmaktadır.

NOT: 64 bit işletim sistemi kullanıyorsanız ve çalışan programınız 64 bit ise, dll dosyaları Windows\System32'den gelir.
Öte yandan 64-bit işletim sisteminde 32-bit program kullanıyorsanız, dll'ler Windows\SysWOW64 klasöründen gelmektedir.



Bir sonraki şey, DLL arama sırasının farkında olmanız gerekir. Program çalıştığında, dll dosyalarını dışa aktaran API'leri kullanması gerekecektir.

Bu nedenle, dll dosyaları genellikle Windows veya Windows\System32'yi takip eder.
Ve bazen kötü amaçlı yazılım, sistem dll'si ile tam olarak aynı olan kendi dll sürümünü koyarak ön yüklemeye (getirmeye) çalışır.
Yani bunu kendi dizinindeki bir dizine koyarak yapabilir.
Bu, soldaki dizinde bulunan ve sağdaki dizinden önce ilk çalıştırılacak olan dizin arama sırasıdır.


Dinamik Analizimize Başlayalım

1-) Öncelikle Procmon (Process Monitor) aracımızı açıyoruz:

Yukarıdaki resimde de görüleceği üzere İlk olarak aracımızın işleyişini durdurup, ardından temizliyoruz.

2-) Fakenet aracımızı açıyoruz

Fakenet zararlı yazılımımızın oluşturacağı ağ trafiğini kesecektir.


3-) Regshot aracımızı başlatıyoruz.

C:\ dizininin anlık görünümünü alıyoruz çünkü registry key ya da oluşacak diğer dosyaları kıyaslamak/karşılaştırmak için en temelden ( C:\ ) bakmamız-incelememiz gerekiyor.
Tüm kök sistemini görüntülemek istiyoruz diyebiliriz.
Hemen 2. Görünümü almıyoruz, çünkü procmon üzerinde incelemeler yapmamız ve zararlı yazılımı çalıştırıp oluşacakları görüntülememiz gerekiyor.


4-) Procmon ile durdurduğumuz incelemeyi devam ettiriyoruz.


İncelemelek üzere processler listelenmeye başlıyor.


5-) Zararlı yazılımımızı başlatıyoruz.

Aşağıdaki resimde görüldüğü üzere zararlımız kendini sildi:


6-) Fakenet üzerinde incelemeye devam edersek:

Yukarıdaki resimden wpad.localdomain hostuna bir GET isteği yapıyor. Hostun /wpad.dat dizinine gerçekleştirilen GET isteğinin User-Agenti ise WinHttp-Autoproxy-Service/5.1. Yani Tarayıcı hakkında Otomatik bir Proxy ayarlanmış Windows Http diyebiliriz. Ayrıca 80 portundan istek yapıldığı, Content-Type dizininden de urlencoded bilgisini çıkarabileceğimizi görebiliriz.


Ardından mbaquyahcn.biz hostuna 80 portundan bir POST isteği yapılmış. 80 Byte (Content-Length) uzunluğunda a=&b=&c=%68%65%66%63%69%6A%67%64%64%61%61%61%78%79%79%76%79%76%73%70%71%74%71%71

Şeklinde bir POST isteğimiz var.

URLENCODING POST isteğini bu şekilde decode ettik ve elimize ulaşan veri yukarıdaki resimdeki gibidir.

7-) Şimdi zararlı yazılımımızı belirli bir süre (5 dakika yeterli fakat keyfimize bağlı) incelemeye alıyoruz, farklı istek ya da oluşturulan dosya dizin, registry key var mı onları görüntüleyebilmek adına.

Şimdi belirli aralıklarla yapılan ve Fakenet tarafından kesilen 2 bağlantıyı bir karşılaştıralım:


Aynı servere istek yapılıyor, POST isteği aynı, dizin aynı, http protokolü versiyonu(1.1) aynı, İçerik tipi ve Kullanıcı Aracısı (Content-Type/User-Agent) aynı. Gözümüze çarpan tek farklı işlem encode edilen işlem. Yukarıdaki resimlerde de görüntüleneceği üzere

ilk resimde c=%79 ile başlarken;

ikinci resimde c=%6F ile başlıyor.

Gönderilmeye çalışılan diğer isteklere de baktığımızda yukarıdaki işlemlere dair farklı bir istek yakalanmadı. Zararlımızda aynı istek tekrar ediyor diyebiliriz.

Fakenet trafiği keser ve sunucu gibi davranır, ancak trafiği istenen sunucuya iletmez.

Ana bilgisayar adı, burada görmemiz için açıkça görülüyor.

Host: mbaquyahcn.biz

8- ) Şimdi Procmon u tekrar durduralım ve Regshot üzerinde 2. görüntümüzü alalım. Bu doğrultuda yapılan değişiklikleri, oluşturulan herhangi bir şey varsa görüntüleyebileceğiz.


2.de tamamlandı


9-) 2 görünüm de tamamlandıktan sonra Karşılaştırıp Çıktımızı alabiliriz.

Karşılaştırma tamamlandığında not defteri üzerinde otomatik olarak açılacaktır.

Not Defteri üzerinde inceleme yaparsak:




Öncelikle Values Added yani eklenen değerler üzerinden gidersek öncesinde de bahsettiğimiz bir Registry işlemi gerçekleşmiş:

Yani kalıcılığı sağlamak adına (reboot işleminden sonra tekrar çalıştırılacak) bir registry key oluşturulmuş ve dosyanın adı da lsass.exe


NOT: Aşağıdaki resimde oluşturulan exe dosyasının dizinini görüntülediğimizde dosya gizli bir şekilde bulunmaktadır.




File Not Found diyor yani böyle bir dosya yok 😊

Dosya gezgininden bulmaya çalışalım .exe dosyamızı ozaman bizde

Gizli öğeleri görüntüleyemiyoruz

Görünüm sekmesinden Gizli öğeler seçeneğini aktif hale getirdiğimizde ise AppData gibi birkaç dosya daha görünür hale geliyor.


Ve gördüğünüz üzere oluşturulan zararlı dosyamızı görüntülüyoruz.


*Artık kötü amaçlı yazılımın bir kopyasını nereye sakladığını biliyoruz.
Şimdi de eklenen dosyalara bakalım (Folders added)

Burası bizim zararlı yazılımımızın kendisini kopyaladığı dosyanın yolu.

İçerisine lsass.exe yi koyabilmek için oluşturulan dosya.


Procdot Analizimize Geçelim

Process Monitor üzerinde Filtreleme işlemi yapalım:

Yukarıdaki resimde Process Moniter Filter altında Architecture a tıklayıp oradan Process Name seçiyoruz.

Buradan Process Name is budget-report.exe yani zararlı yazılımımızı işlem olarak görmek istiyoruz.
wk600ry.jpg

İşlemi yaptıktan sonra add diyerek filtreyi ekliyoruz ve aşağıdaki gibi yeşil tık şeklinde görünmesi gerekiyor ekranımızın.

Ardından apply ile filtremizi uyguluyoruz.

78 Bin görüntülenme yerine yalnızca seçtiğimiz filtre olan zararlı yazılımımız işlem olarak görüntülenecektir (buda görüntülenen işlemleri azaltmaktaır) bugdet-report.exe

Filtrelememize devam ediyoruz. Filtreler hakkında bir liste oluşturacak olursak:


Option Sekmesindeki hiçbir özelliğin enable yani çalışır durumda olmaması gerekir.
wk600ry.jpg

Options > Select Columns > sekmesinde gelip Thread ID (TID) etkinleştiriyoruz.

Files Sekmesinden Save diyerek Dynamic Analiz dosyamıza kaydediyoruz.

NOT: Bunu yapmamızın nedeni aynı zararlı dosyanın çalıştırıldığı işletim sistemi labının tekrardan kurulması zor olacağından elimizde çalıştırılmış ortamdaki Process Monitor logunun bulunması ve tekrardan açıp incelenebilir bir format olması analizimizi kolaylaştırmaktadır.

Sonrasında Comma-Seperated Values (CSV) uzantısıyla aynı dizine kaydediyoruz. (Çünkü Procdot toolunda açmamız gereken uzantı CSV uzantısı)
wk600ry.jpg

1-) Procdot aracımızı açıyoruz
Gelen dot.exe hatasına tamam diyip ilerliyoruz.

Procmon seçeneğindeki 3 noktaya tıklayıp CSV uzantılı Procmon dosyamızı seçiyoruz.

Sonrasında Launcher ın yanındaki 3 noktaya tıklayıp yüklüyoruz

Çıkan ekrandan da zararlı yazılımımızı seçiyoruz.
wk600ry.jpg

PID(Process ID) numarası 5532 olan zararlımızı seçip Refresh e tıkladığımızda ise:

Karşımıza böyle bir ekran çıkıyor. Okların gösterdiği gösterge sonuçlarını Ctrl + fare tekerleği ile büyültüp küçültebilir ya da sürükle çek yöntemiyle ekranda sağa sola gidebiliriz.

Bunlar bizim RunOnce reboot sonrası tekrar çalışma (kalıcılık) ve Hidden zararlısının çalıştırıldıktan sonra oluşturulan Roaming dizini altındaki Sayısal Dosya olan 12648430 un içinde oluşan zararlının gizliliği için Registry Keyi.



Örneğin budget-report zararlımız Roaming\12648430 altında winlogon.exe olarak yeniden adlandırılmış. CMD üzerinden kontrol edelim bakalım gizli mi değil mi ?

Dizinimiz C:\Users\thres\AppData\Roaming\12648430 fakat dir ile (dir: Üzerinde çalışılan dizindeki dosyaları gösterir (linuxtaki ls komutu ile aynı işlevdedir)) dosya bulunamadı diyor. Dosya gezginimizden görünür kılarak görüntüleyebilir miyiz ona bir bakalım.

Burada sidebar.exe olmasının sebebi ben zararlı dosyamı 2 başlıkta incelediğim için tekrar çalıştırmam gerekti, bu yüzden farklı bir isimle yeniden adlandırıldı. Fakat oluşturulan winlogon.exe nin dizini ve dosya formatı aynı. Yani Gizli Öğeleri aktif ederek zararlımızı (yeniden adlandırılan zararlı) görüntüleyebildik.

Örneğin buda farklı bir Regshot Karşılaştırma metin dosyasından. Burada da lsass.exe olarak yeniden adlandırılmış.

Fakat tekrar bi inceleme yaptığımda oluşturulan Regshot Compare dosyalarından(log olarak oluşturulan Regshot dosyaları)

Winlogon.exe nin Karşılaştırmada 2. Ve 1. anlık görünümlerden Compare/karşılaştırıldığında fark olarak winlogon.exe nin oluşturulduğunu görüp doğrulayabiliriz.


Örneğin farklı bi şekilde inceleme yapacak olursak da:

Zararlımızın 8004 PID li bir ipliği(thread) var


Not: Ben burada İngilizce olarak thread kelimesi yerine (thread=iplik) bağ kelimesini kullanacağım.
wk600ry.jpg

Bu bağ

Bir dosya oluşturmuş

Oluşan dosya da geçici bit bat(batch) dosyası.

Örneğin burada oluşturulan sağ üstteki (pembe ok) batch dosyamız 1932 PID li bir processi tetikliyor(yeşil ok), oda 9132 PID li cmd.exe yi (kill) yani sonlandırıyor.

wk600ry.jpg

NOT: Hangi dizinin, hangi dosyanın (prefetch, batch, tmp) ne iş yaptığını oklar ile takip edip analizlerimizi daha sağlam bir şekilde yapabiliriz. Burada yalnızca Windows bilgisinin olması işimizi daha da kolaylaştırmaktadır.

Aynı zamanda yukarıdaki resimdeki 1932 numaralı işlem Conhost.exe işlemini oluşturuyor, oda 3644 ile bağlı.

Persistence Reg Keyimize geri dönecek olursak yeniden adlandırılan winlogon.exe miz Registry Keyimizi değer olarak atıyor(set as value).



NOT: Procdot Analizi olarak adlandırılan Procdot aracı Procmon aracı ile birlikte kullanıldığında bize çok önemli bilgiler sağlıyor ve analizimizin temelini güçlendiriyor. İki aracı birlikte kullanarak Process Monitor üzerinde tam olarak anlayamadığımız, nereye ulaştığını çözemediğimiz işlemleri Procdot ile anlayabilir, varsayımlarda bulunabiliriz.



Konumun sonuna gelmiş bulunmaktayım. Okurken size bir konuda fayda sağlayabildiysem, Zararlı Yazılım üzerinde Dinamik ve Procdot analizine dair aklınızdaki bir bilinmeyeni giderebildiysem ne mutlu. Umuyorum okurken eğlenmişsinizdir.


BLUE TEAM
Cok eglendim agzim yarildi gulmekten o kadar eglendim ki isimi gucumu biraktim biraz daha egleneyim dedim yinede elinize saglik hocam ...
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.