无线渗透(序章)--中间人攻击

0x00. MITM简介

  中间人攻击(MITM)是一种由来已久的攻击手段,简单点说也就是截获你的流量,然后篡改或者嗅探流量,而且就算是老成的网络“高手”也不一定能发现自己中招了,接下来就由笔者给大家逐一介绍其中的攻击原理和防御手段。


0x01. ARP协议分析

  ARP即地址解析协议,数据包在以太网中传输时需要有两个地址,一个是IP地址,另一个就是MAC地址。其中的IP地址只是用来进行逻辑寻址的,以太网并不能通过IP地址进行通信,因为IP地址是可以变换的,基于IP的通信不可靠也不安全,所以在以太网中主要是靠MAC地址进行物理通信,因为电脑的MAC地址在出产时就已经设定好,一般不会改变,而ARP协议就是用来帮助主机获取目标主机的MAC地址!

ARP通信过程:

1. 首先,每台主机都会在自己的ARP缓冲区建立一个ARP列表,用于表示IP地址和MAC地址的对应关系

2. 当源主机需要向目标主机发送数据包时,会先检查自己的ARP缓冲区是否有该IP对应的MAC地址,如果有就直接发送数据包到该MAC地址;如果没有那么源主机就会在本网段发ARP广播包,查询目标主机的IP对应的MAC地址(注:这里只讨论局域网环境)

3. 接收到ARP广播包的主机会检查数据包中的目的IP地址和自己的IP地址是否一致,如果不同则丢弃数据包;如果相同那么目标主机会先将数据包中的IP/MAC对应关系缓存到自己的ARP列表中,并且会覆盖原本属于这个IP对应的MAC(注:这是中间人攻击的关键),然后给源主机发送一个 ARP响应数据包,告诉对方自己是它需要查找的MAC地址

4. 源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。


0x02. ARP劫持原理

image

  如上图所示,中间人攻击也就是将原本正常client<——>server之间的通信劫持下来变成client<——>attacker<——>server,让客户端和服务端的流量都从attacker的电脑经过,此时的attacker就可以侦听流经本机的流量并进行篡改和嗅探。下面介绍如何让attacker成为中间人。

MITM原理

1. 一开始笔者就介绍了ARP协议的通信原理,之所以这么做是想让大家对协议有更深入的理解,然后更好的弄清楚中间人的本质,这样才知道如何防御

2. 其实电脑是很笨的,它并不能向人类那样灵敏的思考,就好比我们直接给client发送一个ARP数据包声称:我的MAC对应的IP就是网关IP,以后把你的的数据包发给我让我帮你转发吧,然后client想都不想就会相信,而且也不理会自己是否发送了ARP广播包

3. 欺骗网关时也是一样的,那么之后的通信就会成为client<——>attacker<——>gateway


0x03. MITM攻击实战

环境准备

1. kali Linux

2. win 7靶机  IP=192.168.1.106

攻击流程

1.启动kali的流量转发功能,然后启动arpspoof对靶机和网关进行双向欺骗,成为中间人

echo 1 > /proc/sys/net/ipv4/ip_forward && arpspoof -t 192.168.1.106 -r 192.168.1.1

image
image

2. 启动urlsnarf监听靶机访问的URL

urlsnarf -i eth0

image

image

3. 通过dnsspoof进行DNS欺骗(注:笔者使用这个工具时不太稳定,有时成功有时失败,但是大多数情况下都失败了,可能是我的靶机缓存有DNS记录,所以大家尽量选择没访问过的站点)

echo “192.168.1.1 *.wmpic.me” > dnsspoof.host && dnsspoof -i eth0 -f dnsspoof.host


image


image


image

4. 通过dsniff嗅探密码

dsniff -cm

image

image


0x04. 防御措施

  关于中间人的利用就介绍到这里吧,大家可以自行Google一下其他的工具,下面介绍一下防御方法。基于ARP的中间人攻击只需要在网关上设置IP/MAC绑定就能杜绝了,其实原理很简单,这就是上面我给大家介绍ARP原理的原因。

image


0x05. 结语

  祝大家国庆快乐!!

文章目录
  1. 1. 0x00. MITM简介
    1. 1.0.1.   中间人攻击(MITM)是一种由来已久的攻击手段,简单点说也就是截获你的流量,然后篡改或者嗅探流量,而且就算是老成的网络“高手”也不一定能发现自己中招了,接下来就由笔者给大家逐一介绍其中的攻击原理和防御手段。
  • 2. 0x01. ARP协议分析
    1. 2.0.1.   ARP即地址解析协议,数据包在以太网中传输时需要有两个地址,一个是IP地址,另一个就是MAC地址。其中的IP地址只是用来进行逻辑寻址的,以太网并不能通过IP地址进行通信,因为IP地址是可以变换的,基于IP的通信不可靠也不安全,所以在以太网中主要是靠MAC地址进行物理通信,因为电脑的MAC地址在出产时就已经设定好,一般不会改变,而ARP协议就是用来帮助主机获取目标主机的MAC地址!
  • 3. ARP通信过程:
    1. 3.0.1. 1. 首先,每台主机都会在自己的ARP缓冲区建立一个ARP列表,用于表示IP地址和MAC地址的对应关系
    2. 3.0.2. 2. 当源主机需要向目标主机发送数据包时,会先检查自己的ARP缓冲区是否有该IP对应的MAC地址,如果有就直接发送数据包到该MAC地址;如果没有那么源主机就会在本网段发ARP广播包,查询目标主机的IP对应的MAC地址(注:这里只讨论局域网环境)
    3. 3.0.3. 3. 接收到ARP广播包的主机会检查数据包中的目的IP地址和自己的IP地址是否一致,如果不同则丢弃数据包;如果相同那么目标主机会先将数据包中的IP/MAC对应关系缓存到自己的ARP列表中,并且会覆盖原本属于这个IP对应的MAC(注:这是中间人攻击的关键),然后给源主机发送一个 ARP响应数据包,告诉对方自己是它需要查找的MAC地址
    4. 3.0.4. 4. 源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。
  • 4. 0x02. ARP劫持原理
    1. 4.1.   如上图所示,中间人攻击也就是将原本正常client<——>server之间的通信劫持下来变成client<——>attacker<——>server,让客户端和服务端的流量都从attacker的电脑经过,此时的attacker就可以侦听流经本机的流量并进行篡改和嗅探。下面介绍如何让attacker成为中间人。
    2. 4.2. MITM原理
      1. 4.2.1. 1. 一开始笔者就介绍了ARP协议的通信原理,之所以这么做是想让大家对协议有更深入的理解,然后更好的弄清楚中间人的本质,这样才知道如何防御
      2. 4.2.2. 2. 其实电脑是很笨的,它并不能向人类那样灵敏的思考,就好比我们直接给client发送一个ARP数据包声称:我的MAC对应的IP就是网关IP,以后把你的的数据包发给我让我帮你转发吧,然后client想都不想就会相信,而且也不理会自己是否发送了ARP广播包
      3. 4.2.3. 3. 欺骗网关时也是一样的,那么之后的通信就会成为client<——>attacker<——>gateway
  • 5. 0x03. MITM攻击实战
    1. 5.1. 环境准备
      1. 5.1.1. 1. kali Linux
      2. 5.1.2. 2. win 7靶机  IP=192.168.1.106
    2. 5.2. 攻击流程
    3. 5.3. 1.启动kali的流量转发功能,然后启动arpspoof对靶机和网关进行双向欺骗,成为中间人
    4. 5.4. 2. 启动urlsnarf监听靶机访问的URL
    5. 5.5. 3. 通过dnsspoof进行DNS欺骗(注:笔者使用这个工具时不太稳定,有时成功有时失败,但是大多数情况下都失败了,可能是我的靶机缓存有DNS记录,所以大家尽量选择没访问过的站点)
    6. 5.6. 4. 通过dsniff嗅探密码
  • 6. 0x04. 防御措施
    1. 6.0.1.   关于中间人的利用就介绍到这里吧,大家可以自行Google一下其他的工具,下面介绍一下防御方法。基于ARP的中间人攻击只需要在网关上设置IP/MAC绑定就能杜绝了,其实原理很简单,这就是上面我给大家介绍ARP原理的原因。
  • 7. 0x05. 结语
    1. 7.0.1.   祝大家国庆快乐!!
  • |