Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog
quoideneuf1.over-blog.com

Linux: Une faille zéro-day découverte sur GRUB2 (patch dispo pour Ubuntu, RHEL)

16 Décembre 2015 , Rédigé par nicko Publié dans #informatique

Une faille zéro-day affecterait GRUB2, les versions touchées allant de 1.98 à 2.2.

Linux: Une faille zéro-day découverte sur GRUB2 (patch dispo pour Ubuntu, RHEL)

La vulnérabilité peut être exploitée dans certaines circonstances afin de permettre a des attaquants locaux de contourner tout type d'authentification (mot de passe simple ou hachés), donc, l'attaquant peut prendre le contrôle de l'ordinateur.

Grub2 est le chargeur de démarrage utilisée par la plupart des systèmes Linux, y compris certains systèmes embarqués. Cela se traduit par un nombre incalculable d'appareils touchés.

Comme le montre la photo, le chercheur est parvenu à exploiter cette vulnérabilité via Debian 7.5 sous Qemu obtenant un shell Grub de secours.

Êtes-vous vulnérable?

Pour vérifier rapidement si votre système est vulnérable, lorsque le Grub vous demande le nom d'utilisateur, appuyez sur la touche Retour arrière 28 fois. Si votre machine redémarre ou si vous obtenez un shell de secours alors votre Grub est affecté.

Impact

Un attaquant qui parviendrait à exploiter cette vulnérabilité obtiendrait un shell Grub de secours. le Grub de secours est un shell très puissant qui permet:

Élévation de privilèges: L'attaquant est authentifié sans avoir un identifiant valide, ni le mot de passe. L'attaquant a un accès complet à la console GRUB (grub secours).


La divulgation d'informations: L'attaquant peut charger un noyau personnalisé et initramfs (par exemple à partir d'un USB), puis à partir d'un environnement plus confortable, copie le disque complet ou installe un rootkit.


Déni de service: L'attaquant est capable de détruire toutes les données. Même dans le cas où le disque est chiffré l'attaquant peut l'écraser, provoquant un déni de service.

La vulnérabilité

Le défaut (bug) est dans le code de GRUB depuis la version 1.98 (Décembre 2009). La validation est b391bdb2f2c5ccf29da66cecdbfb7566656a704d, affectant la fonction grub_password_get ().

Il y a deux fonctions qui souffrent du même défaut. Le grub_username_get () et grub_password_get() situé dans grub-core/normal/auth.c et lib/crypto.c respectivement. Ces deux fonctions sont égales, sauf pour un appel à printf() dans le grub_username_get (). Le PoC décrit ici est uniquement basé sur l'exploitation du grub_username_get() pour l’obtention d'un shell Grub de sauvetage.

Ci-dessous la fonction vulnérable de grub_username_get():

Fonction grub_username_get() dans grub-core/normal/auth.c

Fonction grub_username_get() dans grub-core/normal/auth.c

Suite plus tard ou sur le lien ci-dessous

Article complet : hmarco/bugs/CVE-2015-8370

Partager cet article
Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article
C
baidu456 on September 08, 2011 8:51 am
Répondre