Je travaille depuis quelques années dans le domaine de la sécurité réseau et plus particulièrement au sein d'une cellule de
veille très connue mais dont je tairai le nom... Pour des raisons de sécurité. Il y a quelques temps, il m'a été demandé de
réaliser un audit sur un intranet sensé abriter des informations sensibles, administré par des gens se disant eux-mêmes de
très haut niveau... Il m'a fallu moins de 15 minutes pour déceler une centaine de failles de sensibilité élevée ; je ne suis
pas moi-même une élite, mais leur système de sécurité ressemblait à une passoire métallique... dont on aurait ôté le métal.
Comprenne qui pourra.
Leur serveur étant un IIS ( utilisé par environ 30% des hébergeurs internet, mais néanmoins utilisé ), il m'a semblé
judicieux de rédiger ce petit article sur les principales failles que j'ai mises à jour lors de cette expertise, failles que
l'on retrouve TRES souvent aussi bien sur les intranets d'entreprises que sur les réseaux internes... gouvernementaux, et par
conséquent, également sur l'internet lui-même.
Avertissement : En aucun cas je n'incite à exploiter ces trous de sécurité et au contraire, eu égard à mon éthique et mon rô
le de protection, plus que d'intrusion, j'invite le lecteur à se pencher sur ces problèmes dans le seul but d'amdministrer
convenablement un serveur MS IIS et d'en combler les failles primaires.
Avis aux wannabes : Exploiter de telles failles sur un serveur distant reviendrait à vous rendre au poste de police le plus
proche et à vomir sur le planton, casser la porte à coups de pieds et déposer votre pièce d'identité sur le bureau du premier
officier que vous trouverez en lui parlant de sa vieille mère sur un ton inopportun, voire sarcastique, avant de vous asseoir
en attendant qu'on veuille bien vous emmener à la fouille à corps. Me suis-je bien faite comprendre ?
Avis aux zoupeur-ilite-gourou-übeur-haxors : Vous n'apprendrez pas grand chose de nouveau dans cet article, alors quand vous
entendrez la fée clochette faire tinter sa petite clochette comme ceci : "tililing", tournez la page. Et lorsque le Lutin
Malin vous le dira, retournez le disque. Prêts ? "tililing!"
Par ailleurs, je ne prétends pas couvrir l'ensemble des failles IIS, loin s'en faut, mais mettre en lumières celles que j'ai
plus particulièrement étudiées lors de cet audit.
Avis à tous : Toutes ces failles sont documentées dans les archives bugtraq.
Microsoft IIS est réputé pour sa facilité d'installation, de configuration et d'utilisation. Malheuresement, comme tout
logiciel clé en main, il installe un tas de fichiers un peu partout, dont on ignore souvent l'utilité, qu'on n'ose pas dé
truire sous peine de voir son joli serveur planter en beauté. Certains d'entre eux sont tout simplement des outils
d'administration distante utilisable par tout utilisateur, n'importe où dans le monde, avec un simple navigateur.
I CREER DES FICHIER SUR UN SERVEUR DISTANT
Repérerez l'existence du répertoire /scripts/tools/ sur le serveur.
Ex : http://monsite.com/scripts/tools/
Si dans ce dossier vous découvrez l'existence de l'exécutable getdrvrs.exe, alors vous pouvez créer une nouvelle base ODBC
sur ce serveur et une manipulation un peu plus poussée (simple rename ? ;-) ) vous permet de créer un fichier de n'importe
quel type. Est-il besoin de préciser l'usage qui peut être fait d'une base de données créée par un utilisateur distant sur
votre serveur ?
*Mister Noob passe ton chemin* > Non je ne documenterai pas la manière d'utiliser cet outil... MS le fait très bien.
De même une vulnérabilité dite NEWDSN (cherchez, vous trouverez) permet la création de tout type de fichier sur un serveur
distant IIS. Elle est exploitable via ce même répertoire magique /scripts/tools/.
Pour vous prémunir contre ces vulnérabilités à risque très élevé car très simples d'emploi, supprimer simplement l'accès au
répertoire en question. Quoi, c'est tout ? Oui, c'est tout.
II AFFICHER DES INFORMATIONS SENSIBLES SUR LE SERVEUR (arborescence, sources asp...)
Le répertoire /msdac (http://monsite/msdac/) est également installé par défaut avec IIS. C'est là que se gère les MS Data
Access Components du serveur. Parmi eux on notera l'existence d'un certain RDS (Remote Data Service - est-il besoin de
traduire?) qui utilise des méthodes non sécurisées permettant d'effectuer des commandes avec privilèges "system" sur le
serveur distant. Pour tout renseignement : Encore une fois, merci MS.
Cette faille demeure courante malgré la publication de correctifs par Microsoft, qui règlent les problèmes d'accès distant à
ce répertoire et à ses outils.
D'une manière plus générale, on devrait toujours supprimer l'accès ou l'existence du sous répertoire Samples ou Samples11 de
/msdac. (http://monsite/msdac/Samples/). En effet, ce dossier est une mine d'or pour le méchant black hat boy.
Par défaut est installé, par exemple, le fameux showcode.asp ! Si vous ne savez pas de quoi il s'agit, c'est très simple,
c'est marqué dessus. Il est situé sur : /msdac/Samples/SELECTOR/showcode.asp et permet à un utilisateur distant de visualiser
le code source de n'importe quel fichier du serveur. Brrrr ! Comment exploiter ce fichier ? Je ne vais quand même pas répéter
à chaque fois que toute la doc se trouve sur ms.com, hm ?
On aura compris que le dossier /msdac est dangereux. Vérifiez donc que les répertoires C:\Program Files\Common
Files\System\msdac\Samples et Samples11 ne sont pas présent sur le serveur. Si c'est le cas, et comme bien sûr, vous êtes
l'admin de ce serveur, supprimez les, sauf s'ils vous sont indispensables, ce dont je doute franchement. L'installation des
correctifs est encore une fois indispensable.
Mais, me direz-vous, je suis en vacances à Vladivostok et je viens de lire cet article et je suis tout à coup fort inquiet !
Quand je vais revenir, un méchant aura sûrement pris le contrôle de mon super serveur tout neuf que je n'ai pas mis à jour,
parce que je pensais que MS fournissait tout ce qu'il fallait pour que ma machine soit sûre ! Et je serais fort mâri de me
voir ainsi duper !
N'est-ce pas ?
Eh bien, si vous voulez augmenter votre niveau d'inquiétude et vérifier sans administration distante que ces dossiers sont
bien présents sur votre machine, suivez le guide ! LA guide, merci.
Grâce à ce formidable outil qu'est bdir.htr, vous allez pouvoir visualiser l'ensemble des répertoires présents sur votre
serveur. Oui, l'ensemble, et évidemment inclus tous les dossiers hors racine de site, les disques externes, etc...
*Mister Noob tu vas être content* > Prenez votre navigateur préféré et tapez tout simplement :
http://monsite/scripts/iisadmin/bdir.htr (HTR pas HTM, Mister Noob !)
Et vous voilà dans l'arborescence de la machine serveur. Là, vous pouvez visualiser tous les répertoires. Pas les fichiers,
certes, mais c'est déjà énorme, car si le répertoire Samples existe, il y a de forte chance pour les fichiers qu'il contient
n'aient pas encore été supprimés...
Et comme si ça ne suffisait pas, MS a ajouté un outil supplémentaire, au cas où showcode.asp ne fonctionnerait pas. Merci !
Il s'agit de CodeBrws.asp (code browse ? à mourir de rire, non ?).
Vous voulez visualiser le code de la page login.asp ? Easy :
Et voilà !
Je m'explique un peu (mais pas trop, on n'est pas non plus des assistés messieurs dames les lecteurs et lectrices).
A priori, CodeBrws permet de lire le code des fichiers du répertoire IISSAMPLES. Mais avec une simple remontée du type "
../../etc...", on peut atteindre aisément les répertoires situés au niveau supérieur, entrer dedans (ici on l'a appelé "ré
pertoire", pour l'exemple et rien que pour l'exemple), puis taper le nom du fichier à lire. Et le code source s'affiche en
plein écran (pour affichier msie en plein écran appuyez sur F11 ! mdr !).
*Mister Noob le Retour* > "Et comment on fait pour avoir le nom des fichiers à lire ?"
castlemiss-limite-dépression-tant-elle-est-blasée : "Visite le site, abruti !"
CONCLUSIONS
Il est donc important, lors d'un audit, de s'informer sur la première information vitale : Sur quel type de serveur est hé
bergé ce site ? De la réponse à cette question dépend toute votre démarche de recherche et d'investigation. Et si par hasard,
c'est un IIS (une chance sur trois, ça n'est pas négligeable), alors prenez rapidement contact avec l'administrateur pour
qu'il vérifie certains points essentiels. Par respect pour les pauvres admin d'intranets/extranets, je ne leur jetterai pas
la pierre (ils sont souvent seul pour gérer 500 machines), mais IIS a un très grand succès parmi eux. Il est donc judicieux
de jeter un oeil de ce côté là également. ;-)
J'en ai terminé pour aujourd'hui. Comme vous le voyez, ma seule intention ici est d'ouvrir les yeux de certains sur des
failles BASIQUES liées à l'install de IIS. Il en existe des centaines d'autres et le meilleur moyen de s'informer sur leurs
possibilités est de lire la doc IIS.
Les bulletins de sécurité MS restent vagues et répètent sans cesse "installer le correctif machin v.". Ils ont
RAISON ! Mais le flou qu'ils laissent planer n'est pas seulement une précaution pour protéger leurs clients des crashers...
C'est aussi pour dissimuler l'imbécilité patente de certains développeurs qui laissent des outils aussi évidents s'installer
PAR DEFAUT sur des serveurs qui peuvent être d'usage professionnel.
Je sais que je suis un peu agressive, mais dans un prochain article je vous raconterai ce que j'ai vu faire autour de moi en
matière de sécurité et c'est à pleurer. La plupart des admins se disent : "bah, personne ne viendra fourrer son nez là-
dedans". Mais leur viendrait-il à l'idée de poser la clé de leur appartement sous leur paillasson en partant pour deux mois
de vacances à Vladivostok ? Euh... C'est vrai que la Terre est peuplée de naïfs. Vous, experts en sécurité de tous âges et
tout niveau, vous savez ce qu'ils vous reste à faire ! Non ! Pas piquer la clé ! Mais informer rapidement le proprio qu'il
est en train de commettre une boulette, bien sûr !
Article propriété exclusive de Juliet Ordell pour Team SH. Pour toute demande de copie, merci de contacter la Team ou moi mê
me sur venicedoll, pseudo courrier de http://www.hotmail.com
bisous bleus (merci à BlueCat pour cette expression fabulseuse!)
castlegirl -:- Team SH member
"Guess what color is the darkside of the darkside".