Adli bilişim incelemelerinde bazen belirli bir paterne uyan verileri elimizdeki disk imajı, hafıza imajı veya bir dosya içinde arayarak elde etmemiz gerekebiliyor. Bunu genel kabul görmüş adli bilişim yazılımları ile gerçekleştirebileceğimiz gibi bu iş için özel olarak geliştirilmiş bir yazılım olan bulk_extractor ile de gerçekleştirmemiz mümkün. Bu makalede bulk_extractor kullanarak bir disk imajı üzerinde belirli paternlere uyan verileri nasıl elde edebileceğimize değineceğim.
Bulk_extractor uygulaması kendisine girdi olarak verilen disk imajı içindeki dosya sistemi mimarisinden tamamemn bağımsız bir şekilde arama işlemlerini gerçekleştirir ve bu arama işlemlerini yaparken de olabildiğince hızlı şekilde sonuç üretmek adına girdi dosyasını işlemcideki her bir core başına 16 Megabyte'lık bloklar halinde işleme sokar. İşlem gerçekleştirdiğimiz bilgisayardaki core sayısı ne kadar çoksa o kadar hızlı sonuç elde etmemiz mümkün. Bulk_extractor çalıştırıldıktan sonra bir tane çıktı dizini oluşturur ve bu dizin içinde aşağıdaki dosyalar oluşturulur.
- ccn.txt: Girdi dosyası içinde tespit edilen kredi kartı numaraları bu dosyaya yazılır.
- ccn_track2.txt: Girdi dosyası içinde tespit edilen kredi kartlarının “track 2″ bilgileri bu dosyaya yazılır.
- domain.txt: Girdi dosyası içinde tespit edilen domain isimleri bu dosyaya yazılır.
- email.txt: Girdi dosyasında tespit edilen elektronik posta adresleri bu dosyaya yazılır.
- ether.txt: Girdi dosyasında tespit edilen MAC adresleri bu dosyada yazılır.
- exif.txt: Girdi dosyası içinde yer alan resim ve video dosyalarının EXIF bilgileri bu dosyaya yazılır.
- find.txt: Kullanıcı tarafından özel olarak belirtilmiş reguler expression ifadeleri bu dosyaya yazılır.
- ip.txt: Girdi dosyasında tespit edilen IP adresleri bu dosyaya yazılır.
- telephone.txt: Girdi olarak belirtilen dosya içinde tespit ettiği telefon numaralarını bu dosyaya yazar.
- url.txt: Girdi dosyası içinde tespit edilen URL'ler bu dosyay yazılır.
- url_searches.txt: Girdi dosyası içinde yer alan ve genellikle internet üzerindei arama motorları üzerinde gerçekleştirilen aramalara ilişkin bulgular bu dosyaya yazılır.
- wordlist.txt: Girdi dosyası içinde tespit edilen bütün kelimeler bu dosyaya yazılır.
- wordlist_*.txt: Girdi dosyasından elde edilen kelimelerin, mükerrer kayıtlardan arındırılmış şekilde, şifre kırma saldırılarında kullanılmaya hazır bir formatta skalandığı dosyalardır.
- zip.txt: Girdi dosyasında yer alan ZIP dosyalarından elde edilen bilgilerin bulunduğu dosyadır.-
Bulk_extractor'un son sürümüne https://github.com/simsong/bulk_extractor adresinden ulaşabilirsiniz. Bulk_extractor'un temel kullanımı aşağıdaki şekilde gösterilmiştir.
1sansforensics@siftworkstation:~$ bulk_extractor 2 bulk_extractor version 1.4.0-beta5 3 Usage: bulk_extractor [options] imagefile4 runs bulk extractor and outputs to stdout a summary of what was found where5 Required parameters:6 imagefile – the file to extract7 or -R filedir – recurse through a directory of files HAS SUPPORT FOR E01 FILES8 -o outdir – specifies output directory. Must not exist. bulk_extractor creates this directory.Yukarıdaki bilgiler ışığında elimizdeki örnek bir disk imajı üzerinde bulk_extractor'u çalıştıralım ve sonuçlara hep birlikte bakalım.

Bu işlem sonrasında ilgili output dizininde aşağıdaki tabloda gösterildiği gibi dosyalar oluşturulur.
1sansforensics@siftworkstation:~/Desktop/Bulk_Extractor_Output$ ls -al2 total 133363 drwxrwxr-x 3 sansforensics sansforensics 4096 Jun 2 09:33 .4 drwxr-xr-x 4 sansforensics sansforensics 4096 Jun 2 09:30 ..5 -rw-rw-r– 1 sansforensics sansforensics 0 Jun 2 09:30 aes_keys.txt6 -rw-rw-r– 1 sansforensics sansforensics 0 Jun 2 09:30 alerts.txt7 -rw-rw-r– 1 sansforensics sansforensics 0 Jun 2 09:33 ccn_histogram.txt8 -rw-rw-r– 1 sansforensics sansforensics 0 Jun 2 09:33 ccn_track2_histogram.txt9 -rw-rw-r– 1 sansforensics sansforensics 0 Jun 2 09:30 ccn_track2.txt10 -rw-rw-r– 1 sansforensics sansforensics 0 Jun 2 09:30 ccn.txt11 -rw-rw-r– 1 sansforensics sansforensics 63893 Jun 2 09:33 domain_histogram.txt12 -rw-rw-r– 1 sansforensics sansforensics 1373958 Jun 2 09:33 domain.txt13 -rw-rw-r– 1 sansforensics sansforensics 10461567 Jun 2 09:33 elf.txt14 -rw-rw-r– 1 sansforensics sansforensics 92756 Jun 2 09:33 email_histogram.txt15 -rw-rw-r– 1 sansforensics sansforensics 1105892 Jun 2 09:33 email.txt16 -rw-rw-r– 1 sansforensics sansforensics 280 Jun 2 09:33 ether_histogram.txt17 -rw-rw-r– 1 sansforensics sansforensics 785 Jun 2 09:33 ether.txt18 -rw-rw-r– 1 sansforensics sansforensics 1758 Jun 2 09:32 exif.txt19 -rw-rw-r– 1 sansforensics sansforensics 0 Jun 2 09:33 find_histogram.txt20 -rw-rw-r– 1 sansforensics sansforensics 0 Jun 2 09:30 find.txt21 -rw-rw-r– 1 sansforensics sansforensics 0 Jun 2 09:30 gps.txt22 -rw-rw-r– 1 sansforensics sansforensics 0 Jun 2 09:30 hex.txt23 -rw-rw-r– 1 sansforensics sansforensics 0 Jun 2 09:33 ip_histogram.txt24 -rw-rw-r– 1 sansforensics sansforensics 0 Jun 2 09:30 ip.txt25 drwxrwxr-x 3 sansforensics sansforensics 4096 Jun 2 09:31 jpeg_carved26 -rw-rw-r– 1 sansforensics sansforensics 1604 Jun 2 09:31 jpeg_carved.txt27 -rw-rw-r– 1 sansforensics sansforensics 287 Jun 2 09:31 json.txt28 -rw-rw-r– 1 sansforensics sansforensics 0 Jun 2 09:30 kml.txt29 -rw-rw-r– 1 sansforensics sansforensics 0 Jun 2 09:30 rar.txt30 -rw-rw-r– 1 sansforensics sansforensics 13275 Jun 2 09:33 report.xml31 -rw-rw-r– 1 sansforensics sansforensics 86495 Jun 2 09:33 rfc822.txt32 -rw-rw-r– 1 sansforensics sansforensics 2247 Jun 2 09:33 telephone_histogram.txt33 -rw-rw-r– 1 sansforensics sansforensics 17202 Jun 2 09:33 telephone.txt34 -rw-rw-r– 1 sansforensics sansforensics 0 Jun 2 09:30 unrar_carved.txt35 -rw-rw-r– 1 sansforensics sansforensics 0 Jun 2 09:30 unzip_carved.txt36 -rw-rw-r– 1 sansforensics sansforensics 0 Jun 2 09:33 url_facebook-address.txt37 -rw-rw-r– 1 sansforensics sansforensics 0 Jun 2 09:33 url_facebook-id.txt38 -rw-rw-r– 1 sansforensics sansforensics 44718 Jun 2 09:33 url_histogram.txt39 -rw-rw-r– 1 sansforensics sansforensics 0 Jun 2 09:33 url_microsoft-live.txt40 -rw-rw-r– 1 sansforensics sansforensics 0 Jun 2 09:33 url_searches.txt41 -rw-rw-r– 1 sansforensics sansforensics 12174 Jun 2 09:33 url_services.txt42 -rw-rw-r– 1 sansforensics sansforensics 319718 Jun 2 09:33 url.txt43 -rw-rw-r– 1 sansforensics sansforensics 0 Jun 2 09:30 vcard.txt44 -rw-rw-r– 1 sansforensics sansforensics 2180 Jun 2 09:32 windirs.txt45 -rw-rw-r– 1 sansforensics sansforensics 0 Jun 2 09:30 winpe.txt46 -rw-rw-r– 1 sansforensics sansforensics 0 Jun 2 09:30 winprefetch.txt47 -rw-rw-r– 1 sansforensics sansforensics 0 Jun 2 09:30 zip.txtBu dosyaların içeriğine teker teker bakarak elde edilen bulgular üzerinden ilerleyebilirsiniz. Örneğin aşağıdaki ekran görüntüsünde ilgili imaj içinde tespit edilen elektronik postaların listesinin yer aldığı ether_histogram.txt dosyasının içeriği görülmektedir.

Yukarıda örneği görüldüğü gibi bulk_extractor'un çıktı dosyalarını teker teker konsol üzerinden görüntüleyebilir yada üzerlerinde işlem yapabilirsiniz. Bunun yanında bulk_extractor'un çıktılarını görüntülemek için kullanabileceğiniz bir viewer uygulamamız daha var. Bulk Extractor Viewer (BEViewer) olarak isimlendirilen bu uygulamayı SIFT Workstation içinde hazı yüklü halde bulabileceğiniz gibi https://github.com/simsong/bulk_extractor/wiki/BEViewer adresinden indirerek de kullanabilirsiniz. Uygulamayı çalıştırdığınızda karşınıza çıkan ekrandan Open Report seçeneğini tıklayarak açılan menüden bulk_extractor'un outpur dizininde yer alan report.xml dosyasını göstermeniz yeterli olacaktır. Bununla beraber aynı ekranda yer alan Image File kısmında da ilgili imaj dosyasını göstermemiz gerekiyor. Bunu göstermemizdeki temel sebep ilgili veri parçasının imaj içindeki lokasyonunun da viewer aracılığı ile görüntülenebilmesi. Aşağıda örnek bir ekran çıktısını görebilirsiniz.




