美文网首页
kali ARP欺骗实现

kali ARP欺骗实现

作者: Pengzt | 来源:发表于2020-05-30 10:31 被阅读0次

    最近上午比较悠闲一些吧,翻阅以前的笔记,准备整理系列文章记录一下,忆往昔。。。
    给kali先开个专题,慢慢来。。。今天第一篇,arp欺骗实现。

    先谈谈arp这个协议的原理,就是知道对方的IP地址,不知道对方的MAC地址,此时可以触发源端发起ARP请求(request,广播)来获取目的节点的MAC地址,对方回应ARP应答(replay,单播)给源端,这样才能进行数据链路层的封装(数据帧)。其中的ARP请求是广播,这样本网段其他主机也会收到此ARP请求,但是他们不做应答,只是偷偷的把ARP请求中的源MAC进行记录到本地的ARP缓存中供以后使用(有效期内)。多说无益,抓个包试试,


    image.png

    看下ARP请求的详细内容


    image.png
    大家收到ARP请求后,会检查请求的目的IP地址是不是自己,如果是找的自己,那么要进行回应(replay),可以看到replay报文中携带了目的端自己的MAC地址。且replay是但单播,因为已经知道了源端的MAC,没必要再广播回应。
    image.png

    这样源端就知道了目的端的MAC,记录到自己的ARP缓存表中


    image.png
    到此为止,通信双方的MAC地址互相学习完毕,那么就可以按照TCP/IP模型进行数据帧的封装转发了
    image.png

    以上是ARP的原理,那么ARP欺骗呢?其实道理很简单,可以发现在上述过程中,本网段的所有主机在收到ARP请求时并不关心验证此ARP请求的真实性(到底是不是该IP地址发出的ARP请求)就自己提取参数学习到自己的ARP缓存中。。。那骗子就容易得手啊,嘿嘿


    image.png

    接下来实现ARP欺骗:
    根据以上原理,我们简单模拟拓扑图解释一下,


    image.png
    kali主机冒充A给B发送ARP请求,ARP请求中的sender-MAC是kali主机自己的,但是B不知道,导致B学习到的A主机对应的MAC实际是kali的,那么最终B将发往A的数据就会发给kali。嗯,就这么简单。

    测试案例一:
    实验环境,两台虚拟机 PC、kali
    被攻击PC IP配置地址192.168.1.103 GW 192.168.1.1

    image.png
    ARP表项
    image.png
    未欺骗之前可以访问www.qq.com
    image.png
    使用kali
    查看kali网卡配置 IP:192.168.1.106
    image.png
    利用arpspoof进行攻击欺骗
    参数
    image.png
    image.png
    进行攻击测试
    image.png
    可以看到PC无法访问外网,学到MAC地址为kali 主机eth0网卡MAC
    image.png
    以上的方法是使得网关和指定目标机器之间断网(网间通信失败)
    arpspoof还有一个进行流量传输的功能 即不截断,目标主机可以正常上网 但是网络流量会经过我的主机进行转发,这样就可以监控传输的流量。
    使用方法:
    先开启kali liunx的路由转发功能,默认没有启用
    echo 1 > /proc/sys/net/ipv4/ip_forward
    注意:这个路由转发只是临时生效 如果开机重启后还需要从新打开
    image.png
    然后执行arpspoof命令 arpspoof -i eth0 -t 192.168.80.x(目标主机ip) 目标主机的路由ip地址
    这时目标机器还可以正常上网 但流量已经被我们监控
    image.png
    kali上抓包,显示被欺骗主机的流量
    image.png

    案例二:
    来一个双向欺骗
    Web 192.168.1.106-----------------client 192.168.1.101 kali 192.168.1.107
    kali进行双向欺骗,


    image.png
    image.png

    kali允许转发的情况下,client可以正常访问到server,


    image.png
    client进行登录,kali抓包,可以看到
    image.png
    通信双方无感知。

    思考总结:
    (1)以上分析了ARP,那么RARP呢?
    (2)在案例二测试中,抓包的话只能抓明文协议(http),如果是https的不行。为啥?请大家思考,后续分析。。。
    (3)以上实验通过kali自带的arpspoof实现,大家感兴趣的可以使用其他工具(比如ARP发包工具)自己配置ARP包也可以实现,或者编写个脚本实现。。。后续更新。

    相关文章

      网友评论

          本文标题:kali ARP欺骗实现

          本文链接:https://www.haomeiwen.com/subject/gtjczhtx.html