20212920 许邵 2021-2022-2 《网络攻防实践》实践四报告

20212920 许邵 2021-2022-2 《网络攻防实践》实践四报告

1.实践内容

TCP/IP网络协议攻击。包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击。

1.1 ARP缓存欺骗攻击原理

ARP攻击或欺骗的原理是:
通过发送伪造虚假的ARP报文(广播或单播),来实现的攻击或欺骗!
如虚假报文的mac是伪造的不存在的,实现ARP攻击,结果为中断通信/断网!
如虚假报文的mac是攻击者自身的mac地址,实现ARP欺骗,结果可以监听、窃取、篡改、控制流量,但不中断通信!

1.2 ICMP重定向攻击简介

ICMP重定向信息是路由器向主机提供实时的路由信息,当一个主机收到ICMP重定向信息时,它就会根据这个信息来更新自己的路由表。由于缺乏必要的合法性检查,如果一个黑客想要被攻击的主机修改它的路由表,黑客就会发送ICMP重定向信息给被攻击的主机,让该主机按照黑客的要求来修改路由表。

1.3 SYN Flood攻击

SYN Flood(半开放攻击)是一种拒绝服务(DDoS)攻击,其目的是通过消耗所有可用的服务器资源使服务器不可用于合法流量。通过重复发送初始连接请求(SYN)数据包,攻击者能够压倒目标服务器机器上的所有可用端口,导致目标设备根本不响应合法流量。

1.4 TCP RST攻击

在TCP协议中,RST:(Reset the connection)用于复位因某种原因引起出现的错误连接,也用来拒绝非法数据和请求。如果接收到RST位时候,通常发生了某些错误。假设有一个合法用户(1.1.1.1)已经同服务器建立了正常的连接,攻击者构造攻击的TCP数据,伪装自己的IP为1.1.1.1,并向服务器发送一个带有RST位的TCP数据段。服务器接收到这样的数据后,认为从1.1.1.1发送的连接有错误,就会清空缓冲区中建立好的连接。这时,如果合法用户1.1.1.1再发送合法数据,服务器就已经没有这样的连接了,该用户就必须重新开始建立连接。

1.5 TCP会话劫持攻击

会话劫持利用了TCP/IP工作原理来设计攻击。TCP使用端到端的连接,即TCP用(源IP,源TCP端口号,目的IP,目的TCP端号)来唯一标识每一条已经建立连接的TCP链路。另外,TCP在进行数据传输时,TCP报文首部的两个字段序号(seq)和确认序号(ackseq)非常重要。序号(seq)和确认序号(ackseq)是与所携带TCP数据净荷(payload)的多少有数值上的关系:序号字段(seq)指出了本报文中传送的数据在发送主机所要传送的整个数据流中的顺序号,而确认序号字段(ackseq)指出了发送本报文的主机希望接收的对方主机中下一个八位组的顺序号。因此,对于一台主机来说,其收发的两个相临TCP报文之间的序号和确认序号的关系为:它所要发出的报文中的seq值应等于它所刚收到的报文中的ackseq的值,而它所要发送报文中ackseq的值应为它所收到报文中seq的值加上该报文中所发送的TCP净荷的长度。
TCP会话劫持的攻击方式可以对基于TCP的任何应用发起攻击,如HTTP、FTP、Telnet等。对于攻击者来说,所必须要做的就是窥探到正在进行TCP通信的两台主机之间传送的报文,这样攻击者就可以得知该报文的源IP、源TCP端口号、目的IP、目的TCP端号,从而可以得知其中一台主机对将要收到的下一个TCP报文段中seq和ackseq值的要求。这样,在该合法主机收到另一台合法主机发送的TCP报文前,攻击者根据所截获的信息向该主机发出一个带有净荷的TCP报文,如果该主机先收到攻击报文,就可以把合法的TCP会话建立在攻击主机与被攻击主机之间。带有净荷的攻击报文能够使被攻击主机对下一个要收到的TCP报文中的确认序号(ackseq)的值的要求发生变化,从而使另一台合法的主机向被攻击主机发出的报文被被攻击主机拒绝。TCP会话劫持攻击方式的好处在于使攻击者避开了被攻击主机对访问者的身份验证和安全认证,从而使攻击者直接进入对被攻击主机的的访问状态,因此对系统安全构成的威胁比较严重。

2.实践过程

2.1 实践环境

  • 实践一中配置的蜜网环境

2.2 实践记录

开启蜜网环境中的网关、Kali Linux攻击机、win2000靶机、SEED ubuntu虚拟机和Linux靶机。
攻击机和靶机的IP地址如下表:

主机 IP地址
Kali Linux攻击机 192.168.233.5(DHCP)
win2000靶机 192.168.233.124
Linux靶机 192.168.200.123
SEED主机 192.168.233.7(DHCP)

注意:SEED主机要连接到蜜网网关中

2.2.1 ARP缓存欺骗攻击

在Linux靶机上输入ping 192.168.233.124,尝试是否与win2000虚拟机连通。

返回64 bytes from 192.168.233.124,说明能ping通。
在蜜网网关中提权,然后输入ifconfig,获取网卡的信息。

蜜网网关的MAC地址为00:0c:29:f7:39:7f。
在linux靶机中尝试是否能与win2000虚拟机ping通,然后输入arp -a,查看ARP缓存的信息。

发现该主机能与win2000虚拟机ping通,且MAC地址为00:0c:29:16:ef:e6.
进入Kali Linux攻击机,在终端中输入sudo su提权,然后输入netwox 80 -e 00:0c:29:f7:39:7f 1 -i 192.168.233.124
在Linux靶机中再次输入arp -a,运行,发现执行速度明显变慢,且win2000靶机的MAC地址变为00:0c:29:f7:39:7f。

停止运行Kali虚拟机中的指令,在Linux靶机中再次ping通win2000靶机,然后输入arp -a,发现win2000靶机的MAC地址变回攻击前的地址了。

2.2.2 ICMP重定向攻击

打开SEED Ubuntu虚拟机,运行route -n,发现该虚拟机的网关为192.168.233.1;然后输入ping baidu.com,发现能ping通,且对面的IP地址为220.181.38.148。

在Kali Linux攻击机中运行攻击指令netwox 86 -f "host 192.168.233.7" -g 192.168.233.5 -i 192.168.233.1
回到SEED虚拟机中,再次运行ping baidu.com命令,发现目标主机的IP地址被重定向到Kali Linux攻击机了。

2.2.3 SYN Flood攻击

打开Kali Linux攻击机中的Wireshark,选择eth0网卡。
在SEED主机的终端中运行命令telnet 192.168.233.123,以命令行的形式访问Linux靶机。

出现上述图示,说明SEED主机能够正常访问Linux靶机。

并且能在wireshark中找到正常的TCP-SYN/ACK响应。
在Kali Linux虚拟机的终端中运行攻击命令netwox 76 -i 192.168.233.123 -p 23,对Linux靶机进行SYN Flood攻击。运行一秒之后,立刻按Ctrl+C停止运行(防止Kali攻击机卡顿)。可以在wireshark中看到许多目的地址为192.168.233.123的SYN数据包,且发送地址为伪造的。

2.2.4 TCP RST攻击

首先要保证,SEED主机能够通过telnet的方式访问Linux靶机。

在Kali Linux攻击机的终端中运行命令netwox 78 -i 192.168.233.123,然后在SEED主机中重新telnet,发现连通后,连接被立即中止了。

2.2.5 TCP会话劫持攻击

在Kali Linux攻击机中运行Ettercap。
单击右上角的对号,开始嗅探。

单击“...”-“hosts”-“Scan for hosts”,开始扫描网络中的主机。
单击“...”-“Hosts”-“Hosts list”,查看扫描出来的主机。
选择SEED主机,将其添加到Target1中;选择Linux靶机,将其添加到Target2中。


运行ARP Poisoning。


在SEED主机中telnet一下Linux靶机,输入账号密码进行登录。

回到Kali Linux虚拟机,点击“...”-“View”-“Connections”,双击主机为SEED主机和Linux靶机的那一项。

能在Connection Data中看到两个主机之间交互的数据,包括登录Linux靶机时输入的账号和密码。

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

  • 问题1:使用netwox 80命令时,出现3002错误。

  • 问题1解决方案:先使用sudo su提权。

  • 问题2:运行TCP SYN Flood攻击时,Kali Linux主机卡顿。

  • 问题2解决方案:这是Kali Linux发送大量SYN数据包导致的。运行指令后,应在比较短的时间内结束这一次攻击。

4.实践总结

本次实践,采用了不同的工具,进行了多种TCP/IP协议的攻击,从实践中,深入理解了这五种常见类型的TCL协议攻击是如何运作的。
netwox介绍:盘点一款黑客必备的强大网络工具集——netwox_pyjishu的博客-CSDN博客_netwox

参考资料

posted @ 2022-04-03 10:40  言午召耳  阅读(126)  评论(0编辑  收藏  举报