**!!! ACHTUNG - evtl. veraltet - ACHTUNG !!!**
Diese Seite wurde zuletzt am 9. Juli 2014 um 10:48 Uhr geändert.
===== unallocated area / HPA und loop-aes =====
Voraussetzungen:
* 1GB großer USB-Stick
* nach dem Einstecken ist der USB-Stick (in meinem beispiel) durch "/dev/sdc" verfügbar
* primäre NTFS-Partition (ID = 7) ab "0" mit einer Größe von "+900M" (auch per "mkfs.ntfs" als solche formatiert)
* per "losetup" aus den "loop-aes-utils" wurde ein entsprechender bereich (im meinem beispiel ab 921600000 für eine länge von 51200000) nach "/dev/loop0" gemoutet
* und schließlich mit "mkfs.xfs" formatiert
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 \n" ; exit ; fi
if [[|! $( echo $1 | grep "^/dev/" ) ]] ; then echo -e "\n is not in /dev!\n" ; exit ; fi
if [[|! -w $( dirname $2 ) ]] ; then echo -e "\nyou need write permisson to the parent directory of the !\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 \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 !\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!?
===== Installation (von Verschlüsselung) =====
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
===== Identifizierung =====
...