Web Browser yani internet tarayıcı uygulamaları, işletim sistemi kurulduğu anda browser kurulumunu da gerçekleştiririz. Bilgisayar kullanan her kullanıcının olmazsa olmazlarından biridir yani genel anlamda internette gezinmek, işletim sistemine ait dosyaları görüntülemek için Web Browserları kullanılmaktadır. Hepimizin kullanmış olduğu bu browser kendi içerisinde arama sorguları, kullanıcı adı, parola, form verileri, e-posta, kredi kartı bilgileri ve daha nice çok veriyi içinde kaydettiğini ayrıca indirilen medyalar, bookmark (yer imleri) ve tarayıcı geçmişi, kullanıcının sörf alışkanlığını gibi bilgileri de barındırdığını görmüşüzdür. Tabi bu özellikleri sayesinde kullanıcılara büyük kolaylıklar sağlar. Forensics bakış açısı ile bu tür bilgilere bakarsak bizlerinde işini bir nebze olsa kolaylaştırdığını söyleyebiliriz. Güvenliği ihlal edilmiş bir sistemin ana nedenini bulmak için analizi gerçekleştirdiğimiz artifackler bulunur bu artifacklerden biride browser artikfakleridir.
Browser forensics teknikleri ile bir saldırgan tarafından browser vasıtasıyla yetkisiz erişimin temel nedenini (root casue) belirleme süreci ve tekniğidir, analizin çoğu bölümü yetkisiz giriş etkinliğini ilişkilendirmek ve bir saldırının kaynağını belirlemektir. Browser forensics sayesinde indirilmiş dosya silinmiş olsa bile nereden indirildiği, kayıtlı parola bilgileri, web geçmişi gibi kritik bilgileri elde edebiliriz. İçerisinde bu kadar bilgiyi muhafaza eden browserlar analizi göz ardı edilemeyecek kadar önemlidir. Güvenliği ihlal edilen bir Windows sisteme sahip makine üzerinde analiz yapılırken olayın root casue bulunması açısından, browserlarda çok değerli bilgiler edilebiliriz. Olay öncesi sisteme bulaşan malware’ın nereden geldi mail aracılığıyla mı? browserdan kullanıcı kendisi mi indirdi gibi sorulara web browser forensics tekniklerini uygulayarak bulabiliriz. Browser artifackleri sayesinde oluşturulan timeline yardımcı olabilecek çok fazla bilgiyi elde edebiliriz.
Genellikle malware kaynağı browserlarda bulunan artifcakler sayesinde bulunur. Malware analiz edilmesi kadar browser artifacklerinin analizi de bir o kadar değerlidir. Kullanıcı bir phishing url adresine mi tıkladı tıkladıysa neye tıkladı ya da zararlı eklenen bir eklenti yüzünden mi güvenliği ihlal edildi gibi önemli bilgileri elde edebiliriz.
Bu blog yazımda bu browser artifacklerinin toplanması ve nasıl analiz edildiğinden bahsedeceğim.
Browser Forensics Analiz sayesinde;
· Browserlar içerisinde gezinme geçmişi (history kaydı), yer imleçleri (booksmark), indirilenler (downloands), önbellek verileri (cache), çerez bilgileri (cookies) gibi bilgileri elde edebiliriz.
· History kayıtları sayesinde kullanıcının hangi web adreslerine eriştiğini tespit edebiliriz.
· Cache, (önbellek), web sitelerinde gezinirken tarayıcı birçok nedenden dolayı her türlü önbellek verisini (resimler, javascrpit dosyaları vb.) oluşturur. Web sitelerinin yükleme süresini hızlandırmak için bu cache bilgileri kullanılır.
· Form Data, formlar içine yazılan her şey genellikle tarayıcı tarafından depolanır, bu nedenle kullanıcı bir sonraki sefer formunu içine bir şey girdiğinde tarayıcı önceden girilmiş verileri önerebilir.
Kullanılan platforma bağlı olarak Chrome, Firefox, Safari, IE, Opera gibi bir çok web browser mevcuttur. Aşağıda kullanım yüzdelikleri verilmiştir.
Figure 1https://en.wikipedia.org/wiki/Usage_share_of_web_browsers
Browser Artifack Analizi:
Bu blog yazımda popüler olarak kullanılan Chrome, FireFox, Edge internet tarayıcılarını artifacklerini analiz edeceğiz, Bildiğimiz üzere çok çeşitli web browser sürümleri var hayliyle hepsinin farklı artifack lokasyonları bulunur. Artifackleri analiz etmek için çeşitli toollar kullanabiliriz. Benim popüler olarak kullanmış olduğum toollar, EseDatabaseView, Browser History Viewer, DB Browser, Hindsight, araçlarını kullanmaktayım. Sizlerde ücretsiz bir şekilde elde edip kullanabilirsiniz.
Chrome
Google tarafından geliştirilen ücretsiz bir web tarayıcısıdır. Eylül 2008’de Microsoft Windows sürümü yayımlanmış; daha sonra Linux, macOS, iOS ve Android sürümleri de geliştirilmiştir. Google, Chrome’un kaynak kodlarının büyük kısmını Chromium adlı açık kaynak projesi kapsamında paylaşır (https://tr.wikipedia.org/wiki/Google_Chrome)
Chrome artifacklerin genelde bulunduğu konum;
Linux:
/home/$USER/.config/google-chrome/
/home/$USER/.config/chromium/
Windows:
C:Users[USERNAME]AppDataLocalGoogleChrome
MacOS:
_/Users/$USER/Library/Application/ Support/Google/Chrome/
Bu yazımda Windows bir sistem üzerinde genel Chrome artifackleri analiz edilmesinden bahsedeceğim. (Genel mantalite diğer işletim sistemlerinde aynıdır.)
Bookmarks
Bookmarks yani yer imleleri olarak oluşturduğumuz sık kullanılan web adreslerini analiz etmek için Bookmarks dosyasına bakabiliriz. Chrome Bookmarks kayıtlarını Json dosya formatında saklar
C:Users<username>AppDataLocalGoogleChromeUser DataDefaultBookmarks
konumunda bulunur.
Bookmarks dosyasını parse etmek için notpead veya Sublime Text kullanılabilir.
Görüldüğü içerisini açıp bookmarks kısmını analiz edebiliriz.
Cache
Cache bilgileri geçmişte gidilen sitelere, aynı siteler sık ziyaret edildiğinde aynı görüntülerin ve içeriğin tekrar tekrar indirilmesini önlemek için kullanılırdı. Chrome, önbellek içeriğini ve bilgilerini üç tür dosyada depolar: tümü önbellek klasörlerinin altındaki dizin, data_X ve f_XXXXXX dosyaları. Data_X dosyaları, veriler küçükse önbelleğe alınmış içeriği depolar, ancak daha büyük bir resim veya başka bir içerikse f_XXXXXX’e aktarılır
C:Users<username>AppDataLocalGoogleChromeUser DataDefaultCache
C:Users<username>AppDataLocalGoogleChromeUser DataChromeDefaultDataCache
Konumunda bulunur.
Bu dosyaları teker teker analiz etmek zor olabilir. Bu klasörün tümünü analiz etmemiz gerekmektedir. Bu dosyaları parse etmek için ise Browser History Viwer aracını kullanabiliriz.
Görüldüğü gibi parse etme işlemlerini gerçekleştirebiliyoruz.
Cookies
C:Users<username>AppDataLocalGoogleChromeUser DataDefaultNetworkCookies
Cookies dosyasını parse etmek için DB Browser for SQLite aracını kullanabiliriz.
Favicons
Chrome Favicons SQLite Veritabanında favicon_bitmaps ve icon_mapping tablolarında saklanır. Favicons [SQLite Database] Favicons sayesinde geçmiş silinse bile ikonlar sayesinden silinen geçmiş tespit edilebilir.
C:Users<username>AppDataLocalGoogleChromeUser DataDefaultFavicons
Favicons dosyasını parse etmek için DB Browser for SQLite aracını kullanabiliriz
From geçmişi
Chrome Form Geçmişi, otomatik doldurma (autofill) web verileri SQLite veritabanında saklar.
C:Users<username>AppDataLocalGoogleChromeUser DataDefaultWeb Data
WebData dosyasını parse etmek için DB Browser for SQLite aracını kullanabiliriz
Logins
Chrome girişleri, SQLite veritabanı dosyası olan “Web Data” dosyası içerisinde login tablosundata tutar.
Oturum verileri (Session Data)
Chrome oturum verilerini, “Session” klasöründe tutar.
C:Users<username>AppDataLocalGoogleChromeUser DataDefaultSessions
Thumbnails (Küçük Resimler)
Chrome Thumbnails bilgilerini “Top Sites” dosyasında tutar.
C:UsersMAAppDataLocalGoogleChromeUser DataDefaultTop Sites
Top Sites dosyasını parse etmek için DB Browser for SQLite aracını kullanabiliriz
History
History dosyası bir veritabanı dosyasıdır. Ve SQLLite kullanılarak incelenebilir. Veritabanında mevcutta bulunan tablolar; Downloads, presentation, urls, keyword_search_terms, segment_usage, visits, meta, segments, Cache
Şeklindedir.
C:Users<username>AppDataLocalGoogleChromeUser DataDefaultHistory
Link:User Clied on a link
Type: The url was written
Auto Bookmark
Start page
From submit
Downloands: Chrome indirilen geçmişleri SQLite veritabanında “History” dosyasındak, downloand table içeisinde tutmaktadır.
Searches: Chrome aramaları “History” SQLite veritabanı dosyasındaki “Keyword_serach_terms” tablosunda tutar. İlişkili url bilgilerinide görebiliriz.
Website Visits (Web adres ziyareti): Chrome Web sitesi ziyaretlerini “History” SQLite veritabanı dosyasındaki “visits” tablolarında tutar. İlişkili url bilgilerini “url” tablosunda tutar.
URLS – urls tablosu, Chrome için temel tarama geçmişini içerir. Bu, ziyaret edilen tüm URL’ler için tek bir örnek, son ziyaret edilen zaman için bir zaman damgası ve ziyaret edilenlerin sayısı için bir sayaç içerecektir.
Visit– Visit tablosu: Chromium kullanan taraycılara özeldir. Sayfa her ziyaret edildiğinde aynı URL için birden fazla kayıt içermektedir. Kullanıcı bir url adresine birden fazla gidebilir her gittiğinde ise ayrı bir zaman damgası oluşturur. Burada zorluk olarak url listelenmeketeidr. Yalnızca URL tablosunda eşleşen url kaydını gösterir. Bu veriler manuel analiz ediliyorsa iki tablonun birleştirilmesi gerektiği ve silinen kayıtları oyan herhangi bir aracın eşleşen kaydı bir tabloda bulması gerektiği veya kısmi sonuçlara anlamına gelir.
Visit_Source: Belirli bir url’in kaynağı da dahil olmak üzere tüm geçmişi, yerel olarak mı taranmış, başka bir yerden senkronize edilmiş veya başka bir tarayıcda içe mi aktarılmış diye tespit edilmesine imkan tanır.
Yukarda Google Chrome’un artifaklerini ve lokasyonlarını anlattım bu kadar locasyon ve teker teker parse etmekle uğraşmak istemiyorsak Hindsight aracını kullanabiliriz.
Aracımızı çift tıklayıp çalıştırıyoruz. Görüldüğü gibi karşımıza cmd ekranı çıkmakta ve localhost:8080 listenig modunda olduğunu belirtmekte. Herhangi bir internet tarayıcısını kullanarak http://localhost:8080/ adresine gidiyoruz.
Adresine gittiğimizde karşımıza bu şekilde bir sayfa çıkmaktadır.
Şuan bu tool ile chrome ve Brave tarayıcılarını parse edebiliyoruz.
Chrome artifacklerini path yolunu Profile path kısmına cache pathinide cach dosyasınının bulunduğu path’i veriyoruz Run diyerek aracımızı çalıştırıyoruz.
Parse etme işlemleri tamamlandıktan sonar karşıma bu şekilde bir ekran geliyor.
Burada görüldüğü gibi bize neleri parse ettiği gibi mahiyetinde özet bilgiler sunmakta asıl artifackleri ise Save XLSX diyerek bir excel dosyasında inceleyebiliriz ya da farklı formatlardaki dosya tiplerinde çıktı larak analiaz edebiliriz benim favori olarak kullanmış olduğum excel vazgeçilmez 🙂
Excel dosyamızı açtığımız zaman alt tarafta farklı sayfaları da görebilmekteyiz. Buradaki bilgileri alarak analizimizi gerçekleştirebiliriz.
Microsoft Edge
Microsoft Edge; Windows 10, Windows 11, Windows 10 Mobile ve Xbox One’da kullanılmak üzere Microsoft tarafından geliştirilen web tarayıcısı. Tüm cihaz türlerinde Internet Explorer’ın yerini alarak varsayılan web tarayıcısı olmak üzere tasarlandı. (https://tr.wikipedia.org/wiki/Microsoft_Edge)
Artifackleri analiz etmek için çeşitli toollar kullanabiliriz. Benim popüler olarak kullanmış olduğum toollar, EseDatabaseView, Browser History Viewer, DB Browser, Hindsight, araçlarını kullanmaktayım
C:UsersMAAppDataLocalMicrosoftEdgeUser DataDefault
Lokasyonunda artifackler bulunur.
Yukarda Chrome’da detaylı açıklanan tüm artifakler bu lokasyonda bulunur.
C:UsersMAAppDataLocalMicrosoftEdgeUser DataDefaultHistory
Dosyasında
Bilgileri bulunur. Yukarda chrome da bu sekmeler detaylı bir şekilde anlatılmıştır.
Cookies
C:UsersMAAppDataLocalMicrosoftEdgeUser DataDefaultExtension Cookies-journal
Thumbnails (Küçük Resimler)
C:UsersMAAppDataLocalMicrosoftEdgeUser DataDefaultTop Sites
Favicons
C:UsersMAAppDataLocalMicrosoftEdgeUser DataDefaultFavicons
Cache
C:UsersMAAppDataLocalMicrosoftEdgeUser DataDefaultCacheCache_Data
Bookmarks
C:UsersMAAppDataLocalMicrosoftEdgeUser DataDefaultBookmarks
From geçmişi
C:UsersMAAppDataLocalMicrosoftEdgeUser DataDefaultWeb Data
Sessions
C:UsersMAAppDataLocalMicrosoftEdgeUser DataDefaultSessionsTop Sites
Thumbnails (Küçük Resimler)
C:UsersMAAppDataLocalMicrosoftEdgeUser DataDefault
Profile Path: C:UsersXXAppDataLocalPackagesMicrosoft.MicrosoftEdge_XXXAC
History, Cookies and Downloads:
[ESE Database]
C:UsersXXAppDataLocalMicrosoftWindowsWebCacheWebCacheV01.dat
Settings, Bookmarks, and Reading List: C:UsersXXAppDataLocalPackagesMicrosoft.MicrosoftEdge_XXXACMicrosoftEdgeUserDefaultDataStoreDatanouser1XXXDBStorespartan.edb
Cache: C:UsersXXXAppDataLocalPackagesMicrosoft.MicrosoftEdge_XXXAC#!XXXMicrosoftEdgeCache
Last active sessions: C:UsersXXAppDataLocalPackagesMicrosoft.MicrosoftEdge_XXXACMicrosoftEdgeUserDefaultRecoveryActive
History
History dosyası bir veritabanı dosyasıdır. Ve SQLLite kullanılarak incelenebilir. Veritabanında mevcutta bulunan tablolar; Downloads, presentation, urls, keyword_search_terms, segment_usage, visits, meta, segments, Cache
Şeklindedir.
C:Users<username>AppDataLocalGoogleChromeUser DataDefaultHistory
Link:User Clied on a link
Type: The url was written
Auto Bookmark
Start page
From submit
Downloands: Chrome indirilen geçmişleri SQLite veritabanında “History” dosyasındaki downloand table içerisinde tutmaktadır.
Searches: Chrome aramaları “History” SQLite veritabanı dosyasındaki “Keyword_serach_terms” tablosunda tutar. İlişkili url bilgilerini de görebiliriz.
Website Visits (Web adres ziyareti): Chrome Web sitesi ziyaretlerini “History” SQLite veritabanı dosyasındaki “visits” tablolarında tutar. İlişkili url bilgilerini “url” tablosunda tutar.
URLS – urls tablosu, Chrome için temel tarama geçmişini içerir. Bu, ziyaret edilen tüm URL’ler için tek bir örnek, son ziyaret edilen zaman için bir zaman damgası ve ziyaret edilenlerin sayısı için bir sayaç içerecektir.
Visit– Visit tablosu: Chromium kullanan tarayıcılara özeldir. Sayfa her ziyaret edildiğinde aynı URL için birden fazla kayıt içermektedir. Kullanıcı bir url adresine birden fazla gidebilir her gittiğinde ise ayrı bir zaman damgası oluşturur. Burada zorluk olarak url listelenmektedir. Yalnızca URL tablosunda eşleşen url kaydını gösterir. Bu veriler manuel analiz ediliyorsa iki tablonun birleştirilmesi gerektiği ve silinen kayıtları oyan herhangi bir aracın eşleşen kaydı bir tabloda bulması gerektiği veya kısmi sonuçlara anlamına gelir.
Visit_Source: Belirli bir url’in kaynağı da dahil olmak üzere tüm geçmişi, yerel olarak mı taranmış, başka bir yerden senkronize edilmiş veya başka bir tarayıcı da içe mi aktarılmış diye tespit edilmesine imkan tanır.
Mozilla FireFox
Artifackleri analiz etmek için çeşitli toollar kullanabiliriz. Benim popüler olarak kullanmış olduğum toollar, EseDatabaseView, Browser History Viewer, DB Browser, Hindsight, araçlarını kullanmaktayım
Windows Vista, 7, 8, 10
C:Users<username>AppDataRoamingMozillaFirefoxProfiles<profile folder>
C:Users<username>AppDataLocalMozillaFirefoxProfiles<profile folder>cache2
Mac OS X
/Users/<username>/Library/Application Support/Firefox/Profiles/<profile folder>
/Users/<username>/Library/Caches/Firefox/Profiles/<profile folder>/cache2
Linux/Unix
/home/<username>/.mozilla/firefox/<profile folder>
/home/<username>/.cache/mozilla/firefox/<profile folder>/cache2
Windows sistem üzerinde analiz gerçekleştireceğim.
Belirtilen path üzerinde dosyalar analiz edilebilir.
places.sqlite:
History (moz__places), bookmarks (moz_bookmarks), ve downloads (moz__annos) bilgilerini görebiliriz. Bu dosya analizi sayesinde, User followed a link 2: User wrote the URL, User used a favorite, Loaded from Iframe, Accessed via HTTP redirect 301, Accessed via HTTP redirect 302, Downloaded file bilgilerini görebiliriz.
formhistory.sqlite : Web form data (like emails)
handlers.json : Protocol handlers (like, which app is going to handle mailto:// protocol)
addons.json and _extensions.sqlite _ : indirilen addons and extensions bilgileri
cookies.sqlite : Contains cookies. MZCookiesView can be used in Windows to inspect this file.
favicons.sqlite : Favicons
prefs.js : Settings and Preferences
downloads.sqlite : Old downloads database (now it’s inside places.sqlite)
thumbnails/ : Thumbnails
logins.json : Encrypted usernames and passwords
Safari
/Users/$User/Library/Safari lokasyonunda artifackler bulunur.
History.db: History_visits ve history_items tabloları, geçmiş ve zaman damgaları hakkında bilgiler içerir.
Downloads.plist: İndirilen dosyalar hakkındaki bilgileri içerir.
Book-marks.plist
TopSites.plist: Kullanıcının göz attığı en çok ziyaret edilen web sitelerinin listesi.
Extensions.plist: Safari tarayıcı uzantılarının eski tarz bir listesini almak için.
Opera
/Users/$USER/Library/Application Support/com.operasoftware.Opera
Opera, tarayıcı geçmişini ve indirme verilerini Google Chrome ile tam olarak aynı biçimde saklar. Bu, tablo adları kadar dosya adları için de geçerlidir.
İncognito (Gizli) sekme Web Tarayıcı Analizi:
İncognito özelliği olan normal sekmelerin geçmişi diske yazmaz. Bu, kullanıcı gizli modu kullanırsa, tarama kanıtının tek kaynağının bellekte veya uzantıya göre sayfa dosyası veya hazırda bekleme dosyalarında bulunacağı anlamına gelir. Verileri canlı bir sistemden alabildiğiniz sürece, gizli geçmişi bellekten tespit edilebilir. Bellek geçicidir ve sistem kapatıldığında veriler kaybolacaktır.
Kaynak:
https://resources.infosecinstitute.com/topic/browser-forensics-google-chrome/
https://www.sans.org/blog/google-chrome-forensics/
https://forensafe.com/blogs/googlechrome.html
https://forensafe.com/blogs/microsoftedge.html
https://archerhall.com/knowledge-base/internet-browser-forensics
https://www.security-hive.com/post/browser-forensics-useful-forensic-data