Authentification bypass from GRUB

Table des matières :


Rappels

Le GRUB est un programme s’exécutant dès lors de la mise sous tension de votre machine GNU/Linux, juste avant le lancement de votre système d’exploitation.

Grâce au GRUB, vous allez pouvoir sélectionner quel système d’exploitation/noyau sera chargé au démarrage. Vous avez aussi la possibilité de transmettre directement des informations au kernel qui va être démarré.

Le GRUB se situe en clear sur une partition annexe à celle contenant vos systèmes d’exploitation, ce qui signifie que dès lorsque votre système d’exploitation est chiffré, il n’y a aucun moyen d’accéder à celui-ci en local SAUF dans un cas de bruteforce

(J'exclue la possibilité de partir en laissant sa machine dévérouillée...)

Nous retrouvons ici l’importance de chiffrer ses espaces de stockage, ne pas le faire expose à une situation de vol/manipulation de données et/ou privilege escalation directement en local depuis la machine physique.

Tricks | Privesc from GRUB

Me voilà invitée chez un ami ! Il me dit utiliser GNU/Linux et se vente d’être safe. Il s’éloigne en prenant soin d’éteindre sa machine car il n’a pas confiance en moi, montrons lui qu’il est possible de faire pop un shell root en un instant puisque son disque dur n’est pas chiffré

Allumons sa machine !

grub default image

Nous atterisons sur son GRUB, n’appuyons pas sur entrer mais sur la touche "E" (fonction d’édition)

Descendons légerement jusqu’à trouver la ligne "linux /boot/vmlinuz[...] ro quiet"

grub default image

Don't be surprised: tu ne peux setxkbmap, tu devras te contenter de qwerty.

Ici, nous allons éditer le ro par rw à la place, ro signifie Read-Only et rw Read-Write. Cela permet de changer les privilèges de l’user afin de le laisser écrire et non seulement lire.

Nous allons ensuite ajouter init=/bin/bash à notre ligne: init est un paramètre de start-up kernel prenant n’importe quel executable/binaire en paramètre /bin/bash renvoi à votre shell bash contenu dans /bin/bash

Plus de documentation sur les paramètres kernel est disponible ici

grub default image

Appuyez sur F10, puis le tour est joué (ᵔᵕᵔ)/

Nous nous retrouvons sur un shell root avec la possibilité d’edit à souhait, c’est beau non ? :D

grub default image

Nous pouvons désormais classiquement modifier le mot de passe root avec passwd root.

Kernel panick | Comment l’éviter

Restez la, c’est pas fini !

Vous ne pouvez sortir de cet environnement classiquement, tentez un exit et la machine partira en kernel panick

grub default image

Ce que vous voyez, c’est un screen d’un kernel panick que j’ai pu expérimenter sur ma propre machine il y a quelques temps après avoir réaliser un changement init kernel

Le moyen le plus propre et safe de sortir d’ici afin de reboot est d’utiliser poweroff -f.

Merci pour la lecture c: