Sniffer le traffic sur un réseau
Hi. Un petit TP pour aujourd’hui
?
Grâce à ettercap, vous allez aujourd’hui pouvoir récupérer tout ce qui transite en clair sur votre réseau, et plus particulièrement les couples login / password. Pour ce faire, vous aurez besoin du paquet ettercap ou, par exemple sous Arch, ettercap-gtk (sans quoi, pas d’interface graphique). En outre, sachez qu’il doit être lancé par root pour fonctionner ; dans ce tuto, j’utiliserai sudo.
Commençons par lancer l’appli :
sudo ettercap-gtk -G -n 255.255.255.0
L’option -G indique que je veux utiliser l’interface graphique. L’option -n précise le masque de sous-réseau, que vous trouverez grâce à ifconfig :
eth0 Link encap:Ethernet HWaddr 00:1B:38:3C:3B:30
inet addr:192.168.1.24 Bcast:192.168.1.255 Mask:255.255.255.0
Très bien, une fenêtre doit à présent s’afficher sur votre écran :
Dans le menu Sniff, sélectionnez Unified sniffing puis sélectionnez l’interface réseau qui vous relie au réseau. À noter que si vous êtes connecté par eth0, vous ne verrez que les paquets transitant par eth0. En l’occurrence, c’est mon cas.
À présent, le menu s’étend et vous pouvez cliquer sur Start > Start sniffing : le log vous indiquera la réussite de l’opération d’un Starting Unified sniffing…
. Vous devez scanner le réseau à la recherche de machines connectées, et cela grâce à Hosts > Scan for hosts :
Randomizing 255 hosts for scanning…
Scanning the whole netmask for 255 hosts…
3 hosts added to the hosts list…
À présent, passons aux choses sérieuses et attaquons le réseau ! Mitm > Arp poisoning puis cochez “Sniff remote connections” et validez :
ARP poisoning victims:
GROUP 1 : ANY (all the hosts in the list)
GROUP 2 : ANY (all the hosts in the list)
Vous êtes paré à la réception des paquets transitant par votre réseau. Vous patientez, quand soudain…
HTTP : 213.186.33.4:80 -> USER: kevindu95 PASS: azerty INFO: http://www.depannetonpc.net/forum/
On constate que kevindu95 vient de se connecter à DepanneTonPC avec le mot de passe azerty.
Faîtes également un tour par Hosts > Hosts list et View > Connections + View > Profiles. Cela vous permettra d’afficher des détails concernant les machines connectées au réseau : c’est toujours intéressant d’apprendre que votre petite soeur de 12 ans se balade sur meetic.com.
Amusez-vous bien
!




Terriblement intéressant ! Merci de m’avoir fait découvrir ce logiciel.
Le propriétaire de mon immeuble partage sa connexion internet entre les différents appartements, ainsi mes voisins et moi-même sommes dans le même réseau local. En suivant ta méthode, je visualise à quels sites sont connectés mes voisins … C’est inquiétant.
Quelques questions :
1 - Les ordinateurs espionnés par ettercap se rendent-ils compte qu’ils sont espionnés ? Leur connection à internet est-elle coupée ou ralentit ? Dans ton exemple, est-ce que kevindu95 va surfer sur depannetonpc.net sans se rendre compte qu’il est “sur écoute” ?
2 - Ettercap permet-il de récupérer les couples login / password d’un site en httpS ? Je pense notamment aux sites des banques en ligne, qui demandent une authentification par login / password ?
Cordialement,
Vinvin
Hi Vinvin. Ça me fait plaisir de recevoir un commentaire
.
Pour répondre à tes questions :
1 - Non - à ma connaissance -, les ordinateurs ne se rendent pas compte qu’ils sont espionnés. Le logiciel se contente de capter les paquets qui transitent entre le routeur et les différents PC connectés à ce gateway. Mais je me trompe peut-être, je ne suis pas un spécialiste en matière de réseaux, c’est un univers passionnant que je commence tout juste à découvrir.
2 - Non, et c’est bien le principe des sites sécurisés ! On ne peut pas, par exemple, voler un compte GMail ou un numéro de carte bleue.
En espérant t’avoir fait très peur
…
Merci pour ta réponse AddiKT1ve.
Je m’intéresse également à la sécurité informatique depuis que j’ai emménagé dans un immeuble où la connexion internet est partagée entre voisins. Mon ordinateur et ceux du voisinage sont dans le même réseau local ! Que dois-je craindre ? Comment se mettre à l’abri ? Ton tutoriel démontre que mes voisins peuvent facilement espionner mon utilisation d’internet …
Cet autre tutoriel approfondit l’utilisation d’ettercap :
http://openmaniak.com/fr/ettercap.php
L’article de Wikipedia décrit les fablesses du protocole ARP :
http://fr.wikipedia.org/wiki/Address_Resolution_Protocol
Enfin (le meilleur pour la fin) si tu t’intéresses à la sécurité des réseaux, je te conseille cet sublime tutoriel d’initiation à Netfilter, qui est la partie du noyau Linux qui s’occupe de recevoir, trier, modifier et refuser les paquets réseaux :
http://olivieraj.free.fr/fr/linux/information/firewall
Ça date de 2003, mais c’est excellent ! C’est de la bombe bébé !
Vinvin
Énorme, j’ai commencé par Openmaniak : c’est fantastique tout ce que l’on peut faire avec ce logiciel. J’ai également lu la page Wikpiédia concernant ARP.
J’ai bookmarké les pages écrites par Olivier ALLARD-JACQUIN, que je lirai dès que j’en aurai le temps. Ça me semble diablement intéressant !
Encore une fois, merci pour ces liens
Snif :’(
Bien ce qu’il me semblait, Starlame est un drogué. xD
Autrement, bon petit tuto à garder sous la main
Mauvais jeu de mot spotted
Vous allez un peu loin en matière de blagues vaseuses, les mecs…
Re AddiKT1ve
Le tutoriel d’Olivier ALLARD-JACQUIN présente les avantages du suivi de connection -conntrack- en matière de sécurité. Depuis la rédaction de ce tutoriel, des améliorations sont apparues :
#############################
1 - Le paramètre “-m state” est remplacé par “-m conntrack” qui permet de mieux gérer les états de connections. Voir ici :
http://www.netfilter.org/documentation/HOWTO/fr/netfilter-extensions-HOWTO-3.html#ss3.3
Concrètement, tu remplaces ceci :
iptables -A INPUT -i eth1 [b]-m state –state[/b] RELATED,ESTABLISHED -j ACCEPT
par ceci:
iptables -A INPUT -i eth1 [b]-m conntrack –ctstate[/b] RELATED,ESTABLISHED -j ACCEPT
#############################
2 - L’utilisation de l’état “NEW” pose quelques problèmes :
http://olivieraj.free.fr/fr/linux/information/atelier_netfilter/#III-5
Voici comment je contourne le problème. Ça vaut ce que ça vaut !
# Pour la chaîne INPUT :
iptables -t filter -A INPUT -m conntrack –ctstate INVALID -j DROP
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A INPUT -i ra0 -d 192.168.1.19 -m conntrack –ctstate RELATED,ESTABLISHED -j ACCEPT
# Et pour la chaîne OUPUT :
iptables -t filter -A OUTPUT -m conntrack –ctstate INVALID -j DROP;
iptables -t filter -A OUTPUT -o lo -j ACCEPT;
iptables -t filter -A OUTPUT -p ! tcp -j ACCEPT;
iptables -t filter -A OUTPUT -p tcp –syn -j ACCEPT;
iptables -t filter -A OUTPUT -p tcp -m conntrack –ctstate RELATED,ESTABLISHED -j ACCEPT;
#############################
Ces lignes seront compréhensibles lorsque tu auras pu étudié calmement le tuto.
Bonne continuation !
Désolé du temps de réponse, mais je suis actuellement en déménagement… Sans Internet ! Raaaah
En tout cas, merci beaucoup pour ces précisions. Dès que je pourrai m’y mettre, j’en tiendrai compte.
Au plaisir de te lire à nouveau !
Ca à l’air de se rapprocher de ngrep
Ex : http://www.marmottux.org/index.php/2006/03/12/615-ngrep
Yep, j’utilise aussi ngrep en console de façon parallèle ; cependant ngrep enregistre TOUS les post et get, ce qui n’est pas toujours intéressant. D’où l’intérêt de diriger le flux :
ngrep -d eth0 > ~/ngrep_sniff
Il faut également savoir que ses fonctionnalités ne sont pas comparable à celles d’ettercap. Pas d’attaque ARP avec ngrep !