Scalpel ile Data Recovery
Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MY3zUyv6' (Errcode: 28 - No space left on device) in /usr/share/nginx/html/syslogs/wp-includes/class-wpdb.php on line 2349
Scalpel, sistemden şu ya da bu nedenle silinmiş dosyaların kurtarılması ve forensic amaçlı analizler ile ilgili olarak kullanılabilecek güzel araçlardan birisidir. Küçük ve süratli olması ve ayrıca platform bağımsız çalışmasından (ext2/3, Ntfs, Fat) ötürü tercih edilebilir. Scalpel, dosyaların header ve footer tanımlamalarına bir database'den bakar ve herhangi bir disk imaj dosyası ya da raw disk partisyonundan karşılaştırma yaparak recovery işlemini gerçekleştirir. |
Hemen tüm *nix dağıtımlarının paket depolarında bulunduğundan dolayı kurulumu oldukça basittir. Bu yazıda bir debian lenny üzerinde scalpel kurulumu ve kullanımına ait notları bulabilirsiniz.
Kurulum
debian üzerinde kurulum için herzamanki gibi apt-get aracını kullanabilirsiniz:
# apt-get install scalpel
RHEL tabanlı bir dağıtım kullanıyorsanız, yum kullanarak kurulumu yapabilirsiniz.
Kullanım
Scalpel, recover edilebilecek tüm dosya tiplerinin header ve footer bilgilerinin tanımlandığı /etc/scalpel/scalpel.conf isimli bir yapılandırma dosyası ile birlikte gelmektedir. Aynı dosya içerisinde maksimum dosya ebatı, header ve footer bilgilerinin case sensitive olup olmayacağı gibi bilgiler set edilmiştir. Örnek olarak gif ve jpg dosyalara ait satırlar şu şekilde görünmektedir.
# GIF and JPG files (very common) # gif y 5000000 \x47\x49\x46\x38\x37\x61 \x00\x3b # gif y 5000000 \x47\x49\x46\x38\x39\x61 \x00\x3b # jpg y 200000000 \xff\xd8\xff\xe0\x00\x10 \xff\xd9
Görüldüğü gibi ilk başta dosya uzantısı belirtilmiştir, y harfi header ve footer'ın case sensitive olduğunu, recover edilecek dosyaların maksimum ebatlarının (gif için 5000000 bytes ve jpg için 200000000 bytes) olacağı belirtilmiştir. En sonda ise header ve footer bilgileri görünmektedir.
Ayrıca, dikkat ettiğiniz gibi scalpel.conf dosyası içerisinde bulunan tüm tanımlamalar (#) ile comment edilmiştir. Dolayısı ile recovery işlemine başlamadan önce recover etmek istediğiniz dosya tiplerine ait tanım satırlarının başındaki (#) diyez'i kaldırarak uncomment-out etmeniz gerekir.
Yapılandırma dosyasını kendinize göre düzenledikten sonra recovery işlemini başlatabilirsiniz. Örnek olarak kullandığım debian'ın sistemin home partisyonunda recovery yapmak için komut şu şekilde:
# scalpel /dev/mapper/debvm-home -o /output
Bu komut ile data recovery işlemi home dizini için yapılacak ve kurtarılan dosyalar /output isimli dizine atılacaktır. Aynı dizinde bir de audit.txt isimli log dosyası bulunacaktır.
Dizinin içeriği şöyle görüntülenecektir.
debvm:/# ls -l output/ total 2 1 root root 1003 2009-12-01 12:46 audit.txt 2 root root 1024 2009-12-01 12:46 gif-1-0
gif-1-0 isimli dizin içerisinde recover edilen dosyalar bulunmaktadır.
Sadece belli bir disk bölümü yerine tüm diskte tarama yapmak için ise, disk'in adını belirtmeniz de mümkün. Örnek olarak benim diskimin adı sda altı ve komutu şu şekilde kullanıyorum:
# scalpel /dev/sda -o /output1
Disk bölümleri ile ilgili detaylı bilgiyi mount, df vs gibi komutlardan ya da /proc/partitions dizininden alabilirsiniz.
Kaynak:
http://www.digitalforensicssolutions.com/Scalpel/
Bu yazılar da ilginizi çekebilir:
- iotop İle Disk Aktivitesini Görüntülemek | I/O Monitoring
- Linux Sistemlerde RAM Disk Oluşturulması
- LVM Yapısından bir Logical Volume’ü Çıkartmak
- Dstat ile Efektif Sistem Monitoring
- Daily Security Cron Job ve Disk I/O Yoğunluğu.
Yorumlar
Trackbacks
Yorumda bulunun.
Merhabalar
Çağrı hocam elinize sağlık. Faydalı bir döküman olmuş. Bu duruma alternatif olarak, aktif olarak kullandığım bir yazılım TestDisk’i önerebilirim. Ubuntu tarafında “apt-get install testdisk” ile kurulumu gerçekleştirebilir, deneme@testdisk#testdisk komutu ile çalıştırılabilir.
Tekrardan elinize sağlık. İyi çalışmalar.
[Cevapla]