arp欺骗
1.首先查看和自己同属一个网段下的ip:
nbtscan -r 192.168.80.167/24
这里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
可以看到在目标机器上在没有被攻击之前,默认路由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服务器发过来的包被解析,然后再绑定)
(5)如果攻击者充当中间人,截取dns发给受害者的服务包…那再说,估计只能破密了。
▲可以事先将DNS的MAC定期备份,定期删除。
4.开启目标机网络功能,截取目标机的数据包:
▲使用的工具在不同协议和不同环境的抓取能力都不太一样
(1)使用DSniff,支持Telnet 、Ftp、Smtp、P0P3、HTTP,以及其它的一些高层网络应用协议,用Telnet比较好用。比较老了,很多杀毒软件或者防火墙安全措施什么的都可以发现。
dsniff -i eth0(有时候不太好用)
(2)使用Ettercap
ettercap -Tq -i eth0(Tq是参数用的,过滤掉不必要的包)