arp欺骗

1.首先查看和自己同属一个网段下的ip:

nbtscan -r 192.168.80.167/24

img

这里157即为目标ip,167即为本机攻击ip

(这个需要apt-get install nbtscan)

2.然后使用工具arpspoof进行欺骗,kalilinux自带:

(1)arpspoof -i eth0 -t 192.168.80.157 192.168.80.2

(eth0是网卡接口,-t后是目标ip,之后的ip是该网段下的默认路由ip,可以通过route -n查询,或者其它方式)

▲这个原理就是修改己方的Mac地址为默认路由的Mac地址,那么目标主机发出的MAC帧就会被己方接收。

(2)如果攻击机开启了Ipv4的路由转发功能,那么arp欺骗不会成功,因为到达攻击机的包被转发出去了。

①查看己方的路由转发功能是否开启:

cat /proc/sys/net/ipv4/ip_forward

为0则关闭,为1则开启了。

②修改路由转发功能:

echo “0” > /proc/sys/net/ipv4/ip_forward

这行命令是往该文件中写入0,关闭路由转发功能

sysctl -p(让服务即可生效)

▲另外永久开启服务的相关命令可以上网再查

3.查看自己是否被ARP欺骗攻击:arp -a

img

可以看到在目标机器上在没有被攻击之前,默认路由ip对应的mac地址和攻击机ip对应的mac地址是不一样的,但是被攻击之后却变成一样的了。

▲解决办法:

(1)将dns服务器ip和mac静态绑定:

arp -s [dns_ip] [dns_mac]

(2)如果不知道原来的dns服务器的mac地址,那么可以先arp -d清空一下arp缓存,然后arp -a查看,这时候原本的dns服务器就会发过来包,其MAC就能被看到。

(3)如果攻击者一直执行欺骗程序,开启系统防火墙后清空arp缓存,也能抵御一般的arp欺骗。

(4)如果防火墙还是抵御不了,或者不允许开启防火墙,那么就进行抓包,先将arp缓存清空,之后抓取dns服务器发过来的包,其MAC一定正确,将该MAC地址与dns服务器ip绑定。(没有抓包工具就重复清空缓存,查询,大不了整个bat批处理,一定会有攻击者攻击间隙使得dns服务器发过来的包被解析,然后再绑定)

img

(5)如果攻击者充当中间人,截取dns发给受害者的服务包…那再说,估计只能破密了。

▲可以事先将DNS的MAC定期备份,定期删除。

4.开启目标机网络功能,截取目标机的数据包:

▲使用的工具在不同协议和不同环境的抓取能力都不太一样

(1)使用DSniff,支持Telnet 、Ftp、Smtp、P0P3、HTTP,以及其它的一些高层网络应用协议,用Telnet比较好用。比较老了,很多杀毒软件或者防火墙安全措施什么的都可以发现。

dsniff -i eth0(有时候不太好用)

(2)使用Ettercap
ettercap -Tq -i eth0(Tq是参数用的,过滤掉不必要的包)