[TR] Brave — CyberDefenders
Senaryo: Ele geçirilen bir Windows makinesinden bir bellek görüntüsü alındı. Bir Mavi Takım Analisti olarak, görüntüyü analiz edin ve verilen soruları yanıtlayın.
Dosyamızı indirdik. İçerisinden yaklaşık 4,7 GB büyüklüğünde bir imaj dosyası çıktı.
Dosyamızın adına bakacak olursak Windows 10 Home sürümüne ait bir bellek imajı gibi görünüyor. Bunu anlayabilmemiz için Volatility aracını kullanabiliriz. Ama öncelikle rahat çalışabilmek adına dosyamızın adını küçültelim. Yeni dosya adımız “win10” olsun.
Şimdi rahatlıkla çalışabiliriz.
Ram imajının alınma tarihi bize verilmemiş. Öncelikle bunu tespit edelim. Bunun için “Volatility” aracımızı kullanabiliriz.
Volatility, dijital adli bilişim analizlerinde kullanılan açık kaynaklı bir bellek analiz aracıdır. Bu araç, bilgisayar sistemlerinin RAM (Bellek) dökümlerini inceleyerek sistemde o anda çalışan süreçleri, ağ bağlantılarını, kullanıcı oturumlarını ve zararlı yazılımları tespit etmek için kullanılır.
“python3 vol.py -f win10.mem windows.info” komutu ile alınan bellek dökümünden Windows sistemine dair genel bilgileri alıyoruz.
Bu komutun işlevini kısaca açıklayayım:
python3: Python 3 interpreter’ını kullanarak bir Python betiğini çalıştırmayı sağlar.
vol.py: Volatility’nin Python betiği, yani ana çalıştırılabilir dosyasıdır.
-f win10.mem: Bellek imajı dosyasını (win10.mem) analiz etmek için kullanılır.
windows.info: Bu, Volatility’nin bir komutudur ve bellek imajıyla ilgili genel bilgi sağlar. Windows sistem bilgilerini çıkartır.
Volatility bize çıktıları verdi. Şüpheli sisteme göre RAM görüntüsünün ne zaman alındığını öğrenmiş olduk.
Şimdi RAM imajının SHA-256 hashini bulalım.
“Get-FileHash win10.mem” komutu PowerShell’de bir dosyanın hash değerini hesaplamak için kullanılır. Hash değerimizi de bu sayede öğrenmiş olduk.
Ardından bizden istenilen “Brave.exe” adlı nesnenin PPID (Parent Process ID) değerini bulmalıyız. PPID, bir işletim sisteminde bir sürecin (process) hangi ana süreç (parent process) tarafından başlatıldığını gösteren bir kimlik numarasıdır.
Bunun için iki yol deneyebiliriz. Birisi Volatility içerisinde “python3 vol.py -f win10.mem windows.pslist” komutunu kullanmak. Bu komut, bellek dökümündeki Windows processlarını listeler.
Komutu yazdığımız gibi brave.exe satırı önümüze düşüyor.
Bir diğer yol ise yine Volatility ancak görsel arayüzlü :)
Daha kullanıcı dostu bir arayüz tercih ederseniz, ‘Volatility Workbench’ aracını kullanabilirsiniz. Komut satırı tabanlı Volatility ise ileri seviye işlemler için daha çok tercih edilir. Komut satırında tüm komutlara erişim varken, grafik arayüzünde bazı özellikler sınırlıdır. Burada sadece bu alternatifin de mevcut olduğunu göstermek istedim.
Bizden istenilen bir diğer bilgi ele geçirme anında kaç tane ‘Established’ ağ bağlantısı olduğunu bulmamız. Bir Windows işletim sisteminde bunu görebilmek için komut satırına “netstat -an” yazmamız gerekir. Aynı işlemi burada da yapacağız.
“python3 vol.py -f win10.mem windows.netscan” komutu ile imaj içerisinde aktif ağ bağlantılarını ve açık portları görüntüleyebiliriz.
Burada ‘Established’ durumundaki ağ bağlantıları, bir sürecin aktif olarak başka bir sistemle bağlantı kurduğunu gösterir.
Sıradaki aşama da Chrome’un hangi FQDN ile kurulu bir ağ bağlantısının olduğunu tespit etmek. Bunun için ‘Established’ olan bağlantılara baktım.
Bulduğum IP adresini web üzerinde arattığımda protonmail.ch adında bir hostname olduğunu tespit ettim.
Bizden 6988 ID numaralı process için MD5 değerini bulmamızı istiyor. Bunun için PID değeri 6988 olan sürecin bilgilerini çıktı olarak yazdırmalıyız. “python3 vol.py -f win10.mem windows.pslist — pid 6988 — dump” komutu ile bunu yapabiliriz.
Process’ı çıkarmayı başardık. Şimdi MD5 değerini öğrenebiliriz.
“Get-FileHash .\6988.OneDrive.exe.0x1c0000.dmp -Algorithm MD5 | Format-List” komutu ile MD5 değerimizi öğreniyoruz.
0x45BE876 ofsetinden başlayan ve 6 bayt uzunluğunda olan kelimeyi bulmamız istenmiş. Bunun için imaj dosyamızı bir hex editörü ile görüntüleyebiliriz. Bunun için ‘HxD’ aracını kullanacağım.
HxD aracımızla imaj dosyamızı açtık ve içerisinde ‘45BE876’ offsetini arattık.
Kelimeyi bulmak pek zor olmadı.
İmaj içerisinde Powershell sürecinin oluşma tarihi, saat, dakika ve saniye cinsinden istenmiş.
Bunun için tekrardan Volatility aracına dönüyoruz. Yine daha önce yaptığımız gibi “pslist” komutu ile process listesini çıkarıyoruz.
Burada ‘powershell’ sürecini bulduk. Ancak biraz geri gittiğimizde powershell işleminin explorer işlemi altında başlatıldığını görüyoruz.
Bu nedenle tarih olarak ‘explorer.exe’ işleminin oluşturulma zamanını almalıyız.
Açılan son not defterinin dosya yolunu bulmamız istenmiş. “python3 vol.py -f win10.mem windows.cmdline” komutu ile tespit edelim. Bu komut Windows sistemindeki süreçlerin komut satırı argümanlarını listelemek için kullanılır.
Dosya yolunu bulduk.
Saldırganın Brave tarayıcısını ne kadar süre kullandığını bulmamız isteniyor.
“python3 vol.py -f win10.mem windows.registry.userassist” komutunu kullanarak kullanıcıların daha önce kullandığı uygulamaların ve dosyaların kaydını tutan UserAssist anahtarındaki bilgileri listeledik.
Önümüze çok fazla sonuç çıktı. Komut satırı üzerinden ihtiyacımız olan alanı taramak zor. O yüzden biraz kolaya kaçacağım :)
Komut satırında ekrana çıkan tüm verileri not defterine kopyalıyorum.
CTRL+F yaparak ‘Brave’ kelimesini taratıyorum. Karşıma uygulamanın UserAssist kaydında bulunan bilgileri çıkıyor.
Örnek vermek gerekirse:
Bu kayıt, “John Doe” adlı kullanıcının Brave tarayıcısını toplamda 9 kez açtığını ve en son kullanımının 30 Nisan 2021 tarihinde gerçekleştiğini göstermektedir. Kırmızı alanla işaretlenmiş bölgede ise uygulamanın ne kadar süre çalıştığı görünmektedir.
— — — — — — — — — — — — — — — — — — — — — — — — -
Sonuç olarak, bu CTF etkinliği sırasında elde ettiğimiz bilgiler ve deneyimler, adli bilişim ve siber güvenlik alanındaki yetkinliğimizi artırma konusunda önemli bir fırsat sundu. Ele geçirilen bir Windows makinesinden alınan bellek görüntüsü ile gerçekleştirdiğimiz analiz, kullanıcı davranışlarını izleme, uygulama kullanım sıklığını belirleme ve potansiyel tehditleri tespit etme konularında derinlemesine bir anlayış kazandırdı. Okuyan ve emeği geçen herkese teşekkür ederim.
Bana “Linkedin” üzerinden bağlantı isteği gönderebilirsiniz.