Installation de libfvde
libfvde (pour Library FileVault Drive Encryption) est une collection d'outils permettant l'accès aux volumes chiffrés FileVault.
$ git clone https://github.com/libyal/libfvde.git --depth=1
$ cd libfvde
$ ./synclibs.sh
$ ./autogen.sh
# Installer le paquet de développement pour FUSE
# "fuse-devel" pour les systèmes basés sur Red-Hat
$ sudo aptitude install libfuse-dev
$ ./configure
$ make -j 4
$ sudo make install
$ sudo ldconfig
Installation du Sleuth Kit
Le Sleuth Kit est une collection d'outils pour faire de l'analyse forensics de disque. Nous en aurons besoin pour déterminer certaines informations relatives au volume chiffré.
$ git clone https://github.com/sleuthkit/sleuthkit.git --depth=1
$ cd sleuthkit
$ ./bootstrap
$ ./configure
$ make -j 4
$ sudo make install
Trouver la clef Apple
Les opérations suivantes se feront directement sur le disque, reconnu par le système en tant que /dev/sdh, mais elles seront les mêmes pour une image complète du disque (nommée sdh.dd).
$ mmls /dev/sdh
GUID Partition Table (EFI)
Offset Sector: 0
Units are in 512-byte sectors
Slot Start End Length Description
000: Meta 0000000000 0000000000 0000000001 Safety Table
001: ------- 0000000000 0000000039 0000000040 Unallocated
002: Meta 0000000001 0000000001 0000000001 GPT Header
003: Meta 0000000002 0000000033 0000000032 Partition Table
004: 000 0000000040 0000409639 0000409600 EFI system partition
005: 001 0000409640 0975503591 0975093952 Macintosh HD
006: 002 0975503592 0976773127 0001269536 Recovery HD
007: ------- 0976773128 0976773167 0000000040 Unallocated
$ fls -r -o 975503592 /dev/sdh | grep -i EncryptedRoot
+++++ r/r 4105: EncryptedRoot.plist.wipekey
$ icat -o 975503592 /dev/sdh 4105 > EncryptedRoot.plist.wipekey
Monter le volume chiffré
Créer les bons dossiers :
$ mkdir /mnt/fvdevolume /mnt/sdh
Pour monter un disque physique :
$ fvdemount -p "<PASSWORD>" -e EncryptedRoot.plist.wipekey /dev/sdh2 /mnt/fvdevolume/
Pour monter une image de disque complète, il nous faut récupérer l'offset de la partition désirée, ici sous le nom Stockage d'Apple Core :
$ fdisk -l sdh.dd
Disque sdh.dd : 465,8 GiB, 500107862016 octets, 976773168 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : gpt
Identifiant de disque : 00007DAD-79C6-0000-6E06-00004F130000
Périphérique Début Fin Secteurs Taille Type
sdh.dd1 40 409639 409600 200M Système EFI
sdh.dd2 409640 975503591 975093952 465G Stockage d'Apple Core
sdh.dd3 975503592 976773127 1269536 619,9M Amorçage Apple
$ fvdemount -p "<PASSWORD>" -e EncryptedRoot.plist.wipekey -o $((512 * 409640)) sdh.dd /mnt/fvdevolume
Monter le volume déchiffré
$ mount -t hfsplus -o force,ro /mnt/fvdevolume/fvde1 /mnt/sdh