• 20199131-第5次作业-TCP/IP网络协议攻击


    20199131 2019-2020-2 《网络攻防实践》第5周作业

    1.知识总结

    ARP欺骗原理

    • 局域网的网络流通不是根据IP地址进行,而是根据MAC地址进行传输。
    • 在局域网中某机器A要向主机B发送报文,会查询本地的ARP缓存表,找到B的IP地址对应的MAC地址后,就会进行数据传输。如果未找到,则A广播一个ARP请求报文(携带主机A的IP地址Ia——物理地址Pa),请求IP地址为Ib的主机B回答物理地址Pb。网上所有主机包括B都收到ARP请求,但只有主机B识别自己的IP地址,于是向A主机发回一个ARP响应报文。其中就包含有B的MAC地址,A接收到B的应答后,就会更新本地的ARP缓存。接着使用这个MAC地址发送数据(由网卡附加MAC地址)。因此,本地高速缓存的这个ARP表是本地网络流通的基础,而且这个缓存是动态的。

    ICMP重定向攻击

    • 原理:IP协议缺少差错和查询机制。ICMP报文类型,差错报告类和控制类。ICMP路由重定向主要用于网络故障是数据包处理,网络拓扑结构发生变化,出现故障时。利用ICMP路由重定向报文改变主机路由表,向目标主机发送重定向消息,伪装成路由器,使得目标机器的数据报文发送至攻击机从而加强监听。

    • 路由表

    TCP RST攻击


    TCP RST攻击可以终止两个被攻击主机之间的TCP连接。

    TCP SYN Flood拒绝服务攻击

    • 拒绝服务攻击(Denial of Service,DoS)目的是使服务器不能够为正常访问的用户提供服务

    • TCP SYN Flood:又称为SYN洪泛攻击,它利用TCP三次握手协议的缺陷,向目标主机发送大量的伪造源地址的SYN连接请求,消耗目标主机的连接队列资源,从而不能够为正常用户提供服务

    TCP会话劫持的原理

    • TCP会话劫持攻击,是劫持通信双方已建立的TCP会话连接,假冒其中一方的身份与另一方进行进一步通信。通常一些网络服务会建立在TCP会话之后进行应用层的身份认证,客户端在通过身份认证之后,就可以通过TCP会话连接对服务器索取资源。且期间不用再次进行身份认证。而TCP会话劫持为 攻击者提供了一种绕过应用层身份认证的技术途径,因此得到较高水平攻击者的青睐。

    2.实践过程

    2.1 ARP缓存欺骗攻击

    • 环境

    主机A(kali)的配置:

    主机B(Win2kServer)的配置:

    主机C(WinXPAttacker)的配置:

    实验工具,这里我们使用netwox,首先,在kali虚拟机下安装netwox如图

    • 操作

    接着在主机B上ping主机C,这样主机B就建立了ARP映射表,如图”

    在Kali主机上,使用命令netwox 80 -e 主机A的MAC地址 -i 主机C的IP地址

    如图,再次在可以看到B主机的ARP映射表已经被修改,目的达到!

    2.2 ICMP重定向攻击

    • 环境
      靶机A:Win2kServer,如图

    攻击机B:Kali,如图

    查看靶机A的route表,可以看到这个时候表中的Gateway(又称下一跳路由器)里没有攻击机B的IP,如图所示:

    在kali虚拟机下,输入命令”netwox 86 -f "tcp and host 192.168.200.88" -g 192.168.200.8 -i 192.168.200.1“,进行ICMP重定向

    然后,我们再查看一次route表,如图,可以看到

    2.3 SYN Flood攻击

    • 这里用SEED Ubuntu向靶机MetaSploitable发起telnet服务访问,用kali攻击靶机的telnet服务端口
    • 使用SEED Ubuntu向靶机MetaSploitable发起telnet服务访问,然后输入账号密码,可正常登录。

    然后在kali上通过指令netwox 76 -i 192.168.200.10 -p 23可对靶机的23号端口进行攻击

    随后再次尝试使用SEED Ubuntu向靶机MetaSploitable发起telnet服务访问,发现不可访问,说明攻击成功

    2.4 TCP RST攻击

    这里同样先利用SEED Ubuntu向靶机MetaSploitable发起telnet服务访问,然后回到kali通过指令netwox 78 -i 192.168.200.10,发现SEED上的连接已经被关闭

    再次访问,也无法访问

    2.5 TCP会话劫持

    • 这里同样先利用SEED Ubuntu向靶机MetaSploitable发起telnet服务访问

    • 然后在kali上打开wireshark,设置过滤条件tcp.port == 23,然后在seed上输入账号:msfadmin,密码:msfadmin远程登录,回到kali的wireshark查看,会有m、s、f、a、d、m、i、n的数据包。







    • 然后打开最后一个包,观察源端口,目的端口,NEXT Seq NMU和ACK的值

    • 通过指令
      netwox 40 --ip4-dontfrag --ip4-offsetfrag 0 --ip4-ttl 64 --ip4-protocol 6 --ip4-src 192.168.200.4 --ip4-dst 192.168.200.125 --tcp-src 34192 --tcp-dst 23 --tcp-seqnum 13 --tcp-acknum 97 --tcp-ack --tcp-psh --tcp-window 64 --tcp-data "68656C6C6F776F726C64"伪造包

    然后可以在wireshark里观察到发送的值helloword

    3.学习中遇到的问题及解决

    • 问题1:在做ARP缓存欺骗攻击时,使用WinXP作为被攻击对象,结果实验中,无法改变WinXP的ARP映射表
    • 问题1解决方案:使用Win2kServer作为被攻击对象。

    4.实践总结

    感觉先可以做一遍实验,接着写博客的时候再边写边做,总共做两遍。

    参考资料

  • 相关阅读:
    自己写的一个校验IP、IP掩码、IP段的方法
    JS 数组方法splice的源码探究
    element ui 的时间选择控件
    浅谈闭包
    tensorFlow-深度学习训练并行模式
    tensorflow-TensorBoard
    tensorflow-RNN和LSTM
    tensorflow-TFRecord报错ValueError: Protocol message Feature has no "feature" field.
    tensorflow-mnist报错[WinError 10060] 由于连接方在一段时间后没有正确答复解决办法
    旋转图片,增加神经网络的准确率
  • 原文地址:https://www.cnblogs.com/lilei0915lgz/p/12616311.html
Copyright © 2020-2023  润新知