10 |
Débordement de la mémoire tampon via les variables d'environnement
Ce schéma d'attaque consiste à provoquer un dépassement de tampon par la manipulation de variables d'environnement. Une fois que l'adversaire a découvert qu'il peut modifier une variable d'environnement, il peut essayer de faire déborder les tampons associés. Cette attaque exploite la confiance implicite souvent accordée aux variables d'environnement. [Identifier l'application cible] L'adversaire identifie une application ou un programme cible pour effectuer le dépassement de tampon. Dans cette attaque, l'adversaire recherche une application qui charge le contenu d'une variable d'environnement dans un tampon. [Trouver le vecteur d'injection] L'adversaire identifie un vecteur d'injection pour délivrer le contenu excessif dans le tampon de l'application ciblée. [Craft overflow content] L'adversaire prépare le contenu à injecter. Si l'intention est simplement de faire planter le logiciel, il suffit que le contenu consiste en une quantité excessive de données aléatoires. Si l'intention est d'exploiter le débordement pour exécuter un code arbitraire, l'adversaire prépare la charge utile de telle sorte que l'adresse de retour écrasée soit remplacée par une adresse de son choix. [Débordement de la mémoire tampon] En utilisant le vecteur d'injection, l'adversaire injecte le contenu du débordement dans la mémoire tampon. |
Haute |
100 |
Tampons de débordement
Les attaques par dépassement de tampon visent à vérifier de manière incorrecte ou manquante les limites des opérations de tampon, généralement déclenchées par une entrée injectée par un adversaire. En conséquence, un adversaire est capable d'écrire au-delà des limites des régions tampons allouées en mémoire, provoquant un plantage du programme ou potentiellement une redirection de l'exécution selon le choix de l'adversaire. [Identification de l'application cible] L'adversaire identifie une application ou un programme cible pour effectuer le dépassement de tampon. Les adversaires recherchent souvent des applications qui acceptent les entrées utilisateur et qui effectuent une gestion manuelle de la mémoire. [Trouver le vecteur d'injection] L'adversaire identifie un vecteur d'injection pour transmettre le contenu excessif au tampon de l'application cible. [Craft overflow content] L'adversaire prépare le contenu à injecter. Si l'intention est simplement de faire planter le logiciel, il suffit que le contenu consiste en une quantité excessive de données aléatoires. Si l'intention est d'exploiter le débordement pour exécuter un code arbitraire, l'adversaire prépare la charge utile de telle sorte que l'adresse de retour écrasée soit remplacée par une adresse de son choix. [Débordement de la mémoire tampon] En utilisant le vecteur d'injection, l'adversaire injecte le contenu du débordement dans la mémoire tampon. |
Très haute |
123 |
Manipulation de la mémoire tampon
Un adversaire manipule l'interaction d'une application avec une mémoire tampon pour tenter de lire ou de modifier des données auxquelles il ne devrait pas avoir accès. Les attaques par tampon se distinguent en ce que c'est l'espace tampon lui-même qui est la cible de l'attaque plutôt que tout code responsable de l'interprétation du contenu du tampon. Dans pratiquement toutes les attaques de tampon, le contenu placé dans le tampon est sans importance. Au lieu de cela, la plupart des attaques de mémoire tampon impliquent de récupérer ou de fournir plus d'informations que ce qui peut être stocké dans la mémoire tampon allouée, ce qui entraîne la lecture ou l'écrasement de la mémoire d'autres programmes non voulus. |
Très haute |
14 |
Débordement de tampon induit par une injection côté client
Ce type d'attaque exploite une vulnérabilité de dépassement de tampon dans le logiciel client ciblé par l'injection de contenu malveillant à partir d'un service hostile personnalisé. Ce service hostile est créé pour délivrer le contenu correct au logiciel client. Par exemple, si l'application côté client est un navigateur, le service hébergera une page web que le navigateur chargera. [Identifier l'application côté client cible] L'adversaire identifie une application côté client cible pour effectuer le dépassement de tampon. Les navigateurs sont les plus courants. S'il existe une vulnérabilité connue du navigateur, l'adversaire peut la cibler. [Trouver un vecteur d'injection] L'adversaire identifie un vecteur d'injection pour envoyer le contenu excessif dans la mémoire tampon de l'application ciblée. [Créer un service hostile] L'adversaire crée un service hostile qui transmet le contenu à l'application côté client. Si l'intention est simplement de faire planter le logiciel, il suffit que le contenu consiste en une quantité excessive de données aléatoires. Si l'intention est d'exploiter le débordement pour exécuter du code arbitraire, l'adversaire prépare la charge utile de telle sorte que l'adresse de retour écrasée soit remplacée par une adresse de son choix. [Débordement de la mémoire tampon] En utilisant le vecteur d'injection, l'adversaire transmet le contenu à l'application côté client en utilisant le service hostile et en faisant déborder la mémoire tampon. |
Haute |
24 |
Défaillance du filtre par débordement de la mémoire tampon
Dans cette attaque, l'idée est de faire échouer un filtre actif en provoquant une transaction surdimensionnée. Un attaquant peut essayer d'alimenter le programme avec des chaînes d'entrée trop longues afin de submerger le filtre (en provoquant un dépassement de tampon) et en espérant que le filtre n'échoue pas de manière sûre (c'est-à-dire que l'entrée de l'utilisateur est laissée dans le système sans être filtrée). [Enquête] L'attaquant examine l'application cible, éventuellement en tant qu'utilisateur valide et authentifié. Cette opération peut être effectuée manuellement ou à l'aide d'un outil dynamique (boîte noire). Un attaquant peut également utiliser un script personnalisé à cette fin. [Surveillez les réponses] Soyez attentif à tout signe d'échec. Observez attentivement ce qui s'est passé lorsque l'échec du filtre s'est produit. Les données sont-elles entrées ? [Abuser du système par le biais d'un échec du filtre] Un attaquant écrit un script pour provoquer systématiquement l'échec du filtre. |
Haute |
42 |
MIME Conversion
Un attaquant exploite une faiblesse dans la routine de conversion MIME pour provoquer un dépassement de tampon et prendre le contrôle de la machine du serveur de messagerie. Le système MIME est conçu pour permettre à différents formats d'information d'être interprétés et envoyés par e-mail. Les points d'attaque existent lorsque les données sont converties en format compatible MIME et inversement. [Identifier le serveur de messagerie cible] L'adversaire identifie un serveur de messagerie cible qu'il souhaite attaquer. [Déterminer la viabilité de l'attaque] Déterminer si le serveur de messagerie n'est pas corrigé et s'il est potentiellement vulnérable à l'un des débordements de tampon de conversion MIME connus (par exemple Sendmail 8.8.3 et 8.8.4). [Trouver le vecteur d'injection] Identifier les endroits du système où les routines de conversion MIME vulnérables peuvent être utilisées. [Craft overflow content] L'adversaire crée des messages électroniques avec des en-têtes spéciaux qui provoqueront un dépassement de tampon pour la routine de conversion MIME vulnérable. L'intention de cette attaque est d'exploiter le débordement pour exécuter du code arbitraire et accéder à la machine du serveur de messagerie. L'adversaire va donc créer un e-mail qui non seulement fait déborder le tampon ciblé, mais le fait de telle sorte que l'adresse de retour écrasée est remplacée par une adresse de son choix. [Débordement de la mémoire tampon] Envoyer des messages électroniques au système cible avec des en-têtes spécialement conçus qui déclenchent le débordement de la mémoire tampon et exécutent le code shell. |
Haute |
44 |
Fichier de ressources binaires de débordement
Une attaque de ce type exploite une vulnérabilité de type dépassement de tampon dans la gestion des ressources binaires. Les ressources binaires peuvent inclure des fichiers de musique comme les MP3, des fichiers d'image comme les fichiers JPEG, et tout autre fichier binaire. Ces attaques peuvent passer inaperçues sur la machine cliente par le biais de l'utilisation normale des fichiers, par exemple lorsqu'un navigateur charge un fichier JPEG apparemment innocent. Cela peut permettre à l'adversaire d'accéder à la pile d'exécution et d'exécuter du code arbitraire dans le processus cible. [Identification du logiciel cible] L'adversaire identifie un logiciel qui utilise des fichiers binaires externes d'une manière ou d'une autre. Il peut s'agir d'un chargement de fichier, du téléchargement d'un fichier à partir d'un emplacement partagé, ou d'autres moyens. [Trouver le vecteur d'injection] L'adversaire crée un fichier binaire malveillant en modifiant l'en-tête pour que le fichier semble plus court qu'il ne l'est. Des octets supplémentaires sont ajoutés à la fin du fichier pour être placés dans l'emplacement débordé. L'adversaire déploie ensuite le fichier dans le logiciel pour déterminer si le dépassement de tampon a réussi. [Une fois que l'adversaire a déterminé que cette attaque est viable, il fabrique spécialement le fichier binaire de manière à obtenir le comportement souhaité. Si le code source est disponible, l'adversaire peut élaborer avec soin le fichier malveillant afin que l'adresse de retour soit remplacée par une valeur prévue. Si le code source n'est pas disponible, l'adversaire modifiera itérativement le fichier afin d'écraser l'adresse de retour correctement. [Débordement de la mémoire tampon] Une fois que l'adversaire a construit un fichier qui débordera effectivement le logiciel ciblé de la manière prévue. Le fichier est déployé dans le logiciel, soit en le servant directement au logiciel, soit en le plaçant dans un emplacement partagé pour qu'une victime le charge dans le logiciel. |
Très haute |
45 |
Débordement de la mémoire tampon via les liens symboliques
Ce type d'attaque exploite l'utilisation de liens symboliques pour provoquer des dépassements de tampon. Un adversaire peut essayer de créer ou de manipuler un fichier de lien symbolique de telle sorte que son contenu donne lieu à des données hors limites. Lorsque le logiciel cible traite le fichier de lien symbolique, il peut potentiellement faire déborder les tampons internes dont la vérification des limites est insuffisante. [Identifier l'application cible] L'adversaire identifie une application ou un programme cible qui pourrait charger certains fichiers en mémoire. [Trouver le vecteur d'injection] L'adversaire identifie un vecteur d'injection pour délivrer le contenu excessif dans le tampon de l'application cible. [Craft overflow file content] L'adversaire prépare le contenu à injecter. Si l'intention est simplement de faire planter le logiciel, il suffit que le contenu consiste en une quantité excessive de données aléatoires. Si l'intention est d'exploiter le débordement pour exécuter un code arbitraire, l'adversaire prépare la charge utile de telle sorte que l'adresse de retour écrasée soit remplacée par une adresse de son choix. [Débordement de la mémoire tampon] À l'aide du contenu du fichier spécialement conçu, l'adversaire crée un lien symbolique entre la ressource identifiée et le fichier malveillant, ce qui provoque une attaque ciblée par débordement de mémoire tampon. |
Haute |
46 |
Variables et tags de débordement
Ce type d'attaque exploite l'utilisation de balises ou de variables provenant de données de configuration formatées pour provoquer un dépassement de tampon. L'adversaire crée une page HTML malveillante ou un fichier de configuration qui inclut des chaînes de caractères surdimensionnées, provoquant ainsi un débordement. [Identification de l'application cible] L'adversaire identifie une application ou un programme cible pour effectuer le dépassement de tampon. Les adversaires recherchent des applications ou des programmes qui acceptent des fichiers formatés, tels que des fichiers de configuration, en entrée. [Trouver un vecteur d'injection] L'adversaire identifie un vecteur d'injection pour délivrer le contenu excessif dans la mémoire tampon de l'application cible. [Craft overflow content] L'adversaire prépare le contenu à injecter. Si l'intention est simplement de faire planter le logiciel, il suffit que le contenu consiste en une quantité excessive de données aléatoires. Si l'intention est d'exploiter le débordement pour exécuter un code arbitraire, l'adversaire prépare la charge utile de telle sorte que l'adresse de retour écrasée soit remplacée par une adresse de son choix. [Débordement de la mémoire tampon] L'adversaire télécharge le fichier modifié dans l'application, ce qui provoque un débordement de la mémoire tampon. |
Haute |
47 |
Débordement de la mémoire tampon via l'expansion des paramètres
Dans cette attaque, le logiciel cible reçoit des données d'entrée dont l'adversaire sait qu'elles seront modifiées et augmentées en taille pendant le traitement. Cette attaque repose sur le fait que le logiciel cible n'anticipe pas que les données étendues peuvent dépasser une certaine limite interne, créant ainsi un dépassement de tampon. [Identifier l'application cible] L'adversaire identifie une application ou un programme cible pour effectuer le dépassement de tampon. Les adversaires recherchent souvent des applications qui acceptent les entrées utilisateur et qui effectuent une gestion manuelle de la mémoire. [Trouver le vecteur d'injection] L'adversaire identifie un vecteur d'injection pour transmettre le contenu excessif au tampon de l'application cible. [Craft overflow content] L'adversaire prépare l'entrée à donner au programme. Si l'intention est simplement de faire planter le logiciel, il suffit que l'entrée s'étende à une quantité excessive de données aléatoires. Si l'intention est d'exploiter le débordement pour l'exécution d'un code arbitraire, l'adversaire concevra une entrée qui se développe de manière à non seulement faire déborder le tampon ciblé, mais aussi de telle sorte que l'adresse de retour écrasée soit remplacée par une adresse choisie par l'adversaire qui pointe vers un code injecté par l'adversaire. [Débordement de la mémoire tampon] En utilisant le vecteur d'injection, l'adversaire donne l'entrée modifiée au programme, ce qui fait déborder la mémoire tampon. |
Haute |
8 |
Débordement de mémoire tampon dans un appel d'API
Cette attaque vise les bibliothèques ou les modules de code partagé qui sont vulnérables aux attaques par débordement de tampon. Un adversaire qui a connaissance des bibliothèques ou du code partagé vulnérables connus peut facilement cibler les logiciels qui utilisent ces bibliothèques. Tous les clients qui utilisent la bibliothèque de code deviennent ainsi vulnérables par association. Cela a un effet très large sur la sécurité d'un système, affectant généralement plus d'un processus logiciel. [Identifier l'application cible] L'adversaire, qui connaît les bibliothèques ou les modules de code partagé vulnérables, identifie une application ou un programme cible qui les utilise. [Trouver le vecteur d'injection] L'adversaire tente d'utiliser l'API et, s'il y parvient, il envoie une grande quantité de données pour voir si l'attaque par débordement de mémoire tampon fonctionne réellement. [Créer un contenu de débordement] L'adversaire crée le contenu à injecter en fonction de sa connaissance de la vulnérabilité et du résultat souhaité. Si l'intention est simplement de faire planter le logiciel, il suffit que le contenu consiste en une quantité excessive de données aléatoires. Si l'intention est d'exploiter le débordement pour exécuter du code arbitraire, l'adversaire élaborera un ensemble de contenu qui non seulement fait déborder le tampon ciblé, mais le fait de telle sorte que l'adresse de retour écrasée est remplacée par une adresse de son choix qui pointe vers du code injecté par l'adversaire. [Débordement du tampon] En utilisant l'API comme vecteur d'injection, l'adversaire injecte le contenu de débordement élaboré dans le tampon. |
Haute |
9 |
Débordement de la mémoire tampon dans les services publics locaux en ligne de commande
Cette attaque vise les utilitaires de ligne de commande disponibles dans un certain nombre de shells. Un adversaire peut tirer parti d'une vulnérabilité trouvée dans un utilitaire de ligne de commande pour élever ses privilèges jusqu'à root. [Identifier le système cible] L'adversaire commence par trouver un système cible sur lequel il souhaite obtenir des privilèges élevés. Il peut s'agir d'un système auquel il a déjà un certain niveau d'accès ou d'un système auquel il va accéder sans autorisation à un niveau de privilège inférieur par d'autres moyens. [Trouver un vecteur d'injection] L'adversaire identifie les utilitaires de ligne de commande exposés par l'hôte cible qui contiennent des vulnérabilités de débordement de tampon. L'adversaire sait probablement quels utilitaires présentent ces vulnérabilités et quelles sont les versions concernées, il obtiendra donc également les numéros de version de ces utilitaires. [Créer une commande de débordement] Une fois que l'adversaire a trouvé un utilitaire vulnérable, il utilise sa connaissance de la vulnérabilité pour créer la commande qui exploitera le débordement de la mémoire tampon. [Débordement de la mémoire tampon] En utilisant le vecteur d'injection, l'adversaire exécute la commande créée, obtenant ainsi des privilèges élevés sur la machine. |
Haute |