Contribuez à SecuObs en envoyant des bitcoins ou des dogecoins.
Nouveaux articles (fr): 1pwnthhW21zdnQ5WucjmnF3pk9puT5fDF
Amélioration du site: 1hckU85orcGCm8A9hk67391LCy4ECGJca

Contribute to SecuObs by sending bitcoins or dogecoins.



Squirtle un outil pour la collecte de valeurs de hachage NTLM via une faille XSS

Par Rédaction, secuobs.com
Le 04/12/2008


Résumé : Squirtle est un outil qui permet de récupérer massivement des valeurs de hachage NTLM pour les systèmes d'exploitation Microsoft Windows via l'exploitation d'une simple faille de Cross Site Scripting, ou autres, avec un navigateur de type Microsoft Internet Explorer.



Kurt Grutzmacher ( lien ), auditeur en sécurité informatique et diplômé de l’université de Berkeley ( lien ), a développé un outil qui implémente les attaques PokeHashBall ( lien ) et Pass-The-Dutchie ( lien ). Cet outil, nommé Squirtle, permet d’exploiter un environnement Microsoft Windows à partir d’une simple faille de Cross Site Scripting ( XSS - lien ) ou via l’ingénierie sociale ( lien ) et le Phishing ( voir l’annuaire de la revue de presse - lien ).

Squirtle nécessite initialement de rentrer en contact avec un navigateur Internet qui supporte le protocole d’authentification NTLM ( NT Lan Manager - lien ). Il est également nécessaire que ce navigateur soit par défaut positionné dans la zone de confiance afin d’accéder aux mécanismes d’authentification de Windows ( IWA - lien ) ; Microsoft Internet Explorer est un candidat tout désigné pour cette tâche.

NTML est un protocole utilisé par les systèmes d’exploitation Microsoft Windows afin que les utilisateurs n’aient pas à s’identifier à chaque fois qu’ils veulent accéder à un des services proposés. Ce protocole fonctionne selon trois étapes majeures : la négociation initiée par le client, la demande des informations d’authentification par le serveur et l’envoi de ces informations pour validation de l’accès aux services demandés.

Les faiblesses de conception de NTLM ont déjà été exploitées par le passé avec les attaques Pass-The-Hash ( PSHtoolkit - lien ), Rainbow Tables ( voir notre article sur Ophcrack - lien | voir le site Free Rainbow Tables - lien ) et SMBrelay ( lien ). En ce qui concerne les deux versions de cette dernière, un correctif de sécurité a par ailleurs été publié ( MS08-68 - lien ) récemment par Microsoft après une période d’exploitabilité estimée à sept années voir beaucoup plus ( lien ).

A lire également à ce sujet, la position du projet Metasploit ( voir notre dossier - lien ) sur son client SMB ( lien ) vis-à-vis de MS08-68, au même titre que ce papier ( lien ) spécifique aux conséquences de ce correctif sur le fonctionnement de Squirtle.

Sept ans, presque un record si l’on excepte les huit années d’insécurités liées aux fichiers d’hibernation ( lien ) de ces systèmes laissés à l’appréciation plus récente de Sandman ( lien ). Une étude sur Secunia PSI ( lien ) indiquait par ailleurs récemment que seulement moins de deux pourcents des ordinateurs audités présentaient une liste à jour pour l’ensemble des correctifs disponibles.

Ces différentes attaques, exploitant NTLM, étaient jusqu’à présent dirigées vers une seule cible à la fois, Squirtle permet lui une exploitation massive pour la récupération d’une multitude de valeurs en un minimum de temps et depuis des sources multiples ; la collecte continuera d’être effectuée tant que l’instance exploitée du navigateur Web restera active.

Squirtle est accessible via une interface web de gestion, protégée elle par une authentification basique mais efficace ; différentes requêtes peuvent être effectuées dont le listage des valeurs de hachage NTLM collectées et celui des identifiants utilisateur concernés. Des fonctions de recherche pour un utilisateur donné ou une session sont également proposées ; l’ensemble des données issus d’une exploitation sont enregistrées dans une base SQL (SQLite, MySQL, PostgreSQL).

Cet outil a été développé de manière à pouvoir être intégré aisément dans des plateformes d’audit existantes comme Meplaspoit, Core Impact ( lien ) ou Immunity Canvas ( lien ). Celles-ci peuvent alors exploiter massivement des ressources qui utilisent l’authentification NTML et cela sans avoir à se préoccuper de cette étape. Des API ( lien ) sont disponibles à cet effet pour différents langages de programmation : Python ( lien ), Ruby ( lien ) et le C via libcurl ( lien ).

Squirtle permet, entre d’autres, d’exploiter les serveurs web Microsoft IIS ; le proxy NTLMAPS ( lien ) a ainsi été modifié afin d’être en mesure d’interagir avec Squirtle lorsqu’un serveur de ce type requiert une authentification NTLM. Pour prémunir ces serveurs de cette menace, il est possible de désactiver l’authentifications NTLM et privilégier des solutions plus sûres dans leur conception comme Kerberos ( lien ) ; il en va de même pour les serveurs SMTP, IMAP et NNTP.

Squirtle a été introduit lors de la conférence DEFCON 16 avec la présentation « NTLM is Dead » ( lien ) ainsi que lors de la conférence Toorcon X avec « One XSS To Rule The Enterprise » ( lien
) ; il peut être récupéré sur l’URL suivante ( lien ).

Toujours à propos des partages SMB et des hachages NTLM, ce tutoriel ( lien ) explique l’utilisation du script NASL ( Nessus Attack Scripting Language - lien ) Smbshell afin d’obtenir, entre autres, une invite de commande sur un hôte distant via l’exploitation de ses partages. Smbshell est un script disponible dans la branche 3.x du scanner de vulnérabilité Nessus ( lien ) édité par la société Tenable Network Security ( lien ).

La lecture de notre dossier ( lien ) sur les audits à destination des environnements Microsoft Windows est aussi recommandée et notamment la troisième partie ( lien ) sur la récupération des valeurs de hachage LM et NTLM en temps réel à l’aide de l’utilitaire PWDUMP ; la version 4 de cet outil est maintenant disponible ( lien ) sur le site de Xfocus.