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 !
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"
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
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
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
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: