• 20199323 2019-2020-2 《网络攻防实践》第五周作业


    学号 2019-2020-2 《网络攻防实践》第X周作业

    1.学习内容

    TCP/IP网络协议栈攻击基本的知识

    • 网络安全属性:机密性、完整性、可用性、真实性和不可抵赖性
    • 网络攻击基本模式:
      截获:嗅探、监听
      中断:拒绝服务
      篡改:欺骗
      伪造

    网络协议攻击及其原理过程

    IP源地址欺骗攻击

    • 原理:只使用数据包中的目标地址进行路由转发,而不对源地址进行真实性的验证。
    • 过程:
      对受信任的主机进行拒绝服务攻击
      对目标主机的TCP初始序列号(ISN)进行取样和猜测
      伪造源地址为受信任的主机IP的SYN数据包发送给主机
      等待目标主机将SYN/ACK包发给已经瘫痪的受信任的主机
      再次伪装成被信任的目标主机发送ACK包、建立连接。
    • 工具:netwox;wireshark;nmap
    • 防范措施:使用随机化的初试序列号;使用网络层安全传输协议;避免采用基于IP地址的信任策略;在路由器和网关上实施包过滤

    ARP欺骗攻击

    • 原理:攻击者在有线以太网或者无线网上发送伪造ARP消息,对特定IP所对应的MAC地址进行假冒欺骗
    • 工具:DSniff中的Arpspoof;arpison;Ettercap;netwox
    • 防范措施:静态绑定关键主机的IP地址和MAC地址映射关系、使用相应的ARP防范工具、使用VLAN虚拟子网细分网络拓扑、加密是传输数据

    ICMP路由重定向攻击

    • 原理:利用ICMP路由重定向报文改变主机路由表,向目标主机发送重定向消息,伪装成路由器,使得目标机器的数据报文发送至攻击机从而加强监听
    • 工具:netwox
    • 防范措施:根据类型过滤一些ICMP数据包,设置防火墙过滤,对ICMP重定向报文判断是不是来自本地路由器的

    TCP RST攻击

    原理:伪造TCP重置报文,断开TCP会话连接

    TCP会话劫持攻击

    原理:劫持通信双方已经建立的连接,假冒其中一方的身份与另一方进行进一步通信

    TCP SYN Flood

    原理:向目标主机发送大量的伪造源地址的SYN连接请求,消耗目标主机的连接队列资源,从而不能够为正常用户提供服务

    UDP Flood

    原理:向目标主机和网络发送大量的UDP数据包,使得目标主机和网络陷入不可用的状态,造成拒绝服务攻击

    2.实践过程

    实验一:ARP缓存欺骗攻击

        MAC地址               IP地址
    

    kali 00:0c:29:44:15:20 192.168.200.4
    seed 00:0c:29:18:c4:15 192.168.200.3
    win2kserver 00:0c:29:a4:bf:da 192.168.200.124
    winxpp~ 192.168.200.2



    这次实验中我们把seed和win2当作正常通信的主机,kali当作攻击机,首先在攻击机上安装netwox,在kali上输入命令
    netwox 33 -b 00:0c:29:a4:bf:da -g 192.168.200.3 -h 00:0c:29:d1:2d:1d -i 192.168.200.124,这个命令是冒充seed欺骗win2。

    观察攻击前后win2的arp缓存表发生了变化:

    ICMP重定向攻击

    查看windows靶机路由:

    在kali中中使用使网关重定向为主机A的IP地址netwox 86 -f "host 192.168.200.2" -g 192.168.200.4 -i 192.168.200.1使网关重定向为kali的IP地址
    再次查看widows路由表发生了变化:

    实验三:TCP SYN Flood攻击

    在seed中使用ftp 192.168.200.2,输入用户名administrator,密码mima1234,登陆winxp主机:
    然后在kali中输入netwox 76 -i 192.168.200.3 -p 21进行攻击
    然后再次在seed登陆发现登陆失败:

    实验四:TCP RST攻击

    和上一个实验类似,只不过在kali攻击机上的命令是netwox 78 -i 192.168.200.3攻击主机seed
    然后再次在seed上远程登陆

    连接都已经被关闭。

    实验五:TCP会话劫持攻击


    实验第一步就失败了,还没找到解决方法,应该是虚拟机的问题,再重装下。
    然后换了台虚拟机,winxp和me-linux
    在winxp上用telnet远程登陆me-linux,并输入一个命令:

    在kali中打开wireshark会发现监听telnet,会监听到命令,命令是一个一个字符发送的:

    这是发送包的信息,包括源端口等:

    使用另一种方法,伪造包,把Next Seq Num作为下一个包的ACK,采用ACK作为下一个包的Seq。获取到信息之后,攻击机使用netwox工具伪造B给C发一个tcp包。

    然后在攻击机上输入netwox 40 --ip4-offsetfrag 0 --ip4-ttl (登录者TTL) --ip4-protocol 6 --ip4-src (攻击者IP) --ip4-dst (服务器IP) --tcp-src (原始端口) --tcp-dst 23 --tcp-seqnum (抓包可以看见raw seqnum) --tcp-acknum (抓包可以看见 ACK number(raw)) --tcp-ack --tcp-psh --tcp-window 128 --tcp-data "7265626f6f740d00"
    回头去看wireshark抓到的包。会看到大片的红色错误报文,由两类报文组成:TCP Dup ACK XXXX和TCP Retransmission 。其中TCP Dup ACK XXXX表示序号为XXXX的报文丢失,TCP Retransmission表示请求数据重传。

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

    • 问题1:虚拟机seed无法telnet登陆
    • 问题1解决方案:在网上找了好多方法,还未解决
    • 问题2:最后一个tcp会话劫持不会做,参考了孙启龙同学的

    4.实践总结

    动手能力太差还要加油啊。

  • 相关阅读:
    String和enum的互相转换
    LeetCode: Sort Colors
    LeetCode: Subsets II
    LeetCode: Spiral Matrix II
    LeetCode: Subsets
    LeetCode: Sum Root to Leaf Numbers
    LeetCode: Sqrt(x)
    LeetCode: Sudoku Solver
    LeetCode: Spiral Matrix
    LeetCode: Substring with Concatenation of All Words
  • 原文地址:https://www.cnblogs.com/w741741/p/12616246.html
Copyright © 2020-2023  润新知