网关是工做在OSI七层模型中的传输层或者应用层,用于高层协议的不一样
网络之间的链接,网关就比如一个房间通向另外一个房间的一扇门。php
ARP也分为单向欺骗和双向欺骗html
假设主机 A 192.168.1.2,B 192.168.1.3,C 192.168.1.4; 网关 G 192.168.1.1; 在同一局域网,主机A和B经过网关G相互通讯,就比如A和B两我的写信,由邮递员G送信,C永远都不会知道A和B之间说了些什么话。可是并非想象中的那么安全,在ARP缓存表机制存在一个缺陷,就是当请求主机收到ARP应答包后,不会去验证本身是否向对方主机发送过ARP请求包,就直接把这个返回包中的IP地址与MAC地址的对应关系保存进ARP缓存表中,若是原有相同IP对应关系,则原有的会被替换。
这样C就有了偷听A和B的谈话的可能,继续思考上面的例子:
C假扮邮递员,首先要告诉A说:“我就是邮递员” (C主机向A发送构造好的返回包,源IP为G 192.168.1.1,源MAC为C本身的MAC地址),愚蠢的A很轻易的相信了,直接把“C是邮递员”这个信息记在了脑子里;前端C再假扮A,告诉邮递员:“我就是A” (C向网关G发送构造好的返回包,源IP为A 192.168.1.2,源MAC地址为本身的MAC地址),智商捉急的邮递员想都没想就相信了,之后就把B的来信送给了C,C固然就能够知道A和B之间聊了些什么apache
上面ABCG的故事就是ARP双向欺骗的原理了浏览器
ARP单向欺骗就更好理解了,C只向A发送一个返回包,告诉A:G 192.168.1.1 的MAC地址为 5c-63-bf-79-1d-fa(一个错误的MAC地址,C的MAC地址),A把这个信息记录在了缓存表中,而G的缓存表不变,也就是说,A把数据包给了C,而G的包仍是给A,这样就是ARP单向欺骗了。
局域网内的DNS劫持能够依靠arp欺骗网关来达到修改dns请求,将其请求到咱们指定的网站。缓存
这里咱们使用bettercap来完成局域网DNS劫持实验安全
kali_hacker:192.168.41.130bash
win7_hackde:192.168.41.128服务器
win10_apache:100.66.10.247网络
安装bettercap
apt-get install bettercap
建立一个 dns.conf 文件,下面这个dns语句的意思是:全部的.com结尾的网站所有解析到个人本地Http服务器, .*\.com就是一个正则,也能够是自定义的正则
169.254.197.219 .*\.com
查看网关地址
netstat -rn route -n
由于安装的使bettercap2.x,感受没有1.x操做简单,彻底变了。因此从新找到一篇文章实验:
dns欺骗这里有一个前提,那就是局域网内的主机的DNS服务器是局域网内的网关,那样咱们才能进行DNS欺骗,若是DNS服务器设置的是公网的DNS服务器,好比设置的谷歌的8.8.8.8 DNS服务器的话,这样是不能进行DNS欺骗的。
ipconfig/all #查看DNS服务器
DNS欺骗以前,咱们先得进行ARP欺骗,就是先欺骗主机让其认为网关就是我(攻击机)。而后因为主机的DNS服务器就是网关,因此主机会向咱们发送DNS请求,这样咱们就能够进行欺骗了。
set arp.spoof.targets 192.168.41.128 #设置arp欺骗的主机以逗号分隔,默认是整个子网 arp.spoof on #先开启arp欺骗 set dns.spoof.domains www.baidu.com,www,taobao.com #设置要欺骗的域名,多个域名用,分开,若是要欺骗全部的域名的话,为 * set dns.spoof.address 100.66.10.247 #设置将要欺骗的域名转换成对应的ip地址 dns.spoof on #开启dns欺骗,www.baidu.com和www.taobao.com对应的ip是100.66.10.247
使用bettercap2.x实验失败,一直返回endpoint。
仍是使用ettercap实验
修改/etc/ettercap/etter.dns文件
开启ettercap
ettercap -G
选择模式默认全局Sniff->Unified sniffing
选择hosts->hosts-lists
添加到Target1
先arp毒化,选择Mitm->arp poisoning
而后选择plugin插件,选择dns_spoof,进行DNS劫持
查看靶机的ping项
第一个是arp攻击dns劫持前,第二个是arp攻击dns劫持后
浏览器查看
ettercap显示栏
ettercap经过view选项查看嗅探到的结果
由于我用的是以前出的题目的php,正好也有post请求,模拟hacker经过apr欺骗嗅探到受害者网页输入的密码
嗅探到了请求和返回,同时能够看到用户输入的密码。模拟了在局域网内经过apr欺骗网关,DNS劫持,使受害者全部的行径暴露于攻击者的视线中,经过能够诱骗用户访问你想要让他访问的网站。若是想把DNS劫持作的更完美的话,能够作一个很漂亮的前端,作的几乎分辨不出,而后让受害者下载一些木马病毒,好比诚殷网络的创始人黑无常作的完美无缺的Flash下载页面,诱导受害者下载并执行。(前提是你的后门免杀)
kali查看mac地址的一些命令
cat /proc/net/arp 查看远端链接ip的mac,非自身
cat /sys/class/net/eth0/address 查看自身mac地址
实验中网关的ip为192.168.41.2,mac为00:50:56:fc:26:85
经过arp欺骗,使受害者中的arp表中的网关mac地址变为hacker的mac地址
这里讲一下流程,更加的加深学习印象,hacker经过发送伪造的ARP包给局域网内的其余主机宣布本身的ip地址为192.168.41.2,把本身伪形成网关设备,其余主机学习到伪造的ARP包,误把网关的MAC地址解析为hacker主机的mac地址,此后,则受害者的全部访问外网的数据包都会发送给hacker。
ARP中的还有不少类型的攻击,有双向流量嗅探,有单向欺骗断网,有泛洪攻击影响网络通讯等
注意:
结束后实验记得刷新下DNS缓存
ipconfig/flushdns
重启下浏览器,在访问baidu.com就会跳转到正常的访问页面了
参考连接:
https://blog.csdn.net/qq_36119192/article/details/84582109
若是要改为老版本1.6的话能够参考这篇文章:
https://www.cnblogs.com/diligenceday/p/9912542.html