Windows Memory Forensic Analizi Nedir?
Windows bellek adli analizi işlemini yaptığımızda kötü amaçlı etkinlikleri görebiliyoruz. Yani bunların ne olduğunu söyleyecek olursam; bunlar, çalışan işlemler, ağ bağlantıları ve daha fazlasının kanıtlarını ortaya çıkarmak için bir Windows sisteminden bir bellek dökümünü incelemeyi içerir.
Volatility3 Nasıl İndirilir?
Ben Remnux sanal makinesinde indirmeyi göstereceğim sizlere arkadaşlar. Bu indirme tekniği, Linux ve Windows tabanlı bilgisayar sistemlerinde indirmeyi gerçekleştirmemize yardımcı oluyor.
sudo apt update veya sudo apt-get update komutlarını kullanarak güncelleme yapabilirsiniz. Bilgisayarınızda ben sudo apt update komutu ile güncellemeyi gerçekleştireceğim.

Şimdi asıl konuya geçelim arkadaşlar, bilgisayarınızda python3 indirdiğinize emin olun, hep beraber bakalım.

Ben kendi bilgisayarımda indirdim. Siz de indirmek için https://www.python.org/ ya bu linki kullanabilirsiniz ya da sudo apt install python3-pip komutunu kullanmanızı öneririm.
Python3 indirdikten sonra Volatility3 indirebiliriz. Bilgisayarımıza aslında 2 teknik var burada da: İlk olarak terminalden indirebilirsiniz pip3 kullanarak, ikincisi GitHub kullanarak indirme seçeneği var elimizde (https://github.com/volatilityfoundation/volatility3.git). Ben terminali kullanarak indireceğim, bu seçenek benim için daha iyi. sudo apt install python3-pip komutunu kullanarak Remnux sanal makinemize indirebiliriz kolay bir şekilde.

Sonra bilgisayarınızda Volatility3'ü her klasörden çalıştırmanız için size bir komut satırı vereceğim, o komut satırını kullanabilirsiniz. 

Evet artık bilgisayarımızda vol3 toolunu (aracını) indirmiş bulunuyoruz.
Volatility3 Memory Forensic Yaptığı Anda Bilgisayarın Arka Tarafında Neler Yapıyor?
Çoğu kez bir toolu kullandığımız zaman o toolun bilgisayarda ne yaptığını bilmiyoruz. Bu da bize gerçekten tool ile ilgili çoğu bilgiyi anlamamızı zorlaştırıyor. Aslında size önerim budur ki; bir tool indirdiğinizde (örnek bu tool Nuclei, Katana, BurpSuite, Nmap gibi toollar da olur) en azından nasıl çalıştığına, nasıl strateji ile hareket ettiğine bir bakın. Ben kaynakça kodlarına bakıyorum mesela. Siz de API’larına, DLL'lerine bakabilirsiniz. Sadece küçük bir önerim sizlere.
Volatility3 ile Memory Forensic Analizi Nasıl Yapılır? Hangi Komutları Kullanırız Bu Analiz Sürecinde?Analizimize başlamadan önce arkadaşlar, ben bu analizimizde Flare-vm sanal makinesini kullanacağım ve elimde bir tane .RAW dosyası var, bu dosyayı beraber analiz edeceğiz. Ben az önce de demiştim arkadaşlar; Volatility3 Windows, Linux ve MacOS işletim sistemlerinde memory forensic analizi yapmamıza yardımcı oluyor. Ben şu an Windows makinesi üzerinden analiz edeceğim. Bunu anlamanız için YouTube'da videomu izleyebilirsiniz.
Öncelikle biz Windows bilgisayarımızın sistem bilgilerini toplamaya başlayacağız. Bunu da windows.info komutu ile gerçekleştirebilirsiniz.

İlk olarak tarattığımız komutun çıktısını anlamamız şart bizim için arkadaşlar, kısacası anlatayım ben:
Symbols File: İşletim sistemi çekirdeğinin ve driver'ların iç yapılarının "haritası"dır aslında ve genel olarak analizden sonra .pdb dosya formatlarını buradan görebiliriz.
Layer Name: Elimizde olan .raw dosyasının Windows İntel 32 bit kullandığını gösteren işlemdir. Yani bu 64 bit de olabilirdi, bu elinizde olan dosyanın bitini gösteren işlemdir.
Major ve Minor: Aslında burası işin kritik noktası arkadaşlar. Bu .raw dosyasının hangi işletim sistemlerine ait olduğunu bize gösteren taraftır. Tabii burada sayılar var, "bunu nereden anlayacağım" diyecek olursanız Microsoft'un kendi sayfasına bakabilirsiniz.
System Time: Arkadaşlar bu, bilgisayarınızda olan .raw dosyanın sistem zamanını gösteren taraftır. Önemli bir işlemdir bu. Tarih eski tarih tabii (2019). Ben mesela gidip bu tarihte olan YARA kurallarına bakabilirim, vendor işlemlerine bakabilirim vs. konular var burada. Aslında kısacası OSINT yaparak sonuçları elde edebilirsiniz. İşletim sisteminin Server bilgilerine bakarak da araştırma yapabilirsiniz. Özellikle de vurguladığım nokta Major ve Minor. Burada verilen 15.7601 ne anlama geldiğini kısacası yazayım: Windows Server 2008 R2 Service Pack 1 işletim sistemine ait olan bir raw dosyası olduğunu bize söylüyor ve burada da güzel bir şekilde OSINT yapmamız kolaylaşıyor.
Şüpheli Windows İşlemlerini nasıl Tespit Ederiz ?
Aslında burada ilk memory forensic öğrendiğiniz zaman ilk olarak windows.pslist bakılıyor. Bu komut aslında belli başlı yerlerde çok iyi. Genel olarak bize derinlemesine bilgiler vermediği için biz de onun yerine windows.pstree komutunu kullanıyoruz. Çünkü bu adımda olabildiğince vol bize geniş bilgileri sunuyor, daha kolay analiz gerçekleştirebiliyoruz böylelikle de.

Burada oldukça karmaşık bilgiler çıktı biliyorum, korkmanıza gerek yok. Adım adım YouTube kanalımda bunların hepsini anlattım ve size önerim videoya bakın, sonra writeup'ı devam ettirmenizi öneriyorum. Çünkü böylelikle daha geniş yelpazede konuları anlamış olursunuz.


Burada windows.pstree komutunu kullanarak aslında güzel bilgiler elde ettik. Biz şu an elimizde olan .raw dosyasından olabildiğince fazla bilgiler almaya odaklanıyoruz. Bunlar önemli işlemler. Şu an baktığımızda ne görüyoruz? Mozilla 4.0. Burada yüksek ihtimal bu işlem vasıtası ile bir WinRAR dosyası indirmiş ve işletim sisteminde olan işlemi Reboot etmiştir. Ve bu işlemi saklamak için TEMP dosyasını kullandığını belirtiyor. Burada soru çıkıyor ortaya: Bu işlem büyük firmada olduğunu düşünelim, hangi bilgisayardan başlatıldı, acaba neyi, kimi, nasıl kullandı?

Şimdi burada gördüğümüz gibi cmdline komutu yardımı ile elimizde olan csrss.exe dosyasının hangi komutlarla işlediğini anlamaya çalışıyoruz. Az önce bize şüpheli gelen dosyanın windows.tree komutuyla PID'sini aldım, sonra da hangi komut satırlarını kullandığımızı gördük. SYSTEMROOT işlemi şu an için çok şüpheli olduğunu söylemek isterim, bunu açıklığa getirdiğime inanıyorum.

Şüpheli olan .exe dosyanın PID'sini kullanarak bu dosyanın ne yaptığını görebiliriz. Peki bu işlemi nasıl yapacağız? Windows.envars komutu ile bize ne sağlıyor diyebilirsiniz arkadaşlar. Bu komut bize elimizde olan dosyanın gerçekten nasıl işlemler gerçekleştirdiğini, hangi path kullandığını (bir çok bilgiyi) bize sunuyor. Aslında bazen işe yaramıyor çünkü zararlı yazılım bu pathlerden geçerek saklanıyor. Daha derinlemesine inmek istiyorum, bu şüpheli dosya hangi .dll kullandığını merak ediyorum. O zaman gerçekten tam olarak anlamış olacağız her şeyi.

Şimdi arkadaşlar buraya kadar yapdım tüm analizleri ele alarak sizlere çok güzel biçimde anlatmak isdiyorum bellek analizi sürecinde, sistemin en kritik süreçlerinden biri olan csrss.exe'ye (PID 2760) odaklandımı gördük. Volatility 3 ile windows.dlllist modülünü çalıştırdığımda ise, sürecin yüklediği kütüphaneler ilk bakışta meşru Windows dosyaları gibi görünüyordu bunu pslist komutunu kulandığımızda gördük. Ancak bir saldırganın gözüyle baktığımızda ki bunu göre biliyoruz tabii bu bakış açısını kazanmak için youtube hesabıma baka bilirsiniz, bu liste aslında potansiyel bir silah deposudur nedenmi diyecek olursanız. Özellikle listede dikkatimi çeken USER32.dll ve GDI32.dll kütüphaneleri oldu, bunlar bu sürecin grafik arayüzle ve klavye girdileriyle doğrudan etkileşime girebildiğini gösteriyor. Eğer bir zararlı yazılım bu sürece enjekte olmayı başardıysa, bu kütüphaneleri kullanarak kullanıcının bastığı her tuşu kaydedebilir (keylogging) veya ekran görüntülerini sessizce alabilir. Ayrıca listedeki CRYPTBASE.dll varlığı, saldırganın sistemdeki şifreli verileri çözmek veya kendi fidye yazılımı (ransomware) operasyonları için Windows'un şifreleme altyapısını kötüye kullanabileceğine işaret ediyor.
Peki bu virüsün ne oldunu anladık ama bu virüs nereden başladı ilk kimi hedef aldı aslında bu sorunun yanıtını bularak çoğu sorunu çöze biliriz nedenmi? Düşünün bir olayın ortasındasınız ama nereden başladını biliyorsunuz sizcede bunun çözümünü bulmak daha kolay olmazmı aslında binevi bu işlem için bir strateji yaratırsınız işde bunca dedidiğim bilgiyi almak için çok basit bir command var onu size aktarıcam bu komut aslında herkesin bir kerede ismini duyduğu komut Windows.hashdump komutu ben elimde olan .raw dosyamda çalıştırdım bakalım bizim için neler sundu bu komut

Bakın aslında işin en mükemel tarafı bu Alissa Simpson adlı kulanıcıyı kulanmışlar ve bu saldırı tam olarakda buradan başlamış aslında burden sonra çok bir işlem kalmadı niyemi şuana kadar buldumuz zararlı işlemleri kulanarak bir strateji geliştire biliriz ama ben dahada derine inmek isdiyorum niyemi diye bilirsiniz çünki şuana kadar buldum bilgiler gerçekden muazam ama ben IP’ler sunucu IP’leri görmüyorum bakın işde aslında bunları görmemiz içinde Dump işlemleri yapmamız gerek bu komutuda kulanmak aslında fazlasıyla kolay
vol.py -f mydump.vmem -o /path/to/output/dir windows.memmap.Memmap --pid 1233 –dump
burada anlatmak isdedim nokta aslında komutun nasıl işleyişidir , komutunun temel işlevi, hedef process (PID 1233) tarafından kullanılan bellek haritasını (memmap) ve bellek içeriğini (dump) bir bellek dökümü (mydump.vmem) üzerinden analiz ederek, daha derinlemesine inceleme ve özellikle ağ bağlantıları, IP'ler gibi kaçırılan bilgileri ortaya çıkarmak için gerekli veriyi sağlamaktır.

Kullanılan Komutun İşlevi:
Kullandığınız komut, popüler bir bellek adli tıp aracı olan Volatility Framework'e aittir:
- vol.py -f mydump.vmem: Analizin mydump.vmem adlı bellek dökümü dosyası üzerinde yapılacağını belirtir.
- -o /path/to/output/dir: Çıktıların (dump edilen verilerin) kaydedileceği dizini belirtir.
- windows.memmap.Memmap: Volatility'nin bellek haritasını (memory map) gösteren veya yöneten eklentisidir.
- --pid 1233: Analiz edilecek hedef İşlem Kimliğini (PID) belirtir. Burada, zararlı olduğu düşünülen spesifik bir işlemin bellek alanına odaklanılır.
- –dump: Bu eklenti ve PID ile ilişkili bellek alanının veya modüllerin diske dökümünün (dump) alınması talimatını verir.
Amaç: Zararlı işlem bellekteyken sahip olduğu tüm geçici veriyi (IP adresleri, şifreleme anahtarları, komut satırı argümanları gibi) diske kaydetmek ve böylece aktif ağ bağlantılarını (Netscan), soket bilgilerini ve diğer gizli verileri (ki bu verilerde aradığınız sunucu ve hedef IP'leri bulunur) ortaya çıkarmaktır.
Kapanış ve Analiz Özeti
Bu detaylı bellek analizimizde, bir Windows Server 2008 R2 Service Pack 1 sistemi üzerindeki şüpheli bir faaliyetleri derinlemesine inceledik. Volatility 3'ü kullanarak uygulanan kademeli analiz stratejisi, saldırının kökenine, hedeflenen sisteme ve zararlı yazılımın potansiyel yeteneklerine dair kritik istihbarat sağlamıştır.
Kritik Bulgular ve Tehdit Senaryosu
- Saldırının Başlangıç Noktası: Saldırının, sistemdeki Alissa Simpson (PID 1003) adlı yerel kullanıcının hash'i ile ilişkilendirilmiş olması, ilk enfeksiyonun ya bir kimlik avı (phishing) saldırısı ya da zayıf parola kullanımı sonucu hesap ele geçirme yoluyla gerçekleştiğini göstermektedir.
- Hedef İşlem ve Yetenekler: Analizde, sistemin kritik süreçlerinden biri olan csrss.exe'nin (PID 2760) ele geçirildiği tespit edilmiştir. Yüklenen DLL'ler (windows.dlllist çıktısı) incelendiğinde, özellikle USER32.dll ve GDI32.dll gibi kütüphanelerin kullanılması, saldırganın potansiyel olarak tuş vuruşu kaydı (keylogging) ve ekran görüntüsü alma yeteneğine sahip olduğuna işaret etmektedir. CRYPTBASE.dll varlığı ise, şifreleme mekanizmalarının kullanılmış olabileceğini gösterir.
- Gereken Son Adım: Bu ana kadar elde edilen tüm bilgiler çok değerli olmakla birlikte, saldırganın Komuta ve Kontrol (C2) sunucusu IP adresleri ile veri sızdırma hedeflerini kesin olarak belirlemek için zorunlu olan ağ bağlantı bilgileri (IP'ler) henüz tespit edilememiştir
Umid Mammadov
umid.cybersec@gmail.com