TCP/IP网络协议攻击。包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击。
ARP攻击或欺骗的原理是:通过发送伪造虚假的ARP报文(广播或单播),来实现的攻击或欺骗。如虚假报文的MAC是伪造的不存在的,实现ARP攻击,结果为中断通信/断网。如虚假报文的MAC是攻击者自身的MAC地址,实现ARP欺骗,结果可以监听、窃取、篡改、控制流量。
ICMP重定向信息是路由器向主机提供实时的路由信息,当一个主机收到ICMP重定向信息时,它就会根据这个信息来更新自己的路由表。由于缺乏必要的合法性检查,如果一个黑客想要被攻击的主机修改它的路由表,黑客就会发送ICMP重定向信息给被攻击的主机,让该主机按照黑客的要求来修改路由表。
SYN Flood是一种拒绝服务(DDoS)攻击,其目的是通过消耗所有可用的服务器资源使服务器不可用于合法流量。通过重复发送初始连接请求(SYN)数据包,攻击者能够压倒目标服务器机器上的所有可用端口,导致目标设备根本不响应合法流量。
在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再发送合法数据,服务器就已经没有这样的连接了,该用户就必须重新开始建立连接。
会话劫持利用了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会话劫持攻击方式的好处在于使攻击者避开了被攻击主机对访问者的身份验证和安全认证,从而使攻击者直接进入对被攻击主机的访问状态,因此对系统安全构成的威胁比较严重。
实践一中配置的蜜网环境。
开启蜜网环境中的网关、Kali Linux攻击机、win2000靶机、SEED ubuntu虚拟机和Linux靶机。
需要用到的蜜网网关、攻击机和靶机的IP地址和MAC地址如下表:
注意:SEED ubuntu虚拟机要连接到蜜网网关中
在Linux靶机上输入ping 192.168.200.124,尝试是否与win2000虚拟机连通。
返回64 bytes from 192.168.200.124,说明能ping通。
在蜜网网关中提权,然后输入ifconfig,获取网卡的信息。
蜜网网关的MAC地址为00:0C:29:F4:1E:5A。
在linux靶机中输入arp -a,查看ARP缓存的信息。
发现该主机能与win2000虚拟机ping通,且win2000虚拟机的MAC地址为00:0C:29:F0:54:A9。
进入Kali Linux攻击机,在终端中输入sudo su提权,然后输入netwox 80 -e 00:0C:29:F4:1E:5A 1 -i 192.168.200.124。
在Linux靶机中再次输入arp -a,运行,发现执行速度明显变慢,且win2000靶机的MAC地址变为00:0C:29:12:07:C3。
停止运行Kali虚拟机中的指令,在Linux靶机中再次ping通win2000靶机,然后输入arp -a,发现win2000靶机的MAC地址变回攻击前的地址了。
打开SEED Ubuntu虚拟机,运行route -n,发现该虚拟机的网关为192.168.200.1;然后输入ping baidu.com,发现能ping通,且对面的IP地址为39.156.66.10。
在Kali Linux攻击机中运行攻击指令netwox 86 -f “host 192.168.200.2” -g 192.168.200.4 -i 192.168.200.1。
回到SEED虚拟机中,再次运行ping baidu.com命令,发现目标主机的IP地址被重定向到Kali Linux攻击机了。
打开Kali Linux攻击机中的Wireshark,选择eth0网卡。
在SEED主机的终端中运行命令telnet 192.168.200.123,以命令行的形式访问Linux靶机。
出现上述图示,说明SEED主机能够正常访问Linux靶机。
并且能在wireshark中找到正常的TCP-SYN/ACK响应。
在Kali Linux虚拟机的终端中运行攻击命令netwox 76 -i 192.168.200.123 -p 23,对Linux靶机进行SYN Flood攻击。
运行一秒之后,立刻按Ctrl+C停止运行(防止Kali攻击机卡顿)。可以在wireshark中看到许多目的地址为192.168.200.123的SYN数据包,且发送地址为伪造的。
首先要保证,SEED主机能够通过telnet的方式访问Linux靶机。
在Kali Linux攻击机的终端中运行命令netwox 78 -i 192.168.200.123,然后在SEED主机中重新telnet,发现连通后,连接被立即中止了。
打开Kali查看Wireshark中的包,可以看到攻击机向靶机发送了RST包
在Kali Linux攻击机中运行Ettercap。单击右上角的对号,开始嗅探。
单击“…”-“hosts”-“Scan for hosts”,开始扫描网络中的主机。
单击“…”-“Hosts”-“Hosts list”,查看扫描出来的主机。
选择SEED主机,将其添加到Target1中;选择Linux靶机,将其添加到Target2中。
点击右上角的小地球打开MITM,选择ARP poisoning,点击OK,开始攻击,下方显示框里也表明此时的受害机是MetasploitableUbuntu与SEEDUbuntu
在SEED主机中telnet一下Linux靶机,输入账号密码进行登录。
回到Kali Linux虚拟机,点击“…”-“View”-“Connections”,双击主机为SEED主机和Linux靶机的那一项。
能在Connection Data中看到两个主机之间交互的数据,包括登录Linux靶机时输入的账号和密码。
问题1:netwox安装不下来,报错显示unable to locate package
问题1解决方案:首先考虑源的问题,但是修改之后仍然无法安装,并显示如下界面。
这表示所有源都尝试了,正常情况下不会出现这种情况。考虑Kali是否连上了网络,ping百度后发现网络未连接,发现问题所在。
这里我选择将Kali的网络适配器改为NAT8连接,重启网络服务/etc/init.d/networking restart后使用ifconfig命令显示正常,安装netwox没有问题。
本次实践采用了多种工具进行了多种TCP/IP协议攻击。从本次实践中,了解了这五种常见类型的TCL协议攻击是如何进行的。
-(https://www.cnblogs.com/sin90/p/16535916.html)
-(https://www.e-learn.cn/topic/3630110)
-(https://blog.csdn.net/fingue/article/details/127096363)