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 :)

2 commentaires:

Anonyme a dit…

Bonsoir,

Au début vous avez écrit : 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".

Ma question est :

le faite de connaitre le port de destination d'un paquet permet de trahir une personne ? si oui comment ?

Cordialement,

Jérémy RENARD a dit…

Côté client, un port aléatoire est utilisé. Nous le voyons bien avec un netstat par exemple. Ce port est généralement compris entre 1025 et 65535 (les 1024 premiers étant réservés). Il y a donc peu de chance que le même port de destination soit utilisé pour deux utilisateurs différents. Du moins, cela réduit le champ de recherche. Nous avons donc concrètement besoin d'analyser le trafic.

A noter que depuis, des failles ont été trouvées sur le réseau TOR. Voici quelques liens intéressants :
http://bricowifi.blogspot.com/2008/07/ettercap-ng-sniffing-hacking-tor-users.html ET
http://www.xmcopartners.com/actu-secu/XMCO-ActuSecu-Janvier2008.pdf

Locations of visitors to this page