!!! ACHTUNG - evtl. veraltet - ACHTUNG !!!
Diese Seite wurde zuletzt am 9. Juli 2014 um 10:48 Uhr geändert.
Voraussetzungen:
Wie bekomme ich mehr Informationen über die „unallocated area“?
user@debian:~$ sudo cfdisk -P s /dev/sdc Partition Table for /dev/sdc First Last # Type Sector Sector Offset Length Filesystem Type (ID) Flag -- ------- ----------- ----------- ------ ----------- -------------------- ---- 1 Primary 0 1760551 62 1760552 HPFS/NTFS (07) None Pri/Log 1760552 1956595 0 196044 Free Space None
Im Falle einer HPA würde man sich „disk_stat“ aus Sleuthkit bedienen.
Zum einfachen Mounten habe ich mir ein kleines Shell-Skript (mymount in /usr/local/bin) geschrieben:
#!/bin/bash if [[|! -f /etc/debian_version ]] ; then echo -e "\nsorry, this script was written for debian gnu/linux-systems!\n" ; exit ; fi if [[|$# -ne 2 ]] ; then echo -e "\nusage: $0 <device> <mountpoint>\n" ; exit ; fi if [[|! $( echo $1 | grep "^/dev/" ) ]] ; then echo -e "\n<device> is not in /dev!\n" ; exit ; fi if [[|! -w $( dirname $2 ) ]] ; then echo -e "\nyou need write permisson to the parent directory of the <mountpoint>!\n" ; exit ; fi DEVICE=$1 MOUNTPOINT=$2 OFFSET=$(( 1800000 * 512 )) SIZE=$(( 100000 * 512 )) dpkg -l | grep loop-aes-utils > /dev/null if [[|$? -ne 0 ]] ; then sudo aptitude install loop-aes-utils -y; fi LOOPDEV=$( sudo losetup -f ) sudo losetup -o $OFFSET -s $SIZE $LOOPDEV $DEVICE mkdir $MOUNTPOINT sudo mount $LOOPDEV $MOUNTPOINT
Wendet man das ganze auf einen anderen USB-Stick an, so sind OFFSET und SIZE entsprechend anzupassen (ja, in meinem Fall wären noch präzisere Werte möglich gewesen, aber die kann ich mir immer so schwer merken )!
Zum einfachen Mounten habe ich mir ein kleines Shell-Skript (myumount in /usr/local/bin) geschrieben:
#!/bin/bash if [[|! -f /etc/debian_version ]] ; then echo -e "\nsorry, this script was written for debian gnu/linux-systems!\n" ; exit ; fi if [[|$# -ne 1 ]] ; then echo -e "\nusage: $0 <mountpoint>\n" ; exit ; fi if [[|! -d $1 ]] ; then echo -e "\nthe given mountpoint is not a directory!\n" ; exit ; fi MOUNTPOINT=$1 if [[|! "$( grep $MOUNTPOINT <( mount ) )" ]] ; then echo -e "\nnothing is mounted to given mountpoint!\n" ; exit ; fi if [[|! "$( grep $MOUNTPOINT <( mount ) | grep /dev/loop )" ]] ; then echo -e "\nthere is no loopback-device like /dev/loop0 mounted to the mountmount!\n" ; exit fi LOOPDEV=$( grep $MOUNTPOINT <( mount ) | awk '{ print $1; }' ) echo -e -n "\ndelete mountpoint after unmounting? (y for yes... everything else for no): " read DELETE if [[|"$DELETE" = "y" -a ! -w $( dirname $MOUNTPOINT ) ]] ; then echo -e "\nyou need write permisson to the parent directory of the <mountpoint>!\n" ; exit fi sudo umount $LOOPDEV if [[|"$DELETE" = "y" ]] ; then rmdir $MOUNTPOINT ; fi sudo losetup -d $LOOPDEV echo
… nun sollten (bei eingabe eines „y“) alle „Spuren“ wieder etwas verwischt worden sein!?
Debian-Pakete installieren:
linux:~# aptitude install loop-aes-modules-2.6.18-6-686 loop-aes-utils
Das Standard-loop-Kernel-Modul entladen und anschließend das loop-aes-Kernel-Modul laden:
linux:~# modprobe -v -r loop linux:~# modprobe loop-aes
Hinweis:
Das loop-aes-Kernel-Modul kann u. U. Probleme mit gängigen und durchaus öfter benutzten Linuxbefehlen verursachen! Das ist u. a. der Grund, weshalb ich bei mir nicht zum Einsatz kommt.
Unverschlüsseltes virtuelles Gerät über loop-aes initiieren:
linux:~# losetup -e AES256 /dev/loop0 /dev/sda1
Ein Dateisystem nach Wahl im entschlüsselten, virtuellen Gerät erstellen:
linux:~# mkfs.xfs /dev/loop0
entschlüsseltes Gerät einbinden:
linux:~# mkdir /mnt/la_decrypted linux:~# mount /dev/loop0 /mnt/la_decrypted
… … Daten im Verzeichnis /mnt/la_decrypted erstellen…
entschlüsseltes Gerät trennen:
linux:~# umount /mnt/la_decrypted linux:~# losetup -d /dev/loop0
…