zoukankan      html  css  js  c++  java
  • ARP欺骗与MITM(中间人攻击)实例

     

    主题名称

    ARP欺骗与MITM(中间人攻击)实例

     

     

    1. ARP协议(address resolution protocol):地址解析协议

      一台主机和另一台主机通信,要知道目标的IP地址,但是在局域网中传输数据的网卡却不能直接识别IP地址,所以用ARP解析协议将IP地址解析成MAC地址。ARP协议的基本功能就是通过目标设备的IP地址,来查询目标设备的mac地址。

      在局域网的任意一台主机中,都有一个ARP缓存表,里面保存本机已知的此局域网中各主机和路由器的IP地址和MAC地址的对照关系。ARP缓存表的生命周期是有时限的(一般不超过20分钟)。

    2. MITM攻击实例:

      网络拓扑:

       

      网络环境:

    • 无线路由器一台

      型号:Fast FW300R

    IP192.168.1.1

    MAC地址:00:5A:39:1A:BB:BE

    • 被攻击主机PC 1

      系统版本:Windows 10 Enterprise

      IP192.168.1.106

      MAC地址:00:5A:39:1A:BB:BE

    • 中间人(攻击者)主机PC 0

      系统版本:Kali Linux 2.0

    IP192.168.1.113

    MAC地址:00:0C:29:03:85:DC

    由于实验条件有限,故中间人主机PC 0在虚拟机内运行。但实际效果与真实测试相同。

     

    攻击测试:

    使用Kali Linux中的嗅探工具ettercap-NG对目标主机进行ARP欺骗,并截获明文密码。

    首先打开终端,输入ettercap -G 启动ettercap ettercap要求使用root权限,使用sudo或者切换到root用户运行)的图形界面模式,如图:

     

    打开ettercap-NG 的图形界面之后点击"sniff",选择"unified sniffing"然后根据自己的要求选择要抓包的网卡。

    使用NMAP工具查看局域网内所有主机:

     

    根据返回数据可知,我的网关无线路由器的IP地址为192.168.1.1MAC地址为:00:5A:39:1A:BB:BE,根据MAC地址,分析出 深圳Fast科技公司出产。

    此外有几台苹果的设备,是室友的几部苹果手机,此外还有一部Vivo手机,BBK步步高电子产品出产,还有一台小米科技出产的小米手机。此外,还有一台名为 Hon Hai Precision 的设备,经查原来其名为鸿海精密集团,富士康是旗下的公司,应该就是我的网卡生产商了。 还有一个提示信息为"Host is up"的主机即为本次测试的中间人(攻击者)的主机。

    筛选后,得到信息如下:

    主机名

    IP地址

    MAC地址

    Fast路由器(网关)

    192.168.1.1 

    00:5A:39:1A:BB:BE 

    被攻击主机PC 1

    192.168.1.106 

    C0:CB:38:6C:5A:B3

    中间人(黑客)主机PC 2

    192.168.1.113

    00:0C:29:03:85:DC

     

    返回ettercap,然后单击Hosts选项,选择Scan for host,待扫描完成之后再选择Scan for host,然后选择Host list,此时可以看到ettercap-NG已经扫描的主机列表,如图所示:

     

    然后就可以选择要攻击的目标了, 选择192.168.1.106IP地址,点击Add to Target 1(添加到目标1,然后选择网关的IP地址192.168.1.1,点击Add to Target 2(添加到目标2,可以看到ettercap提示成功加入目标,如图所示:

     

    然后明确攻击方式,这里采用ARP欺骗的方式,告诉主机192.168.1.106我(192.168.1.113)才是网关(192.168.1.1),使得 192.168.1.106的主机把所有数据流量全部发给我,然后抓包截获密码。

    明确攻击方式之后,我们选择"mitm"—"arp poisoning"— "Sniff remote connections" — "确定"

    这时可以看看目标主机的arp地址表,如图所示,ARP缓存毒化成功。

    攻击之前:

     

     

    点击确定攻击之后:

     

     

    此时发现ARP缓存表已经毒化成功!

    然后在攻击主机中选择"Start" —  "Start sniffing" 开始监听。

    此时使用Wireshark抓包工具可以发现,被攻击主机的所有流量都是通过攻击者的主机发送出去的,即被攻击主机误认为192.168.1.113是它的网关。

    此时便可以实现很多功能。例如抓包获取密码,Cookies欺骗,DNS欺骗,恶意程序替换等等,如通过driftnet过滤嗅探图片:

     

    • ARP攻击防范:

    1、双向绑定:

    一般来说,在小规模网络中,比较推荐使用双向绑定,也就是在路由器和终端上都进行IP-MAC绑定的措施,它可以对ARP欺骗的两边,伪造网关 和截获数据,都具有约束的作用。这是从ARP欺骗原理上进行的防范措施,也是最普遍应用的办法。它对付最普通的ARP欺骗是有效的。

    2ARP防火墙:

    在一些杀毒软件中加入了ARP防火墙的功能,它是通过在终端电脑上对网关进行绑定,保证不受网络中假网关的影响,从而保护自身数据不被窃取的措施。ARP防火墙使用范围很广,但也会有问题,如,它不能保证绑定的网关一定是正确的。如果一个网络中已经发生了ARP欺骗,有人在伪造网关,那么,ARP防火墙上来就会绑定这个错误的网关,这是具有极大风险的。

    3VLAN和交换机端口绑定:

    通过划分VLAN和交换机端口绑定来防范ARP,也是常用的防范方法。做法是细致地划分VLAN,减小广播域的范围,使ARP在小范围内起作 用,而不至于发生大面积影响。同时,一些网管交换机具有MAC地址学习的功能,学习完成后,再关闭这个功能,就可以把对应的MAC和端口进行绑定,避免了病毒利用ARP攻击篡改自身地址。也就是说,把ARP攻击中被截获数据的风险解除了。

  • 相关阅读:
    SQLServer2008设置开启远程连接
    C# 调用 SQL server 初探
    在同一网关下ping不通其他电脑
    SQL server 2008 安装报错 reporting services catalog database file existence
    Sql Server中一次更新多列数据
    Git warning push.default is unset
    删除右键菜单中的Git
    Java多线程中Lock的使用
    ConcurrentHashMap如何保证线程安全
    Java多线程之ThreadLocal
  • 原文地址:https://www.cnblogs.com/sinton/p/4986225.html
Copyright © 2011-2022 走看看