/ securité

DynoRoot, une histoire de chapeau rouge

Deuxième article de vulgarisation au sujet d'une brèche de sécurité. Cette fois, il s'agit de DynoRoot, référencé sous le code CVE-2018-1111.

DynoRoot est une faille de sécurité permettant d'injecter du shell à travers le client DHCP embarqué sur Red Hat, plus précisément son package NetworkManager.

J'ai deux secondes, explique-moi tout en quelques lignes

Il s'agit d'une faille très restreinte dans son impact, qui a été divulguée de manière responsable, alors que les systèmes étaient déjà patchés ou patchables. Cette faille n'a donc probablement pas encore été exploitée.
Une simple mise à jour RHEL et tout va bien !

Glossaire

DHCP

DHCP est un protocole client/serveur permettant de configurer le réseau d'une machine de manière automatique quand elle s'y connecte. C'est ce que vous utilisez probablement chez vous, au bureau, sur votre téléphone mobile...
Pour résumer son fonctionnement, quand une interface réseau (wifi, ethernet, autre) se connecte à un réseau, le client s'annonce, et un serveur lui envoie les paramètres à appliquer à sa machine.

Red Hat

Red hat est une société américaine fournissant une distribution linux éponyme. Cette distribution également appelée RHEL (Red Hat Entreprise Linux) n'est pas gratuite contrairement à Fedora, une autre distribution maintenue par la même société.

Une distribution linux c'est basiquement un système d'exploitation complet, composé d'un ensemble de logiciels fourni avec un noyau linux permettant d'assurer le fonctionnement de base d'un ordinateur. Certaines distributions linux sont destinées à des ordinateurs de bureau, d'autres à des serveurs, certaines autres à des ordinateurs peu puissants, etc...

Shell

Shell est un interpréteur de commandes. C'est à dire que l'utilisateur va taper des commandes pour utiliser des logiciels de l'ordinateur. Un interpréteur de commandes embarque souvent des fonctions de programmation simple permettant de faciliter et automatiser certaines actions, pour pouvoir entre autre les combiner, par exemple pour lancer une commande plusieurs fois, vérifier qu'elle a bien été exécutée, etc...

Cela rapproche Shell d'un langage de programmation, on peut ainsi créer des scripts qui vont s'exécuter dans Shell pour lancer une suite d'actions sur une machine linux.

Histoire de cette problématique de sécurité

Cette faille aurait été découverte par Felix Wilhelm (Département sécurité de Google) en Mai 2018 (Il est mentionné la date du 1er mai, mais seule la date du 15 Mai, date de publication, semble officielle). Elle a été publiée après qu'un correctif ait été apporté par Red Hat.

Théorie d'exploitation de cette faille

Un client DHCP utilisant NetworkManager par défaut, d'un RHEL 6 ou 7 et étant sur un réseau adjacent peut être attaqué pour exécuter, en root (avec la totalité des droits d'administration), des commandes shell. Ce qui permet ni plus ni moins de prendre le contrôle total de la machine attaquée.

L'attaque peut tenir en un tweet, elle consiste en la création d'un serveur DHCP qui va répondre aux clients essayant de récupérer une adresse IP en injectant dans la réponse du code shell qui sera exécuté sur la machine cible.

Comment se prémunir

La faille a été corrigée, il suffit de maintenir son système à jour.
Il est également conseillé d'isoler le réseau, afin de limiter les vecteurs d'intrusion.

Liens