lundi 28 janvier 2008

[PENTEST] [MAIL] Can we rely on hidden password?

Alors qu'il y a quelques jours seulement je vous racontais comment récupérer simplement des mots de passe pour des comptes mails, un collègue de l'ESEC - que l'on nommera Agent HR - me montre un outil qui ne paye pas de mine mais qui entre dans la continuité du dernier post. Alors la mission du jour : combien de temps vous faut-il pour casser un mot de passe constitué de dizaines de caractères ? Bien sûr, par "caractères", j'entends symboles, lettres, chiffres et tout ce qui va bien. Allez, UNE seconde ! Mission impossible ? A nous de jouer !


Contexte :

Ce post sera intéressant dans le cadre d'un pentest interne ou externe si vous êtes entré sur le PC d'un utilisateur. Comme la plupart des postes de ce type, nous rencontrons une machine sous windows professionnel et avec Internet Explorer et Outlook installés. Vous n'avez pas réussi à trouver les mots de passe par les moyens fournis précédemment (via un webmail par exemple) et les attaques par brute force pataugent. Alors une fois sur l'ordinateur de la personne, vous pensez à regarder si celle-ci les enregistre automatiquement via son navigateur. Bien joué mais non, elle entre à chaque fois son mot de passe ou alors, elle n'utilise jamais le webmail.

L'acharnement est de mise car nous savons que les mots de passe sont la clé de voute d'un tel test d'intrusion. Alors rien dans les cookies, il vous vient une dernière idée simple : le client de messagerie ...

En effet, vous vous rendez compte que le mot de passe est bien enregistré dans le client de messagerie mais bien sûr, caché par des étoiles :

Nous ne sommes pas très avancés à part savoir que cela va nous prendre du temps de casser un mot de passe si long (34 caractères !) ... à moins que !


Notre arme du jour s'appelle, spy, winspy !

Alors pour réussir à trouver le mot de passe en une seconde, commençons par télécharger winspy++ [download].

(NB : Cet outil n'est pas à confondre avec winspy qui lui est un utilitaire contre les spywares).

Aucune installation n'est nécessaire, il suffit de décompresser le package téléchargé.

Vous trouvez alors un executable nommé WinSpy.exe (logique ;) que vous lancez.
Une petite fenêtre apparaît avec à sa gauche, une cible. Il suffit alors de faire du drag&drop sur cette cible et visez la champ avec le mot de passe (formé d'étoiles).


Et, dès que vous relachez la souris ...

... la magie opère !

Comme quoi, nous nous rendons compte encore une fois qu'un mot de passe, aussi fort soit-il, n'est pas forcément une garantie de sécurité.

Ce qu'il est important de retenir surtout, c'est qu'il ne faut laisser aucune trace ! Que ce soit dans les cookies, à travers une question secrète, sur un post-it, en clair dans un document TXT, dans le cache, etc ... un mot de passe est tant prisé qu'il faut vraiment y faire attention !
Malheureusement, les utilisateurs ne pensent souvent qu'au contenu (le mot de passe) mais bien trop rarement au contenant (la manière dont est chiffré, géré ou sauvegardé un mot de passe) ...

Pour terminer, si nous avons réussi notre défi, cela nous permettra certainement d'aller bien plus loin dans notre test. En effet, avoir un tel mot de passe, c'est bien mais en avoir deux, nous n'y croyons plus. Cela signifie que les autres mots de passe de l'utilisateur seront très certainement le même mot de passe ou un extrait de celui-ci ... l'aventure continue :)

dimanche 20 janvier 2008

[SOCIAL ENGINEERING] Found the open door inside the forteress...

Avant de commencer une attaque, nous avons tout intérêt à nous poser en premier lieu et à chercher le maillon faible. En effet, un principe de la sécurité des systèmes d'information est que le niveau de sécurité d'un système est équivalent au niveau de sécurité de son maillon le plus faible. Alors avant de vous attaquer à l'entrée principale ultra fortifiée d'une forteresse, chercher la petite porte ;)

Premier exemple : récupérer un compte Hotmail


Non sensibilisés à la nécessité d'avoir un mot de passe fort (comprendre lettres minuscules et majuscules, chiffres et symboles, le tout dans un mot de passe de 8 caractères minimum), les utilisateurs choisiront souvent un mot de passe que l'on pourra deviner par une attaque par dictionnaire ou un mot de passe simple (ex : martin76). Dans ce cas, une attaque par brute force peut suffire.

Maintenant, imaginons que notre utilisateur ait un bon mot de passe. Nous perdrions des années à essayer de le casser ! Alors trouvons le maillon faible !

  • 1/ Pour commencer, il suffit de nous rendre dans la rubrique "Mot de passe oublié". Nous trouverons un lien dans la page d'authentification. Là, remplissons comme demander l'adresse mail (ex : victime@hotmail.com) et les caractères de l'image.
  • 2/ Ensuite, choisir "utiliser ma question secrète ...". Si cette option n'est pas disponible, tant pis, il nous faudra trouver un autre moyen ...
  • 3/ Ici, on nous demande des informations comme le pays puis le code postale. Il suffit de connaître juste un peu la victime (société ou personne) pour savoir cela. Au pire, google est votre ami ;) Après, il vous faut donc répondre à la question secrète et c'est là que le bât blesse ! En effet, si certaines personnes penseront à mettre un mot de passe assez complexe lors de leur inscription, ils ne penseront que très rarement à le faire pour répondre à la question secrète ! Pis, ils oublieront très certainement ce champs et ne le modifieront jamais. Vous avez alors tout le temps souhaité pour trouver la bonne réponse qui devrait faire partie d'un ensemble de quelques dizaines de réponses possibles (ex : nom d'une équipe de foot, marque de voiture, ville de naissance, ...).

Dans notre exemple, il s'agit d'une émission TV. Comme il est écrit, on n'accepte que minuscule et majuscule à partir de 5 caractères :

Quelques essais seulement devraient vous suffire (ici, 2 ;) et hop :

Voilà, vous n'avez plus qu'à définir votre propre mot de passe pour le compte de la victime. Vous avez donc un total accès à sa messagerie ... et son compte MSN, et tout le reste. Merci l'unification des services avec Windows Hotmail Live ;)

Vous remarquerez que l'on a le culot d'écrire qu'un mot de passe fort empêche un accès non autorisé ... ha bon ? :)


Deuxième exemple : récupérer la connexion Wi-Fi d'un compte Free

Dans ce deuxième exemple, le principe est exactement le même. Imaginez que vous cherchiez à utiliser la bande Wi-Fi de votre voisin. Malheureusement, celui-ci chiffre sa communication avec un clé WAP2 et une passphrase de 64 caractères (ex : un poème entier avec des symboles et chiffres). Inutile d'espérer de casser une telle clé. Sûr ? Encore une fois, un maillon faible existe !

En effet, il est beaucoup plus simple de récupérer le compte free d'une personne. Pourquoi ? parce que celui-ci n'est constitué que d' :

  • un numéro de téléphone. Pour le connaître, il suffira de trouver son nom sur la boîte au lettre et utiliser le site des pagesjaunes ! Au pire, connaissant le coin, les 4 ou 6 premiers chiffres devraient être les mêmes que les vôtres ... (attention, il s'agit du numéro en 01/02/03/04/05 et non 08 ou09)

  • un mot de passe faible. il faut savoir que les comptes free d'une part n'accepte des mots de passe qui ne dépassent pas 6 caractères ! De plus, ils n'autorisent pas les symboles ! Autant dire qu'une attaque de type brute-force aura vite fait de casser ce type de mot de passe ... Plan B, si cela ne marchait pas, il faut savoir que les communications ne sont pas chiffrées mais passent toutes en HTTP, en clair ! Vous trouverez diverses attaques faciles pour récupérer le mot de passe grâce notamment à un sniffer tel que Wireshark (anciennement ethereal).

Vous avez alors accès à l'interface Free de la victime et vous pouvez de cette manière, entre autres, voir sa clé WPA2 ...

Comme quoi, la sécurité ne tient parfois qu'à un fil ...

samedi 19 janvier 2008

[WEB PENTESTING] A secret agent should be... invisible!

Lors d'un pentest, l'auditeur simulera le comportement de l'attaquant dans sa façon d'agir. Aussi, celui-ci, conscient que son activité est illégale fera en sorte de ne pas être pris. Voyons aujourd'hui un moyen de ne pas être lors d'attaques grâce au proxy P2P : TOR.

Avant-propos :

Pour ne pas être vu via le réseau Internet, plusieurs possibilités s'offrent à vous. En général, elles tournent autour du proxy. En changeant de cette manière votre adresse IP, votre propre adresse ne circulera pas. Sûr ? pas forcément ! D'une part, dans le cadre d'un proxy d'entreprise, c'est l'adresse de ce dernier que nous chercherons à localiser car ses logs et son caches nous seront très intéressant... De plus, en examinant les paquets, il contiennent l'adresse de retour ou du moins le port de destination qui trahira la personne pensant être "anonyme".
Dans le cadre d'un proxy classique que nous trouvons sur Internet, il sera la plupart du temps surchargé car gratuit ou payant mais quoiqu'il en soit, il sera toujours possible de localiser la personne. Sachant que si cela ne peut pas se faire à travers les paquets, ils restera toujours des traces dans les logs du proxy et/ou au sein de l'entité hébergeant celui-ci.
Pour remédier à cela, il fallait imaginer un concept nouveau : un réseau proxy peer-to-peer. Nous parlons de TOR !

Installation de TOR :

Pour utiliser cet utilitaire, nous aurons besoin dans un premier temps de télécharger vidalia ici.
Choisissez la dernière version selon votre OS et lancer l'installation. Vous obtiendrez ainsi tous les modules nécessaires au fonctionnement de TOR :

  • Privoxy
  • TOR lui-même
Démarrer ce composants et firefox car c'est à travers ce navigateur que nous allons uti. Sous Windows, vous devriez voir apparaître une icône dans la barre des tâches. Vous pourrez alors voir le panneau de configuration. Ainsi, vous pouvez vérifier que TOR est bien actif (mais pas en action !).
En effet, nous remarquons un nouvel élément dans la barre d'état de firefox avec le texte "You are now Unmasked".


Pour le vérifier, voyons l'adresse que nous transmettons simplement sur le site de la CNIL par exemple :

Nous voyons donc ici notre adresse IP publique qui n'a pas été modifiée.

Utilisation de TOR

Alors activons TOR en double-cliquant simplement sur l'icone de la barre d'état de firefox :

En fait, nous nous connectons alors à un "relais" TOR qui sert de serveur proxy. Vous passez par le port 8118 par défaut avec l'adresse localhost (127.0.0.1). Vous pouvez vous même utiliser votre machine en tant que serveur dans le menu de configuration de TOR et cliquez sur "installer un relais" (cf. première image). Activer l'option et voilà ! Plus il y aura de personne participant de cette manière, plus les pistes seront nombreuses et donc il sera plus difficile de vous retrouver. Maintenant que nous sommes maqués, voyons le résultat avec un autre site cette fois [ici].

Nous avons bien une nouvelle adresse ! En fait, plusieurs changements se sont opérés auparavant :

  • Nous nous sommes connectés à un des serveurs relais TOR ;
  • Firefox est configuré pour utiliser un proxy (avec privoxy), port 8118 - localhost (cf. configuration avancé > réseau de Firefox)
  • Firefox est configuré pour ne plus accepter les cookies pour plus de discrétion encore ;) (cf. "vie privée" dans les options de Firefox de nouveau)

Ensuite, vous pouvez surfer de manière anonyme. Evidemment, vous noterez un ralentissement... Mais aussi, chose intéressante, vous remarquerez que votre adresse changera très régulièrement. Avec tout cela, comment faire mieux pour brouiller les pistes ? Vous avez la possibilité de forcer le changement d'adresse dans le menu de configuration de TOR en cliquant sur "nouvelle identité" (cf. première image). Tout simplement !

Conclusion :

Si nous venons de montrer le moyen de ne pas être reconnu, c'est aussi une façon de ne pas être localisé. En effet, pour un investigateur, il devient difficile de remonter jusqu'à la personne qui utilise TOR. Cela est malheureusement valable aussi pour l'attaquant que l'on aura plus de mal à trouver ... Cependant, nous pouvons toujours compter sur une erreur de sa part. En effet, un attaquant non expérimenté, se croyant ainsi "invisible", pourra lancer une attaque où là, des traces subsisteront.
Pour l'utilisateur, TOR peut aussi être une source de danger. En effet, il y a deux ans et demi, une version de TOR vulnérable permettait à un attaquant de simuler un serveur privilégié (afin que l'utilisateur s'y connecte en priorité) et sniffer ainsi ses flux, voire les modifier. [Pour en savoir plus ...]
Alors comme toujours, faîte attention de disposer d'une version à jour :)

Locations of visitors to this page