GAZİ ÜNİVERSİTESİ Bilişim Enstitüsü - Adli Bilişim Anabilim Dalı Bilgi Güvenliği Dersi Konu: Memory Dump (Ram imajı) İncelemesi MÜMİN BAKIR
RAM (Random Access Memory - Rasgele Erişilebilir Hafıza) Bilgilerin geçici olarak tutulduğu hafızadır. Sabit disk te bir hafızadır ama bilgiler kalıcıdır. Bilgisayar kapanıp tekrar açıldığında sabit diskteki verilere tekrar erişilebilir ama ram üzerindeki bilgiler bilgisayar kapandığı anda gider tekrar açtığımızda o bilgilere erişemeyiz. Ram kapasitesi yükseldikce üzerinde anlık tutacağı bilgide doğru orantılı artacaktır.
Adli bilişim incelemelerinde disk imajı kadar memory imajıda önemlidir çünkü üzerindeki bilgiler uçucudur ve anında imajın alınması gereklidir. Bilgisayar kapatılır yada yeniden başlatılırsa istediğimiz bilgilere ulaşamayız.
Ram imajından ulaşabileceğimiz bilgiler; Program ve hizmet bilgileri, Oturum bilgileri, Uygulamaların sonlandırılma ve çalışma süreleri, Bilgisayar üzerinde bulunan yerel hesaplar ve hash bilgileri, Browser bilgileri, Kayıt defteri (Regedit) bilgileri, Girilen web sitelerinin kullanıcı adı ve parolaları(sosyal medya, mail), Ağ bağlantısı bilgileri, Komut satırında kullanılan komutlar, gibi verilere belleğin sağladığı alan ölçüsünde erişilebilir.
Bellek imajı yol haritası; İmaj almadan önce kendimize bir yol haritası belirlemeliyiz; Bellek imajı alacağımız sistem sanal yada fiziksel? Fiziksel ise hangi işletim sistemi? Aktif çalışıyormu kapalımı? Kapalı ise Hibernation (hiberfil.sys), Page File (pagefile.sys) ve Crash Dump dosyaları mevcutmu? Açık ise anlık imaj alımı yapılabilir mi? Oturumu açık kullanıcı yetkilimi değilse gerekli fiziksel donanıma sahipmisiniz? Sanal ise hangi hangi platform? Sistem çalışıyormu kapalımı? Host üzerinde snapshot, clone, memory dosyası varmı yada alınabilirmi?
Ram imajı alımı (Windows); FTK Imager, Belkasoft Live Ram, Encase, WinDD, Magnet Ram Capture ve DumpIT araçları ile RAM imajını alabiliriz. Benim kullandığım araç DumpIT, bilgisayara kurmadan çalışan bir araçtır. Çalıştırdığınızda size Ram ve fiziksel disk üzerindeki boş alanı gösteren bir bilgilendirme ekranı gelmektedir ve imajın oluşturacağı yolu göstermektedir. Devam etmek istediğinize eminmisiniz? Sorusuna sadece y yazarak Enter tuşuna basıyoruz. Processing.. yazıyor Success. Yazısı geldiğinde Raw formatında imajımız hazırlanmış oluyor.
Linux ve Mac Ortamlarında Bellek İmajı Alımı; Linux üzerinde de bellek imajı oluşturmak için bir çok araç bulunmaktadır. Örneğin dd, LIME (Linux Memory Extractor), dc3dd, linux memory grabber, fmem gibi araçlar bir kısmıdır. Dc3dd imajı için kullanılacak komut; dc3dd if=/dev/mem of=/home/desktop/bellek.img Mac OS üzerinde goldfish, mac memory reader ve OSXPMem araçları ile bellek imajı almak mümkündür. Mac Memory Reader ile bellek imajı alma komutu; sudo./macmemoryreader -v bellek.img
Sanallaştırma Platformlarında Bellek İmajı; Platform Bellek Dosyası Uzantısı Bellek Dosya Yolu Açıklama Hyper-V.bin Hyper-V GUID i ile aynı ortamda dır. İçinde BIN ve VSV dosyalarının olduğug GUID dir. VM ler kapalıyken bu dosyalara ulaşılmaz. Vmware.vmem Program Files (x86)\vmware\vmware Player yada konfigurasyon dosyalarının olduğu konum. VirtualBox.sav./VirtualBox/Machines/SanalMakina/Snapshots/ Parallels.mem /Users/KullaniciAdı/Paralels/SanalMakina/Snapsh ots/ Virtual Machine açık durumdayken alınan Snapshot Sanal makine açık yada crash durumunda.
İnceleme: Aldığımız imajı birçok imaj inceleme yazılımı ile açıp inceleyebiliriz benim kullandığım yazılım Volatility 2.5 Programı direk çalıştırdığımızda hiçbir işlem yapmadan kapanacaktır. Öncelikle komut satırını yönetici olarak çalıştırıyoruz ve Volatility klasorunun olduğu dizine kadar gidiyoruz. volatility.exe h komutunu yazarak Volatility nin bize sunduğu komutları görebiliriz. İmaj üzerinde inceleme yapabilmemiz için imajı gösterip ilk olarak elimizdeki imajın profilini bulmamız gerekir.
volatility -h
İmaj profil bulma: Bize önerdiği profilleri tek tek deneyerek hangi profil olduğunu tespit etmeliyiz, ben imaj aldığım makinanın windows 7 SP1 x64 olduğunu bildiğim için bu profili kullanıyorum. Win7SP1x64
Process Bilgilerini Alma pslist Komutu volatility.exe -f C:\Users\MB\Desktop\memory\MUMIN_TEST-PC-20161121-130756.raw --profile=win7sp1x64 pslist İşlemleri txt dosyasına aktarmak için kullanılması gereken komut; volatility.exe -f C:\Users\MB\Desktop\memory\MUMIN_TEST-PC-20161121-130756.raw --profile=win7sp1x64 pslist --output=text --output-file=pslist.txt
İşlem Listesi Ağaç Yapısı pstree ; volatility.exe -f C:\Users\MB\Desktop\memory\MUMIN_TEST-PC-20161121-130756.raw --profile=win7sp1x64 pstree Komut olarak pslist komutuna benzesede pslist komutundan farklı olarak işlemleri alt dallarıyla göstermektedir. Pslist komutunda gizli işlemler gözükmemektedir. Yandaki listeyi incelediğimizde görev yöneticisi, cmd komut penceresi, firefox, putty, internet explorer, mmc konsol ve imaj aldığımız dumpit uygulamalarının çalıştığını anlayabiliyoruz.
Komut Satırı Geçmişi cmdscan yada consoles volatility.exe -f C:\Users\MB\Desktop\memory\MUMIN_TEST-PC-20161121-130756.raw --profile=win7sp1x64 cmdscan Cmdscan yerine consoles komutu ile daha fazla detaya ulaşılabilir.
İşletim sistemi üzerindeki kullanıcılar - hashdump volatility.exe -f C:\Users\MB\Desktop\memory\MUMIN_TEST-PC-20161121-130756.raw --profile=win7sp1x64 hashdump Bu ekranda bize 3 adet kullanıcı olduğunu söylemektedir ve bu kullanıcıların hash değerlerini görmektetiz. Hash algoritması rainbow tablolar kullanılarak bruteforce yöntemi ile kırılabilir. Bu işlemi yapan bazı programlar vardır hatta alınan ram imajı içerisinde şifre taraması yapan uygulamalar da bulunmaktadır. Örneğin Passware Password Recovery Kit Forensic yazılımı da bunlardan biridir.
Şimdi bu yazılımı kullanarak bellek imajının içerisindeki lokal kullanıcı şifrelerini bulalım. 1 2 3
Tarama işlemi bittiğinde sağ tarafta gördüğünüz gibi Administrator ve mumin_test kullanıcılarının şifrelerini buluyor. İmaj tarama işlemi yapılıyor
Oturumu açık olan kullanıcıların ekran görüntüleri - screenshot volatility.exe -f C:\Users\MB\Desktop\memory\MUMIN_TEST-PC-20161121-130756.raw --profile=win7sp1x64 screenshot -D c:\oturum\ Komutu ile c:\ sürücüsü içerisinde önceden oluşturduğumuz oturum klasorünün içerisine gerekli resimleri png formatında oluşturmaktadır.
Göründüğü gibi 14 adet ekran görüntüsü oluşturulmuş ama sadece 2 tanesinin içeriği gözükmektedir. Aslında bu 2 resimde masaüstüde açık olan pencereleri anlamamıza yeterlidir.
1. Kullanıcının açık olan oturumunda Putty, Windows Task Manager ve CMD komut satırının açık olduğunu görebiliyoruz.
2. Kullanıcının oturumunda Computer Management ve İnternet Explorer 11 tarayıcısın açık olduğunu anlayabiliyoruz.
Ağ Bağlantısı, TCP-UDP Durum ve Port Bilgileri netscan volatility.exe f C:\Users\MB\Desktop\memory\MUMIN_TEST-PC-20161121-130756.raw --profile=win7sp1x64 netscan
Zaman Çizgisi Oluşturma- timeliner ; volatility.exe -f C:\Users\MB\Desktop\memory\MUMIN_TEST-PC-20161121-130756.raw --profile=win7sp1x64 timeliner -- output-file=timeline.txt --output=text Zaman bilgisi adli incelemelerinde çok önemlidir. İmaj içerisinde olayın gerçekleşme zamanı ve olayla ilgili kullanılan materyallerin işlem sırasını bize sunar. Komutu txt dosyasına vermemizde fayda vardır çünkü çok fazla zaman bilgisi içeren satır oluşturmaktadır.
Timeliner komut satırındaki çıktısı. İşlem sonucunda ağ bilgisi, program işlemleri, olay geçmişi gibi bilgiler kronolojik olarak sıralanır ve işlemlerle ilgili offset ve pid-ppid (işlem numarası) bilgileride gösterilir.
En Son Kullanılanlar- shellbag ; Shellbag komutu ile son kullanılan dosyalara erişiyoruz ve çıktıda gördüğümüz eriştiğim ağ konumları erişim, değiştirme ve oluşturma zamanları dahi görebiliyoruz.
Pano Bilgilerine Erişim clipboard ; volatility.exe -f C:\Users\MB\Desktop\memory\MUMIN_TEST-PC-20161121-130756.raw --profile=win7sp1x64 clipboard -v
Ram Üzerinden Verileri Dondurarak Alma; Ram bellekler sıvı nitrojen ile soğutularak ortalama -50-190 derecelik sogutulma işlemine maruz bırakılır ve başka Bir cihaza takılarak verilere erişmek mümkündür.