蓝盾实训营day2——使用Kali ettercap进行DNS欺骗
蓝盾实训2
XSS可以直接百度,比较简单;arp欺骗和dns欺骗是用kali linux下的ettercap实现的,可以百度一下这个工具的使用。
arp欺骗
原理
- ARP协议的功能是通过目标设备的IP地址,查询目标设备的MAC地址。
- 每台主机都有一个arp缓存表,当发送数据时,主机A先检查缓存表里是否有目标IP地址的mac地址,如果没有,则发送一个局域网广播(ARP request);
- 局域网中所有主机都可以接收到这个广播;正常情况下,只有与目标IP地址对应的那台主机才会发送自己的MAC地址作为回应(ARP response)。
windows下可以用
arp -a [网关地址]
来查看当前网关的mac地址。
通过arp欺骗可以把自己的主机伪装成网关。具体操作见下面的DNS欺骗
DNS欺骗
原理:局域网内的主机访问一个网站时,会向dns服务器发送dns请求包,这里的dns服务器一般由网关主机担任,dns服务器收到请求后,查找自己的dns缓存表,如果有就返回,没有就返回该域名的根域名服务器,主机再向根域名服务器查询。DNS欺骗需要ARP欺骗的配合,把自己伪装成本局域网的dns服务器,从而达到域名劫持的效果。
由于受害主机上有DNS的缓存,所以有时候欺骗不成功,需要清除缓存,windows清除缓存的命令是 ipconfig/flushdns
在Kali下,编辑配置文件 /etc/ettercap/etter.dns,填写DNS规则:
在ettercap中开启dns欺骗选项:
扫描局域网主机,扫描完成后进入Hosts list:
将网关主机(一般是.1结尾)添加到target1,target2为受害主机,如果不填则是欺骗所有主机:
开始嗅探,start sniffing:
开启ARP欺骗:
在ettercap下方的显示卡会显示出当前被欺骗的域名,到这里DNS欺骗已经成功了:
停止DSN欺骗之后需要清空dns缓存,否则还是无法正常访问网站。
开启apache服务器
在kali linux中执行以下命令开启服务器: service apache2 start
在外部浏览器输入kali的ip检查能不能正常访问。
编辑返回给用户的页面:
gedit /var/www/html/index.html
内容:
<html>
<body>
<script>
window.open('http://119.75.217.109/');
window.open('https://blog.csdn.net/mingc0758/article/details/80993275');
window.location.href='https://blog.csdn.net/mingC0758';
</script>
</body>
</html>
这样使得受害人用域名来访问网站时都会跳到我们的博客页上,当然也要考虑本地dns缓存的问题。
ARP和DNS欺骗解决办法
如果是网络管理员,可以用软件查找攻击者,封禁他的MAC地址;
如果是老百姓,手动设置网关的IP地址和DNS服务器地址就可以解决。
总结
- XSS是由于对用户的输入没有进行过滤和处理,直接嵌入到html里面,所以我们就可以利用xss漏洞,插入我们自己的脚本,然后可以进行对用户的输入和cookie的窃取,甚至可以定向到钓鱼网站。
- 利用arp抓取局域网流量以前就玩过了,不过只能玩玩而已了,因为现在几乎没有网站用明文账号密码提交了,而且多数网站已经用上了https。
- 平时自己抓包可以使用代理,将流量导向抓包工具的代理地址。