IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Microsoft découvre une faille dans Linux qui donne l'accès à la racine des ordinateurs,
Les vulnérabilités d'élévation de privilèges peuvent être utilisées pour obtenir un accès permanent

Le , par Bruno

56PARTAGES

16  1 
Des vulnérabilités récemment découvertes par Microsoft permettent aux personnes ayant une emprise sur de nombreux systèmes de bureau Linux d'obtenir rapidement les droits du système racine. Il s'agit de la dernière faille d'élévation de privilèges mise en évidence dans le système d'exploitation open source. Pour certains informaticiens, cette histoire démontre qu'il n'y a rien dans Linux qui le rende intrinsèquement plus fialble que Windows

« Microsoft emploie certains des meilleurs chercheurs en sécurité au monde, découvre et corrige régulièrement des vulnérabilités importantes, souvent avant qu'elles ne soient utilisées dans les écosystèmes. Ce que cette découverte démontre en fait, c'est ce que toute personne ayant la moitié d'un indice savait déjà : il n'y a rien dans Linux qui le rende intrinsèquement plus fiable que Windows », déclare un internaute.


« Je peux garantir qu'une grande partie des ingénieurs logiciels, chez Microsoft, travaillent sous Linux. Microsoft a un sous-système Linux intégré dans Windows maintenant. Microsoft possède Github, et Azure, qui utilisent tous deux Linux comme standard pour la majorité de leurs offres. Il y a de nombreuses raisons pour lesquelles ils consacreraient du temps et de la main d'œuvre à la recherche de tout problème potentiel dans Linux »

Les systèmes d'exploitation ayant été renforcés pour résister aux compromissions ces dernières années, les vulnérabilités d'élévation de privilèges (EoP) sont devenues un ingrédient essentiel de la plupart des hacks réussis. Elles peuvent être exploitées de concert avec d'autres vulnérabilités qui, à elles seules, sont souvent considérées comme moins graves, les secondes donnant ce que l'on appelle un accès local et les premières permettant d'accéder à la racine. À partir de là, les adversaires disposant d'un accès physique ou de droits limités sur le système peuvent déployer des portes dérobées ou exécuter le code de leur choix.

Les failles, identifiées sous les noms de CVE-2022-29799 et CVE-2022-29800, combinent des menaces telles que la traversée de répertoires, la course de liens symboliques et la condition de course de temps de vérification du temps d'utilisation (TOCTOU). Après avoir examiné le code source de Networkd -dispatcher, le chercheur Jonathan Bar Or de Microsoft a remarqué qu'un composant connu sous le nom de _run_hooks_for_state met en œuvre la logique suivante :

  • Découvre la liste des scripts disponibles en invoquant la méthode get_script_list, qui appelle une méthode séparée scripts_in_path destinée à renvoyer tous les fichiers stockés dans le répertoire "/etc/networkd-dispatcher/.d" ;
  • Trie la liste des scripts ;
  • Exécute chaque script avec le processus subprocess.Popen et fournit des variables d'environnement personnalisées.


Run_hooks_for_state laisse les systèmes Linux ouverts à la vulnérabilité de traversée de répertoire, désignée sous le nom de CVE-2022-29799, parce qu'aucune des fonctions qu'il utilise ne nettoie correctement les états utilisés pour construire le chemin de script approprié à partir d'une entrée malveillante. Les pirates peuvent exploiter cette faiblesse pour s'échapper du répertoire de base /etc/networkd-dispatcher.

Run-hooks_for_state contient une autre faille, CVE-2022-29800, qui rend les systèmes vulnérables à la condition de course TOCTOU puisqu'il y a un certain temps entre la découverte des scripts et leur exécution.

Les adversaires peuvent exploiter cette dernière vulnérabilité pour remplacer les scripts que networkd-dispatcher croit appartenir à root par des scripts malveillants choisis par les adversaires. Pour s'assurer que Linux exécute le script malveillant fourni par le pirate plutôt que le script légitime, le pirate implante plusieurs scripts jusqu'à ce qu'un seul réussisse finalement.

Un pirate ayant un accès minimal à un ordinateur de bureau vulnérable peut enchaîner des exploits pour ces vulnérabilités qui donnent un accès complet à la racine. Le flux d'exploitation ressemble à ceci :

  1. Préparez un répertoire /tmp/nimbuspwn et implantez un lien symbolique /tmp/nimbuspwn/poc.d pour pointer vers /sbin. Le répertoire /sbin a été choisi spécifiquement parce qu'il contient de nombreux exécutables appartenant à root qui ne se bloquent pas s'ils sont exécutés sans arguments supplémentaires. Cela permettra d'abuser du problème de course de liens symboliques que nous avons mentionné précédemment.
  2. Pour chaque nom de fichier exécutable sous /sbin appartenant à root, plantez le même nom de fichier sous/tmp/nimbuspwn. Par exemple, si "/sbin/vgs" est exécutable et appartient à root, implantez un fichier exécutable "/tmp/nimbuspwn/vgs" avec la charge utile désirée. Cela aidera l'attaquant à gagner la condition de course imposée par la vulnérabilité TOCTOU ;
  3. Envoyer un signal avec l'OperationalState ../../../tmp/nimbuspwn/poc. Ceci abuse de la vulnérabilité de traversée de répertoire et échappe le répertoire du script ;
  4. Le gestionnaire de signaux de networkd-dispatcher entre en action et construit la liste des scripts à partir du répertoire /etc/networkd-dispatcher/../../../tmp/nimbuspwn/poc.d, qui est en réalité le lien symbolique (/tmp/nimbuspwn/poc.d), qui pointe vers /sbin. Par conséquent, cela crée une liste composée de nombreux exécutables appartenant à root ;
  5. Changez rapidement le lien symbolique /tmp/nimbuspwn/poc.d pour qu'il pointe vers /tmp/nimbuspwn. Ceci abuse de la vulnérabilité de la condition de course TOCTOU - le chemin du script change sans que networkd-dispatcher en soit conscient ;
  6. Le répartiteur commence à exécuter des fichiers qui étaient initialement sous "/sbin" mais en réalité sous le répertoire /tmp/nimbuspwn. Puisque le répartiteur "croit" que ces fichiers appartiennent à root, il les exécute aveuglément avec subprocess.Popen en tant que root. Par conséquent, notre attaquant a réussi à exploiter la vulnérabilité.
  7. Pour obtenir un accès root permanent, le chercheur a utilisé le flux d'exploitation pour créer une porte dérobée. La procédure à suivre est la suivante :
  8. Copie /bin/sh dans /tmp/sh ;
  9. Transforme le nouveau /tmp/sh en un binaire Set-UID (SUID) ;
  10. Exécute /tmp/sh -p. Le drapeau "-p" est nécessaire car les shells modernes abandonnent les privilèges par conception.


L'exploit de preuve de concept ne fonctionne que lorsqu'il peut utiliser le nom de bus "org.freedesktop.network1". Le chercheur a trouvé plusieurs environnements où cela se produit, y compris Linux Mint, dans lequel le systemd-networkd par défaut ne possède pas le nom de bus org.freedodesktop.network1 au démarrage.

Le chercheur a également trouvé plusieurs processus qui s'exécutent sous l'utilisateur systemd-network, qui est autorisé à utiliser le nom de bus nécessaire pour exécuter du code arbitraire à partir d'emplacements inscriptibles dans le monde. Les processus vulnérables comprennent plusieurs plugins gpgv, qui sont lancés lors de l'installation ou de la mise à jour d'apt-get, et le Erlang Port Mapper Daemon, qui permet d'exécuter du code arbitraire dans certains scénarios.

La vulnérabilité a été corrigée dans le networkd-dispatcher, bien qu'il n'ait pas été immédiatement clair quand ou dans quelle version, et les tentatives pour joindre le développeur n'ont pas été immédiatement couronnées de succès. Les personnes utilisant des versions vulnérables de Linux doivent corriger leurs systèmes dès que possible.

Source : Microsoft

Et vous ?

Que pensez-vous de cette vulnérabilité découverte par Microsoft dans Linux ?

« Il n'y a rien dans Linux qui le rende intrinsèquement plus fiable que Windows », partagez-vous cet avis ?

Voir aussi :

Les machines Linux et Raspberry Pi deviennent des cibles privilégiées pour le piratage des données d'identification, les pirates accèdent à des serveurs avec les mêmes mots de passe par défaut

Un bogue vieux de 12 ans dans polkit permet d'obtenir des privilèges « root » sur les principales distributions GNU/Linux, Ubuntu et Red Hat ont déjà publié des correctifs

Le nombre d'infections par des logiciels malveillants ciblant les appareils Linux a augmenté de 35 % en 2021, XorDDoS, Mirai et Mozi étaient les plus répandues, représentant 22 % des attaques

Microsoft va bloquer les macros téléchargées depuis Internet par défaut dans cinq applications Office, afin de lutter contre les ransomwares et d'autres logiciels malveillants

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de tabouret
Membre confirmé https://www.developpez.com
Le 27/04/2022 à 18:43
Citation Envoyé par Bruno Voir le message
« Il n'y a rien dans Linux qui le rende intrinsèquement plus fiable que Windows », partagez-vous cet avis ?
Ben voyons

Allez petit tour d'horizon des quelques mois passés:

Linux: 2 failles majeures, CVSS 7.8 tout de même une concernant sudo (buffer overflow très difficilement exploitable), une concernant polkit. On reste sur de l'escalade de privilège, corrigées en quelques jours.

Windows: une véritable dinguerie il ne se passe pas 3 mois sans qu'une faille de CVSS > 9 ne fasse son apparition.
Zerologon CVSS 10 (compromission complète d'un AD à partir d'un flux réseau non authentifié).
Exchange
Printnightmare CVSS 8.8 ils ont été infoutus de corriger la faille pendant plusieurs mois, ils préconisaient de désactiver le spooler d'impression (ha ouais... lol)
Janvier http.sys CVSS 9.8...
Et maintenant la faille du moment: Les RPC (donc SMB) CVSS 9.8

C'est simple il n'y a pas un service dans Windows qui ne soit pas bugué à la mort à tel point qu'avec quelques hacks sous Python tu puisses faire des RCE avec des droits systèmes.

Franchement...Linux est intrinsèquement plus sécurisé que Windows n'importe quel ingénieur sécurité le sait.
21  3 
Avatar de chrtophe
Responsable Systèmes https://www.developpez.com
Le 27/04/2022 à 19:57
Plutôt que de rechercher des failles sous Linux, Microsoft ferait mieux de chercher des failles sous son propre système Windows.

Bien-sûr Linux n'est pas infaillible, mais c'est encore moins le cas de Windows
14  5 
Avatar de Pierre Louis Chevalier
Expert éminent sénior https://www.developpez.com
Le 27/04/2022 à 20:07
Certes, cependant il faut savoir que désormais Microsoft utilise Linux sur ses serveurs, par exemple pour proposer des services Cloud Azure.
8  0 
Avatar de Uther
Expert éminent sénior https://www.developpez.com
Le 28/04/2022 à 9:05
Citation Envoyé par tabouret Voir le message
Franchement...Linux est intrinsèquement plus sécurisé que Windows n'importe quel ingénieur sécurité le sait.
Tu confonds "intrinsèquement" et "dans la pratique".
Linux c'est une noyau monolithique relativement complexe, codé en C, qui supporte notamment le parallélisme et la concurrence, tout comme celui de Windows. Sur ce qui constitue la valeur intrinsèque, il n'y a pas de raison particulière que Linux ait plus de faille que Windows. Il y a peut-être d'autre raisons qui font que Windows aurait plus de problème, mais pas sur ce qui constitue une valeur intrinsèque.

Après pour ta comparaison, il faudrait quand même que tu fixe précisément le périmètre car un Windows de base c'est plus large qu'un noyau Linux donc forcément plus susceptible d'avoir des failles.
9  1 
Avatar de yahiko
Rédacteur/Modérateur https://www.developpez.com
Le 27/04/2022 à 23:25
La communauté Open Source devrait être reconnaissante envers Microsoft que ceux-ci améliorent sans cesse la sécurité de Linux en partageant leurs découvertes de failles majeures de l'OS Pingouin avec tout le monde.
9  3 
Avatar de chrtophe
Responsable Systèmes https://www.developpez.com
Le 27/04/2022 à 20:38
Oui je sais, l'actu l'évoque également.

C'est bien qu'ils trouvent des failles, mais :

Vu le nombre de machines sous Windows dans le monde, et le nombre d'instances Azure, je pense pas que la priorité pour eux soit de travailler sur Linux, mais plutôt sous les OS qu'ils vendent.
Par ailleurs, il est fort probable que les hôtes qu'ils utilisent n'ont pas d-bus.
4  0 
Avatar de kain_tn
Expert confirmé https://www.developpez.com
Le 28/04/2022 à 9:05
Citation Envoyé par yahiko Voir le message
La communauté Open Source devrait être reconnaissante envers Microsoft que ceux-ci améliorent sans cesse la sécurité de Linux en partageant leurs découvertes de failles majeures de l'OS Pingouin avec tout le monde.
Pour une fois je suis d'accord: je préfère que Microsoft passe du temps à sécuriser gratuitement Linux qu'à travailler sur un Windows qui ne me sert que sur mon poste de travail au bureau. Mais je pense que ce n'est pas tout à fait ce que tu voulais dire, n'est-ce pas?

Au passage pour ceux que ça intéresse, les failles découvertes sont dans systemd, pas dans le kernel Linux.
4  0 
Avatar de AoCannaille
Membre expert https://www.developpez.com
Le 28/04/2022 à 10:16
Citation Envoyé par yahiko Voir le message
La communauté Open Source devrait être reconnaissante envers Microsoft que ceux-ci améliorent sans cesse la sécurité de Linux en partageant leurs découvertes de failles majeures de l'OS Pingouin avec tout le monde.
Je suis d'accord. Pour l'instant chaque effort que fait Microsoft envers Linux essuie petit à petit la rancœur de la vente liée et du pillage des solutions open source pendant 30 ans.

Une fois que Microsoft aura frotté assez fort pour effacer les tâche, il passera au polissage et pourra enfin briller ^^

En ce qui me concerne, n'utilisant plus Windows à la maison et n'utilisant Windows au boulot que pour Outlook et accéder en SSH à Linux, je suis ravi de cela

Aprés, il ne faut pas se faire d'illusion, ils ne font pas ça à perte.

D'aprés leurs résultats de ce premier trimestre , il semble que le cloud (et donc linux en tant qu'outils interne microsoft) a dépassé les outils de productivité (j'imagine Office, Outlook, teams etc.) et Windows (que j'imagine être casé dans "More personal computing").
3  0 
Avatar de chrtophe
Responsable Systèmes https://www.developpez.com
Le 06/05/2022 à 14:25
La faille en question est liée à nimbuspwn, un machin en Python
Absolument pas, nimbuspwn est le nom donnée à la faille, et ce n'est pas en Python. La démonstration de la faille est présentée avec un code Python.

La faille se situe au niveau de systemd.

Il faut bien lire et comprendre avant de critiquer.
3  0 
Avatar de tabouret
Membre confirmé https://www.developpez.com
Le 28/04/2022 à 11:05
Citation Envoyé par Uther Voir le message
Tu confonds "intrinsèquement" et "dans la pratique".
Linux c'est une noyau monolithique relativement complexe, codé en C, qui supporte notamment le parallélisme et la concurrence, tout comme celui de Windows. Sur ce qui constitue la valeur intrinsèque, il n'y a pas de raison particulière que Linux ait plus de faille que Windows. Il y a peut-être d'autre raisons qui font que Windows aurait plus de problème, mais pas sur ce qui constitue une valeur intrinsèque.

Après pour ta comparaison, il faudrait quand même que tu fixe précisément le périmètre car un Windows de base c'est plus large qu'un noyau Linux donc forcément plus susceptible d'avoir des failles.
Le périmètre est simple tout ce qui constitue un serveur basique non graphique (donc exit les composants web/bdd/middleware).
On parle de RDP, NFS, SSH, NTP, authent/login, du kernel en lui même...
Ou sinon si tu préfère un Windows server avec une Debian 11 ou une RHEL si tu veux.

Windows est une surcouche d'une surcouche d'une surcouche....raison pour laquelle je parle de valeur intrinsèque.
Il faut se poser la question suivante: pourquoi les RCE violentes ET récurrentes sont surtout le propre de Windows et non de Linux?

Enfin c'est un débat à troll j'en ai conscience

Néanmoins, si Microsoft trouve des failles à Linux, j'en suis ravi si ça permet de les corriger asap.

Edit:
Concernant ma comparaison, je ne parlais pas que du kernel. Je te parle d'un serveur basique (debian11, RHEL8, Win 2K22...) pour rappel, sudo et polkit que j'ai mentionnés ne sont pas des éléments du kernel, ils sont dans le user space.
2  0