# [Forensic] Récupération de masterkey LUKS dans la ram

## Introduction

Cette page présente une méthode pour obtenir une clé de récupération d'une partition chiffrée LUKS (systèmes Linux) à partir de la RAM.

## Manuel

Tout d'abord utilisez aeskeyfind pour extraire toutes les clés AES 128 et 256 de l'image de la ram :

```bash
aeskeyfind 'Kali_5.18.0-kali5-amd64.dmp' > all-aes-keys.txt
```

<p class="callout info">Retirez les clés AES 128 bits car seules les clés AES 256 bits sont intéressantes (juxtaposition de deux clés 256 pour faire une clé 512 qui correspond à la taille d'une clé LUKS).</p>

Inversez le sens des clés :

```bash
tac 'all-aes-keys.txt' | tr -d "\n" | fold -w 128 > KEYS.txt
```

Mettez chaque combinaison de clés dans un fichier MK (MasterKey) :

```bash
k=1 ; while read i ; do echo $i | xxd -r -p > ./MK$k ; k=$(($k+1)); done < KEYS.txt
```

Testez chaque possible MasterKey sur la partition chiffrée :

```bash
for i in MK* ; do sudo cryptsetup luksAddKey --master-key-file=$i /dev/loop0p3 ; done
```

<p class="callout info">Vous pouvez **echo MK$i** pour afficher le fichier testé.</p>

Puis déverrouillez la partition :

```bash
sudo cryptsetup luksOpen /dev/loop0p3 BIM
```