GRUB (Grand Unified Bootloader) est le chargeur de démarrage de la plupart des systèmes Linux. Si GRUB n’est pas protégé par un mot de passe, un attaquant ayant accès physique à la machine peut compromettre le système entier.

Pourquoi c’est dangereux§

Si quelqu’un peut modifier les options de démarrage GRUB, il peut :

Types d’attaques courantes§

1. Mode recovery / single user§

En appuyant sur e dans GRUB au démarrage, on peut éditer la ligne de commande du kernel.

Ajouter init=/bin/bash ou single à la fin de la ligne kernel → accès root sans authentification.

# Ce qu'on modifie dans la ligne kernel :
linux /boot/vmlinuz-... root=/dev/sda1 ro quiet splash
# Devient :
linux /boot/vmlinuz-... root=/dev/sda1 rw init=/bin/bash

2. Live USB / CD§

Démarrer sur un système externe pour monter le disque et accéder à tous les fichiers.

3. Modification de GRUB lui-même§

Si le bootloader n’est pas protégé, on peut le remplacer par une version malveillante (bootkits).

Protection§

Mettre un mot de passe sur GRUB§

# Générer un hash du mot de passe
grub-mkpasswd-pbkdf2

# Ajouter dans /etc/grub.d/40_custom :
set superusers="admin"
password_pbkdf2 admin <hash_généré>

# Régénérer GRUB
update-grub

Autres mesures§

Contexte§

Cette attaque nécessite un accès physique à la machine. Elle est donc surtout pertinente pour :

Sur les systèmes cloud, l’hyperviseur protège généralement le bootloader.