Volafox ile Mac OS X Sistemlerde Hafıza Analizi

Volafox ile Mac OS X Sistemlerde Hafıza Analizi
[EXHIBIT_A] Featured evidence

Mac OS X sistemler son zamanlarda gerçekleştirdiğimiz adli bilişim incelemelerinde karşımıza daha sık çıkmaya başladılar ve görünen o ki bundan sonra da çıkacaklar. Bu sistemler üzerinde gerçekleştirilecek canlı inceleme adımlarının en önemlilerinden birisi de tıpkı diğer sistemlerde olduğu gibi hafızanın imajını almak ve bu imajı analiz edip olası sayısal delilleri elde etmektir. Bu makalemizde Mac OS X sistemler üzerinden canlı inceleme ile elde edilen hafıza imajlarını analiz etmek için kullanabileceğimiz Volafox yazılımından bahsedeceğim.

Volafox, Mac OS X sistemlerden alınan hafıza imajlarını analiz etmek için kullanılabilecek bir diğer açık kaynak kodlu analiz yazılımıdır. Bu yazılım ile Snow Leopard(10.6), Lion(10.7), Mountain Lion(10.8) ve Mavericks(10.9) sistemlerden alınan hafıza imajlarını analiz edebiliyoruz. Analiz edilecek hafıza imajının flat formatta olması gerekiyor (OSXPMem, Firewire, VMware memory image gibi). Eğer hafıza imajı Mac Memory Reader uygulaması ile alınmışsa bu surumda ilgili hafıza imajını convert etmemiz gerekiyor. Bu işlem için Volafox ile birlikte gelen flatten.py scriptini kullanabiliriz. Bu scriptin örnek kullanımı aşağıda gösterilmiştir.

DATA_TABLE
flatten.py .

Volafox, ilgili Mac OS X sisteme ilişkin hafızı dosyası üzerinde analiz işleme gerçekleştirmek için ilgili Mac OS X sürümüne ilişkin overlay dosyalarına ihtiyaç duyar. Eğer analiz edilecek hafıza imajının alındığı sisteme ilişkin overlay bilgisi yoksa bu durumda mach_kernel kullanılarak bir overlay dosyası oluşturulmalı ve overlays dizini altına kopyalanmalı. Bu komutun örnek kullanımı aşağıda gösterilmiştir.

DATA_TABLE
python overlay_generator.py /mach_kernel 10.9.2-64.overlay 64

Volafox çalıştırıldığında hala overlay bulamadığını söylüyorsa ilgili overlay dosyasını belirtilen isimle overlays dizinine kopyalamak gerekiyor. Volafox tarafında kullanabileceğimiz komutlar ve bu komutların neler yaptığı aşağıdaki tabloda listelenmiştir.

DATA_TABLE
Komut Açıklama
system_profiler Kernel versiyonu, CPU ve hafıza bilgisi, Boot/Sleep/Wakeup zamanlarını ekrana basar.
mount Mount edilmiş dosya sistemlerinin bilgisini ekrana basar.
kextstat Yüklü olan kernel eklentilerini (KEXT (Kernel Extensions) listeler
kextscan Hafıza imajı içinde yer alan kernel eklentilerini tarar. Sadece 64 bit işletim sistemlerini destekler.
ps Hafıza imajı alındığı zamana ilişkin çalışan prosesleri listeler.
tasks Hafıza imajı alındığı zamana ilişkin çalışan görevleri listeler.
machdump İlgili çalıştırılabilir dosyayı hafıza imajı içinden çıkarmaya yarar.
systab Sistem çağrı tablosunu ekrana basar.
mtt Mach trap tablosunu ekrana basar.
netstat Network durum bilgisini ekrana basar.
lsof Çalışan prosese ilişkin açık dosyaları listeler.
pestate Sistemin boot bilgisini ekrana basar.
efiinfo EFI Sistem tablosunu ekrana basar.
keychaindump Keychain dosyalarını kırmak için kullanılabilecek olası master keyleri bulur.
dmesg Boot sırasındaki debug mesajlarını gösterir.
uname Bilgisayarın Unix name (uname) formatında ismini gösterir.
hostname Bilgisayarın host ismini gösterir.
trustedbsd TrustedBSD MAC Framework'ü ile ilgili bilgileri ekrana basar.
bash_history bash prosesine ilişkin geçmiş bilgisini gösterir.

Şimdi bu komutlardan bazılarını örnek hafıza imajımız üzerinde çalıştırarak yorumlayalım. İlk olarak çalıştıracağımız komut system_profiler komutu ve bu komutun çıktısında aşağıdaki ekran görüntüsünden de görülebileceği üzere ilgili Mac OS X hakkında kaç CPU'ya ve hafızaya sahip olduğu, en son ne zaman hibernation'a alındığı vb gibi bilgilere ulaşabiliyoruz.

exhibit_viewer.exe
Volafox-SystemProfiler
[EXHIBIT] Volafox-SystemProfiler

Ele alacağımız bir sonraki komut olan mount komutu ise bize ilgili hafıza imajının alındığı zamanda Mac OS X sistem üzerindeki mount edilmiş sürecileri, bu sürücülerin mount edildiği dizini ve bu disk bölümlerindeki dosya sistemi türlerini listeler. Örnek ekran görüntüsü aşağıda gösterilmiştir.

exhibit_viewer.exe
Volafox=Mount
[EXHIBIT] Volafox=Mount

Hafıza imajının alındığı zamana ilişkin ilgili Mac OS X üzerinde hangi proseslerin çalıştığını öğrenmek için ps komutunu kullanıyoruz. Bu komutun çıktısında elde ettiğimiz bilgiler ışığında sistem üzerinde istenmeyen, şüpheli uygulamaların çalışıp çalışmadığını tespit edebiliriz. Örnek bir çıktı aşağıdaki ekran görüntüsünde yer almaktadır. Görülebileceği üzere prosesin ismi, hangi proses tarafından başlatıldığı, hangi kullanıcı hakları ile çalıştığı ve ne zamna başlatıldığı gibi oldukça kritik bilgileri elde etmemiz mümkün.

exhibit_viewer.exe
Volafox-PS
[EXHIBIT] Volafox-PS

Volafox'da kullanabileceğimiz bir diğer önemli komut ise lsof komutudur. Bu komut özetle belirlediğimiz prosesin hangi dosyaları kullandığı bilgisini bize sunar. Örnek bir çıktı aşağıda gösterilmiştir. Görülebileceği üzere Process ID'si 277 olan uygulamanın hangi dosyaları kullandığının bilgisi elde edilmiştir.

exhibit_viewer.exe
Volafox-Lsof
[EXHIBIT] Volafox-Lsof

Şimdi sıra hafıza imajını aldığımız Mac OS X bilgisayardaki keychain dosyalarında saklanan şifreleri elde etmeye geldi. Keychain, Apple'ın Mac OS X sistemler için geliştirdiği bir şifre yönetim sistemidir. Daha detaylı bilgi almak isterseniz http://en.wikipedia.org/wiki/Keychain_(Apple) adresini ziyaret edebilirsiniz. Volafox ile ilgili Mac OS X sistemde kullanılan keychain master anahtarını tespit edebiliyoruz. Bunun için keychaindump komutunu kullanarak olası master keylerin listesini elde ediyoruz. Aşağıda örnek bir ekran görüntüsü yer almaktadır.

exhibit_viewer.exe
Volafox-Keychaindump
[EXHIBIT] Volafox-Keychaindump

exhibit_viewer.exe
Volafox-Chainbreaker
[EXHIBIT] Volafox-Chainbreaker

Elde ettiğimiz bu olası master keylerin hangisinin keychain dosyasını açtığını öğrenmek içinse yapmamız gereken şey https://github.com/n0fate/chainbreaker adresinden indireceğimiz Python scripti ile ilgili login.keychain dosyası üzerinde deneme yapmak. Aşağıdaki ekran görüntüsünden de görülebileceği üzere başarısız denemelerin ardından denediğimiz olası anahtarlardan birisi ile kullanıcının keychain dosyasını kırmayı başarıyoruz.

Yukarıda bir kısmını anlattığım Mac OS X sistemlerdeki hafıza analizi adımlarını ilerleyen zamanlarda karşınıza gelecek adli bilişim incelemelerinde sıklıkla kullanacağınızı söyleyebilirim. Şimdiden ilgili vakalara hazırlıklı olmakta fayda var:)

AUTHOR
Halil Öztürkci

Halil Öztürkci

Cybersecurity expert with 25 years of hands-on experience across the full attack-defense spectrum.

I've spent my career on both sides of the battlefield—investigating breaches through digital forensics, hunting APT groups through threat intelligence, building and leading security operations, dissecting malware, and executing red team engagements. Now I'm focused on the next frontier: LLM security, AI red teaming, and building secure AI/ML pipelines.

From incident response to adversary simulation, from SOC architecture to AI-powered threat detection—I decode complex security challenges and translate them into actionable defense.

enjoyed this? get more like it.