Reconmind, accueil

Attaque

Exécution de code à distance

Aussi appeléRCERemote Code Execution

En résumé

Une vulnérabilité qui permet à un attaquant d’exécuter ses propres commandes ou son propre code sur un système distant, sans y avoir d’accès légitime. Elle donne en général le niveau de droits du service exploité et constitue l’un des impacts les plus graves qu’un défaut puisse avoir.

Exécution de code à distance, en détail

RCE signifie Remote Code Execution. Elle peut résulter de causes très différentes : une injection de commandes dans une fonction qui appelle le système, une désérialisation non sécurisée : définition, un téléversement de fichier exécutable accepté par le serveur, un défaut de gestion mémoire dans un composant, ou une bibliothèque tierce vulnérable. Le point commun est le résultat : l’attaquant fait travailler la machine pour lui.

Une RCE n’est pas toujours exploitable sans condition. Elle peut exiger une authentification préalable, un accès réseau particulier ou une interaction de la victime ; ces conditions pèsent sur la criticité réelle. Une RCE sans authentification sur un service exposé à Internet est le cas le plus grave, car elle peut être exploitée automatiquement et à grande échelle dès la publication du défaut. Une fois le code exécuté, l’attaquant cherche en général à obtenir un accès interactif, à voler des identifiants stockés sur la machine, puis à progresser vers d’autres systèmes. La limitation de l’impact passe par des services exécutés avec des droits réduits, des conteneurs cloisonnés, le filtrage du trafic sortant, et une détection des comportements anormaux de processus sur le serveur.

Qu’est-ce que cela change pour vous ?

Une exécution de code sur un serveur exposé est le plus souvent le début d’une intrusion complète, pas sa fin. La rapidité de correction des composants exposés et le cloisonnement du serveur déterminent l’ampleur de ce qui suit.

Exemple illustratif (fictif)

Prenons un module de conversion de documents, sur un portail client, qui passe le nom du fichier téléversé à une commande système sans l’assainir. En choisissant un nom de fichier particulier, un analyste pourrait obtenir l’exécution de commandes avec les droits du service web.

La confusion fréquente

Supposer qu’une RCE nécessite un défaut exotique dans un logiciel complexe. Elle provient souvent d’une fonction banale, comme l’envoi d’un fichier ou l’appel d’un utilitaire système, mal protégée dans une application sur mesure.

Comment le détecter chez vous ?

Aller plus loin

Termes liés

  • AttaqueDésérialisation non sécurisée : définitionUne vulnérabilité où une application reconstruit des objets à partir de données fournies par l’utilisateur sans en vérifier le contenu.
  • AttaqueInjection SQL : définitionUne vulnérabilité où des données saisies par l’utilisateur sont interprétées comme du code SQL par la base de données, faute de séparation entre la requête et ses paramètres.
  • AttaqueSSRF : définitionUne vulnérabilité où l’attaquant amène un serveur à émettre une requête vers une destination qu’il choisit.
  • AttaqueMouvement latéral : définitionL’ensemble des techniques qu’un attaquant utilise, une fois entré dans un réseau, pour passer d’une machine ou d’un compte à d’autres afin d’atteindre ses objectifs.

Revenir au glossaire complet

Réponse à toute demande sous 24 h ouvrées

Un périmètre à faire tester ?

Le cadrage est gratuit et sans engagement. Trente minutes suffisent à savoir si une mission est pertinente, laquelle, et ce qu’elle coûterait.

  • Accord de confidentialité systématique
  • Cadrage gratuit et sans engagement
  • Périmètre et prix écrits avant le début