Skip to content
Nouveau rapport : Obtenez votre exemplaire du rapport 2024 sur l'état de l'internet ! | Télécharger aujourd'hui
Blogs

CVE-2022-46169 : Cactus

Au début du mois de décembre 2022, une solution de surveillance de réseau open-source appelée Cacti (conçue à l'origine pour être un frontal pour la base de données graphique de réseau standard RRDTool) a publié un avis de sécurité détaillé pour les versions jusqu'à et y compris 1.2.22 et s'est vu attribuer le numéro CVE CVE-2022-46169. Cette vulnérabilité est passée inaperçue jusqu'à ce que, le 2 janvier 2023, SonarSource publie un billet de blog détaillant ses conclusions et que, quelques jours plus tard, le 7 janvier 2023, la Shadowserver Foundation signale qu'elle a commencé à voir la vulnérabilité exploitée dans la nature pour télécharger et installer des logiciels malveillants.

Censys a observé 6 427 hôtes sur l'internet utilisant une version de Cacti. Malheureusement, nous ne pouvons voir la version exacte du logiciel en cours d'exécution que lorsqu'un thème spécifique(sunrise) est activé sur l'application web. Mais cela nous donne tout de même une bonne idée de ce qui est vulnérable et de ce qui ne l'est pas. Voici les versions de Cacti que nous avons pu voir. Les lignes surlignées en rouge sont vulnérables, tandis que les lignes surlignées en vert sont des versions plus récentes non vulnérables. Comme nous pouvons le voir, la plupart de ces serveurs Cacti utilisent une version très ancienne et dépassée, avec seulement 26 hôtes qui utilisent l'une des versions corrigées.

Version Cacti Nombre d'hôtes
1.1.38 465
1.2.16 141
1.2.22 122
1.2.21 111
1.2.19 106
1.2.14 84
1.2.10 64
1.2.15 63
1.2.2 55
1.2.18 53
1.2.17 52
1.2.20 44
1.1.19 33
1.2.12 32
1.2.3 25
1.2.23 22
1.2.8 19
1.1.36 16
1.2.9 15
1.1.37 15
1.2.7 13
1.2.5 12
1.2.6 11
1.2.1 10
1.1.28 8
1.2.13 8
1.2.4 8
1.1.30 7
1.1.27 7
1.1.24 6
1.2.11 6
1.1.35 6
1.2.0 4
1.3.0 4
1.1.29 4
1.1.26 3
1.1.25 3
1.1.20 3
1.1.33 2
1.1.21 1

La plupart des hôtes utilisant Cacti sont situés au Brésil, avec 1 320 hôtes déclarés, suivis par l'Indonésie avec 795 hôtes et les États-Unis avec 254.

Pays hôtes
Brésil 1,320 20.54%
Indonésie 795 12.37%
États-Unis 254 3.95%
Chine 193 3.0%
Bangladesh 104 1.62%
Russie 99 1.54%
Ukraine 93 1.45%
Philippines 70 1.09%
Thaïlande 65 1.01%
Royaume-Uni 56 0.87%

Détails de la vulnérabilité

La vulnérabilité la plus importante réside dans la manière dont Cacti traite une requête HTTP spécifique pour un type particulier d'"action" d'interrogation défini dans la base de données. Dans le logiciel, les utilisateurs peuvent définir des actions pour surveiller un seul hôte (appelé "poller"). Un poller de ce type exécute un script PHP en s'attendant à ce que les données renvoyées soient correctement formatées. Mais l'un des arguments de la requête utilisée pour exécuter ces scripts PHP n'est pas correctement assaini et est transmis à l'appel d'exécution, ce qui entraîne une injection de commande. Alors que cette fonctionnalité ne devrait être accessible qu'aux utilisateurs authentifiés, un autre bogue permettant à l'attaquant de contourner complètement l'authentification a été découvert.

Ci-dessous, nous pouvons voir une injection de commande réussie qui conduit à l'exécution de code à distance (RCE) :

Le blog de SonarSource contient un excellent article pour plus de détails sur la vulnérabilité. Un exploit de preuve de concept a été écrit pour injecter et exécuter des commandes sur un serveur Cacti vulnérable.

Qui contrôle les contrôleurs ?

Cacti n'est pas la seule application utilisée pour surveiller la santé d'un ensemble de services ou d'un réseau ; il existe de nombreux autres exemples. Ces types d'outils de surveillance constituent d'excellentes cibles pour les attaquants. Étant donné que ces systèmes sont, à bien des égards, des bases de données d'inventaire des actifs, ils contiennent des informations précieuses sur l'agencement et l'architecture d'un réseau. Étant donné que ces systèmes disposent souvent d'un niveau d'accès par défaut (généralement, au moins, en lecture seule) à des points d'extrémité d'organisations entières (surveillance), la compromission d'un hôte de ce type pourrait être la première étape d'une infiltration totale.

Bien que tous les logiciels de surveillance comme Cacti ne présentent pas de vulnérabilité connue (actuellement), ce n'est pas une excuse pour les laisser exposés publiquement sur Internet s'ils ne doivent pas l'être, d'autant plus que les données qu'ils contiennent sont très précieuses. Censys suggère toujours d'activer l'authentification et de placer les services de surveillance derrière un VPN ou un segment VPC, ainsi que des règles de filtrage IP appropriées pour s'assurer que l'Internet n'a pas accès à vos ressources critiques.

Les attaquants peuvent utiliser d'autres services comme Cacti pour obtenir des informations sur une organisation. Par exemple, l'outil de surveillance du système Netdata fournit en temps réel des mesures du système au niveau de l'hôte concernant l'appareil sur lequel il est exécuté. Il n'est pas non plus accompagné d'une authentification par défaut, ce qui signifie que toute personne disposant d'un navigateur web peut voir le fonctionnement interne d'un serveur et tous les détails juteux qu'il contient. Au moment de la rédaction du présent document, il existait plus de 30 000 tableaux de bord Netdata orientés vers l'internet.

Traefik, un proxy inverse HTTP moderne et un équilibreur de charge pour les microservices, comprend également un service de surveillance et un tableau de bord optionnels pour leurs déploiements. Lorsque le service n'est pas configuré avec la sécurité activée, de nombreuses informations peuvent être accidentellement divulguées au public. Par exemple, toutes les applications et services en cours d'exécution, les ports et tous les messages d'erreur que l'instance peut avoir.

(Page d'atterrissage du tableau de bord Traefik)

(Contrôle au niveau du service)

Au moment de la rédaction de ce billet, plus de 14 000 tableaux de bord de surveillance Traefik étaient exposés à l'Internet, ce qui pourrait fournir des informations précieuses sur le réseau d'une organisation.

Même les protocoles utilisés pour aider à la surveillance des systèmes peuvent être mal configurés et utilisés pour obtenir des informations sur un réseau. Par exemple, le protocole SNMP (Simple Network Management Protocol) est souvent configuré avec un utilisateur public, et si vous savez comment l'utiliser, il peut devenir une interface très précieuse. Par exemple, vous pouvez utiliser les services SNMP publics pour recueillir des informations sur les tables de routage internes et externes d'un hôte ou d'un routeur :

~$ snmpnetstat -v 2c -c public -Cr <X.X.X.X>
Routing tables (ipCidrRouteTable)
Destination                Gateway            Flags   Interface
default                    XXX.XX.XX.254      <UG>    
10/8                       10.255.1.254       <UG>    
10.255.1/24                *                  <U>     Gi2.1023
10.255.1.6                 *                  <UH>    Gi2.1023
172.XX.10/24               *                  <U>     Gi1.1017
172.XX.10.22               *                  <UH>    Gi1.1017
172.XX/16                  XXX.XX.X.254       <UG>    
172.XX.1/24                *                  <U>     Gi2.1012
172.XX.1.6                 *                  <UH>    Gi2.1012

Vous pouvez même visualiser toutes les connexions réseau actuellement établies qui passent par ce périphérique et tous les services d'écoute qui peuvent ou non se trouver derrière un pare-feu. Vous pouvez même imiter la fonctionnalité de la commande Unix "netstat" :

 

~$ snmpnetstat -v 2c -c public -Ca X.X.X.X
Active Internet (tcp) Connections
Proto Local Address               Remote Address                    State   PID
tcp4  *.*                         *.*                                   0     0
Listening Internet (tcp) Connections
Proto Local Address                 PID
tcp4  *.*                             0
Active Internet (udp) Connections
Proto Local Address               Remote Address                PID
udp4  *.*                         *.*                             0
udp4  *.*                         *.*                             0
udp4  *.*                         *.*                             0
udp4  *.*                         *.*                             0
udp4  *.*                         *.*                             0
udp4  *.*                         *.*                             0
udp4  *.*                         *.*                             0
udp4  XX.XXX.XXX.XX.snmp          ?.35504                         0
udp4  XXX.10.10.22.bootps         XXX.XX.X.XXX.bootps           331
udp4  XXX.10.10.22.ntp            *.ntp                           0
udp4  XXX.10.10.22.snmp-tra       *.*                             0
udp4  XXX.10.10.22.isakmp         *.*                             0
udp4  XXX.10.10.22.ipsec-na       *.*                             0
udp4  XXX.10.10.22.50834          *.*                             0

SNMP est si largement déployé que Censys peut voir plus de 1,5 million de ces services sur Internet, et si nous additionnons toutes les interfaces réseau physiques de tous ces services (en faisant la somme de toutes les valeurs de l'OID, qui contient le nombre d'interfaces), nous obtenons 2 197 202 422 interfaces physiques. Je pourrais continuer à parler de l'utilité de SNMP du point de vue d'un attaquant, mais cela fera l'objet d'un autre article, un autre jour.

Il ne s'agit là que de quelques exemples d'outils de surveillance mal configurés ou non sécurisés par défaut que nous avons rencontrés sur Censys; l'essentiel est que les services de ce type soient verrouillés et à l'abri des mains indiscrètes des attaquants potentiels.

Que peut-on faire ?

  • Mise à jour vers la dernière version de Cacti (v1.2.23 et v1.3.0)
  • Restreindre l'accès à cette application (et à toutes les applications de surveillance du réseau) à l'aide de règles de pare-feu, d'une segmentation VPN ou d'une segmentation VPC afin de la rendre inaccessible depuis l'internet.
  • Censys Les clients de l' ASM ont accès à plusieurs risques Cacti.

Références

Solutions de gestion de la surface d'attaque
En savoir plus