.. | ||
file-data-carving-recovery-tools.md | ||
README.md |
Bölümler/Dosya Sistemleri/Kazıma
AWS hackleme konusunda sıfırdan kahraman olmaya kadar öğrenin htARTE (HackTricks AWS Red Team Expert) ile!
HackTricks'ı desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamını görmek istiyorsanız veya HackTricks'i PDF olarak indirmek istiyorsanız [ABONELİK PLANLARI]'na(https://github.com/sponsors/carlospolop) göz atın!
- Resmi PEASS & HackTricks ürünlerini edinin
- [The PEASS Family]'yi(https://opensea.io/collection/the-peass-family) keşfedin, özel [NFT'lerimiz]'i(https://opensea.io/collection/the-peass-family) içeren koleksiyonumuz
- Katılın 💬 Discord grubuna veya telegram grubuna veya bizi Twitter 🐦 @hacktricks_live** takip edin.**
- Hacking püf noktalarınızı paylaşarak HackTricks ve HackTricks Cloud github depolarına PR göndererek.
Bölümler
Bir sabit disk veya SSD diski farklı bölümler içerebilir ve verileri fiziksel olarak ayırmayı amaçlar.
Diskin minimum birimi sektördür (genellikle 512B'den oluşur). Bu nedenle, her bölüm boyutu bu boyutun katı olmalıdır.
MBR (master Boot Record)
Bu, diskteki ilk sektörde, önyükleme kodunun 446B'sinden sonra ayrılan alandır. Bu sektör, PC'ye bir bölümün ne olduğunu ve nereden bağlanması gerektiğini göstermek için gereklidir.
4 bölüme kadar izin verir (en fazla yalnızca 1 aktif/önyüklenebilir olabilir). Ancak, daha fazla bölüme ihtiyacınız varsa genişletilmiş bölümleri kullanabilirsiniz. Bu ilk sektörün son baytı, önyükleme kaydı imzası 0x55AA'dır. Yalnızca bir bölüm işaretlenebilir.
MBR, maksimum 2.2TB'ye izin verir.
MBR'nin 440 ile 443 baytı arasında Windows Disk İmzası bulunabilir (Windows kullanılıyorsa). Sabit diskin mantıksal sürücü harfi, Windows Disk İmzasına bağlıdır. Bu imzanın değiştirilmesi, Windows'un önyükleme yapmasını engelleyebilir (araç: Active Disk Editor).
Biçim
Offset | Uzunluk | Öğe |
---|---|---|
0 (0x00) | 446(0x1BE) | Önyükleme kodu |
446 (0x1BE) | 16 (0x10) | İlk Bölüm |
462 (0x1CE) | 16 (0x10) | İkinci Bölüm |
478 (0x1DE) | 16 (0x10) | Üçüncü Bölüm |
494 (0x1EE) | 16 (0x10) | Dördüncü Bölüm |
510 (0x1FE) | 2 (0x2) | İmza 0x55 0xAA |
Bölüm Kaydı Biçimi
Offset | Uzunluk | Öğe |
---|---|---|
0 (0x00) | 1 (0x01) | Aktif bayrak (0x80 = önyüklenebilir) |
1 (0x01) | 1 (0x01) | Başlangıç başlık |
2 (0x02) | 1 (0x01) | Başlangıç sektörü (bitler 0-5); silindirin üst bitleri (6- 7) |
3 (0x03) | 1 (0x01) | En düşük 8 bit başlangıç silindiri |
4 (0x04) | 1 (0x01) | Bölüm türü kodu (0x83 = Linux) |
5 (0x05) | 1 (0x01) | Bitiş başlık |
6 (0x06) | 1 (0x01) | Bitiş sektörü (bitler 0-5); silindirin üst bitleri (6- 7) |
7 (0x07) | 1 (0x01) | En düşük 8 bit bitiş silindiri |
8 (0x08) | 4 (0x04) | Bölümden önceki sektörler (little endian) |
12 (0x0C) | 4 (0x04) | Bölümdeki sektörler |
Bir MBR'yi Linux'ta bağlamak için önce başlangıç ofsetini almanız gerekir (fdisk
ve p
komutunu kullanabilirsiniz)
Ve ardından aşağıdaki kodu kullanın
#Mount MBR in Linux
mount -o ro,loop,offset=<Bytes>
#63x512 = 32256Bytes
mount -o ro,loop,offset=32256,noatime /path/to/image.dd /media/part/
LBA (Mantıksal blok adresleme)
Mantıksal blok adresleme (LBA), genellikle sabit disk sürücüleri gibi bilgisayar depolama cihazlarında depolanan veri bloklarının konumunu belirlemek için kullanılan yaygın bir şemadır. LBA, özellikle basit bir lineer adresleme şemasıdır; bloklar bir tamsayı dizini ile belirlenir, ilk blok LBA 0, ikinci blok LBA 1 ve böyle devam eder.
GPT (GUID Bölüm Tablosu)
GUID Bölüm Tablosu olarak bilinen GPT, MBR (Ana Önyükleme Kaydı) ile karşılaştırıldığında gelişmiş yetenekleri nedeniyle tercih edilir. Bölümler için benzersiz bir tanımlayıcıya sahip olan GPT, birkaç açıdan öne çıkar:
- Konum ve Boyut: Hem GPT hem de MBR 0. sektörde başlar. Ancak, GPT, MBR'nin 32 bitine karşılık 64 bit üzerinde çalışır.
- Bölüm Sınırları: GPT, Windows sistemlerinde 128 bölümü destekler ve 9.4ZB veriye kadar olan kapasiteye sahiptir.
- Bölüm Adları: Bölmeleri 36 Unicode karaktere kadar adlandırma olanağı sunar.
Veri Dayanıklılığı ve Kurtarma:
- Yedeklilik: MBR'nin aksine, GPT bölümlendirme ve önyükleme verilerini tek bir yerde sınırlamaz. Bu verileri diskin üzerinde çoğaltarak veri bütünlüğünü ve dayanıklılığını artırır.
- Döngüsel Redundans Kontrolü (CRC): GPT, veri bütünlüğünü sağlamak için CRC'yi kullanır. Veri bozulması için aktif olarak izleme yapar ve tespit edildiğinde, GPT bozulmuş veriyi başka bir disk konumundan kurtarmaya çalışır.
Koruyucu MBR (LBA0):
- GPT, koruyucu bir MBR aracılığıyla geriye dönük uyumluluğu korur. Bu özellik, eski MBR tabanlı yardımcı programların yanlışlıkla GPT disklerini üzerine yazmasını önlemek amacıyla eski MBR alanında bulunur, böylece GPT biçimli disklerde veri bütünlüğünü korur.
Karma MBR (LBA 0 + GPT)
BIOS hizmetleri aracılığıyla GPT tabanlı önyüklemeyi destekleyen işletim sistemlerinde, ilk sektör hala önyükleme yükleyicisi kodunun ilk aşamasını depolamak için kullanılabilir, ancak bu kodun GPT bölümlerini tanımak üzere değiştirilmesi gerekir. MBR'deki önyükleme yükleyicisi, 512 baytlik bir sektör boyutunu varsaymamalıdır.
Bölüm tablosu başlığı (LBA 1)
Bölüm tablosu başlığı disktaki kullanılabilir blokları tanımlar. Ayrıca, bölüm tablosunu oluşturan bölüm girişlerinin sayısını ve boyutunu tanımlar (tablodaki 80 ve 84 ofsetler).
Bölüm girişleri (LBA 2–33)
GUID bölüm girişi formatı | ||
---|---|---|
Ofset | Uzunluk | İçerik |
0 (0x00) | 16 bayt | Bölüm türü GUID'si (karışık endian) |
16 (0x10) | 16 bayt | Benzersiz bölüm GUID'i (karışık endian) |
32 (0x20) | 8 bayt | İlk LBA (küçük endian) |
40 (0x28) | 8 bayt | Son LBA (dahil, genellikle tek sayı) |
48 (0x30) | 8 bayt | Öznitelik bayrakları (örneğin, 60. bit salt okunur olarak işaretlenmiştir) |
56 (0x38) | 72 bayt | Bölüm adı (36 UTF-16LE kod birimleri) |
Bölüm Türleri
Daha fazla bölüm türü için https://en.wikipedia.org/wiki/GUID_Partition_Table
İnceleme
ArsenalImageMounter ile dijital delil imajını bağladıktan sonra, Windows aracı Active Disk Editor'ı kullanarak ilk sektörü inceleyebilirsiniz. Aşağıdaki görüntüde MBR'nin sektör 0'da tespit edildiği ve yorumlandığı görülmektedir:
Eğer bir MBR yerine bir GPT tablosu olsaydı, sektör 1'de EFI PART imzasının görünmesi gerekmektedir (önceki görüntüde boş olduğu için).
Dosya Sistemleri
Windows dosya sistemleri listesi
- FAT12/16: MSDOS, WIN95/98/NT/200
- FAT32: 95/2000/XP/2003/VISTA/7/8/10
- ExFAT: 2008/2012/2016/VISTA/7/8/10
- NTFS: XP/2003/2008/2012/VISTA/7/8/10
- ReFS: 2012/2016
FAT
FAT (Dosya Tahsis Tablosu) dosya sistemi, çekirdek bileşeni olan dosya tahsis tablosu etrafında tasarlanmıştır ve genellikle birim başlangıcında konumlandırılır. Bu sistem, verileri koruyarak tablonun iki kopyasını koruyarak, biri bozulsa bile veri bütünlüğünü sağlar. Tablo, kök klasörle birlikte, sistemin başlatma işlemi için sabit bir konumda olmalıdır.
Dosya sisteminin temel depolama birimi genellikle 512B olan bir kümedir ve birden fazla sektörü içerir. FAT, şu sürümler aracılığıyla evrim geçirmiştir:
- FAT12, 12 bitlik küme adreslerini destekleyerek UNIX ile birlikte 4078 küme (UNIX ile birlikte 4084) işleyebilir.
- FAT16, 16 bitlik adreslere yükselerek, 65,517 kümelik bir kapasiteye sahip olabilir.
- FAT32, 32 bitlik adreslerle daha da ileri giderek, hacim başına etkileyici 268,435,456 küme sağlar.
FAT sürümleri arasındaki önemli bir kısıtlama, dosya boyutu depolama için kullanılan 32 bitlik alan tarafından uygulanan 4GB maksimum dosya boyutudur.
Özellikle FAT12 ve FAT16 için kök dizininin ana bileşenleri şunlardır:
- Dosya/Klasör Adı (en fazla 8 karakter)
- Öznitelikler
- Oluşturma, Değiştirme ve Son Erişim Tarihleri
- FAT Tablo Adresi (dosyanın başlangıç kümesini belirten)
- Dosya Boyutu
EXT
Ext2, gazetecilik yapmayan bölümler için (pek fazla değişmeyen bölümler) en yaygın dosya sistemidir, örneğin önyükleme bölümü gibi. Ext3/4 ise gazetecilik yapan ve genellikle geri kalan bölümler için kullanılır.
Meta Veri
Bazı dosyalar meta veri içerir. Bu bilgi, dosyanın içeriği hakkında olabilir ve bazen dosya türüne bağlı olarak bir analist için ilginç olabilir:
- Başlık
- Kullanılan MS Office Sürümü
- Yazar
- Oluşturma ve Son Değiştirme Tarihleri
- Kamera modeli
- GPS koordinatları
- Görüntü bilgileri
Bir dosyanın meta verilerini almak için exiftool ve Metadiver gibi araçları kullanabilirsiniz.
Silinmiş Dosyaların Kurtarılması
Kaydedilen Silinmiş Dosyalar
Daha önce görüldüğü gibi, bir dosya "silindiğinde" genellikle dosya sisteminde hala saklanan birkaç yer vardır. Bu genellikle bir dosyanın dosya sistemi üzerinden silinmesiyle sadece silindiğini işaretler, ancak veriye dokunmaz. Sonra, dosyaların kayıtlarını incelemek ve silinmiş dosyaları bulmak mümkündür (örneğin MFT gibi).
Ayrıca, işletim sistemi genellikle dosya sistemi değişiklikleri ve yedeklemeler hakkında birçok bilgi kaydeder, bu nedenle dosyayı veya mümkün olduğunca çok bilgiyi kurtarmak için bunları kullanmaya çalışmak mümkündür.
{% content-ref url="file-data-carving-recovery-tools.md" %} file-data-carving-recovery-tools.md {% endcontent-ref %}
Dosya Oyma
Dosya oyma, veri yığınında dosyaları bulmaya çalışan bir tekniktir. Bu tür araçların çalışma şekli genellikle 3 ana yoldan oluşur: Dosya türü başlıklarına ve altbilgilerine dayalı, dosya türlerine yapılarına dayalı ve içeriğe dayalı.
Bu teknik, parçalanmış dosyaları kurtarmak için çalışmaz. Bir dosya ardışık sektörlerde depolanmıyorsa, bu teknik onu veya en azından bir kısmını bulamaz.
Aramak istediğiniz dosya türlerini belirten dosya Oyma için kullanabileceğiniz birkaç araç vardır.
{% content-ref url="file-data-carving-recovery-tools.md" %} file-data-carving-recovery-tools.md {% endcontent-ref %}
Veri Akışı Oyma
Veri Akışı Oyma, tam dosyaları aramak yerine, ilginç bilgi parçalarını arayan bir tekniktir.
Örneğin, kaydedilmiş URL'leri içeren tam bir dosya aramak yerine, bu teknik URL'leri arayacaktır.
{% content-ref url="file-data-carving-recovery-tools.md" %} file-data-carving-recovery-tools.md {% endcontent-ref %}
Güvenli Silme
Açıkçası, dosyaları "güvenli bir şekilde" silmenin ve onlarla ilgili kayıtların bir kısmını silmenin yolları vardır. Örneğin, bir dosyanın içeriğini birkaç kez gereksiz veriyle üzerine yazmak ve ardından dosya hakkındaki $MFT ve $LOGFILE kayıtlarını ve Hacim Gölge Kopyalarını kaldırmak mümkündür.
Bu işlemi gerçekleştirmenize rağmen dosyanın varlığının hala kaydedildiği diğer yerler olabileceğini fark edebilirsiniz ve bu, adli bilişim uzmanının işinin bir parçasıdır.
Referanslar
- https://en.wikipedia.org/wiki/GUID_Partition_Table
- http://ntfs.com/ntfs-permissions.htm
- https://www.osforensics.com/faqs-and-tutorials/how-to-scan-ntfs-i30-entries-deleted-files.html
- https://docs.microsoft.com/en-us/windows-server/storage/file-server/volume-shadow-copy-service
- iHackLabs Sertifikalı Dijital Adli Bilişim Windows