软件安全实验——lab10(二、TCP/IP攻击实验)

目录标题

  • 1、实验室概况
  • 2、实验室环境
    • 2.1环撞设置
    • 2.2教师须知
  • 3、实验室的任务
    • 3.1 Task (1): ARP缓存中毒
      • (1)80号工具攻击:
      • (2)33号工具攻击:
    • 3.2任务(2):ICMP重定向攻击
      • 82,83,84,85,86工具:
    • 3.3任务(3):SYN flood攻击
      • (1)关闭SYN cookie机制:
      • 76,78工具:
      • (2)打开SYN cookie机制:
    • 3.4任务(4):针对telnet和 ssh连接的TCP RST攻击
      • 78号工具:
    • 3.5任务(5):针对流媒体应用的TCP RST攻击
    • 3.6任务(6):ICMP盲连接复位和源端抑制攻击
      • (1)ICMP盲连接复位
      • 82号工具:
      • (2)源端抑制攻击
      • 85号工具:
    • 3.7任务(7):TCP会话劫持
      • 40号工具:
      • shijack工具
    • 3.8调查
    • 3.9注意
  • 4、实验报告

1、实验室概况

??本实验室的学习目标是让学生对TCPIP协议的漏洞以及针对这些逅洞的攻击获得第一手的经验。TCPIP协议中的漏洞代表了协议设计和实现中的一种特殊类型的漏润;它们提供了一个宝贵的教训,告诉我们为什么应该从一开始就设计安全性,而不是在事后才添加。此外,研究这些漏洞有助于学生了解网络安全面临的挑战,以及为什么需要采取许多网络安全措施。TCP/P协议的漏洞存在于多个层面。

2、实验室环境

2.1环撞设置

网络设置。要进行这个实验,学生需要至少3台机器,一台计算机用于攻击,第二台计算机作为受害者,第三台计算机作为观察者。学生可以在同一台主机上设置3台虚拟机,也可以设置2台虚拟机,然后主机作为第三台计算机使用。对于这个实验室,我们将这三台机器放在同一个局域网中,配置如下:

软件安全实验——lab10(二、TCP/IP攻击实验) 软件安全实验——lab10(二、TCP/IP攻击实验)

2.2教师须知

??对于这个实验,一个实验会议是可取的,特别是如果学生不熟悉工具和环境装饰。如果一个讲师计划举办一个实验谋程(由他/她自己或由助教),建议在实验课程中包括以下内容。我们假设讲师已经在讲座中涵盖了攻击的概念,所以我们不在实验环节中包含它们。
? 使用虚拟机软件。
? wireshark,Netwag和Netwox工具的使用。
? 使用Netwnx命令行工具创建任意TCP, UDP,IP数据包等。

3、实验室的任务

??在这个实验中,学生需要对TCPIP协议进行攻击。他们可以使用netwox工具和/或其他工具进行攻击。所有攻击均发生在 Linux 操作系统上。然而,教师也可以要求学生对其他操作系统进行同样的攻击。并对观察结果进行比较。
??为了简化TCP 序列号和源端口号的“猜测”,我们假设攻击者和受害者在同一个物理网络上。因此,您可以使用嗅探器工具来获取这些信息。下面是需要实现的攻击列表。

3.1 Task (1): ARP缓存中毒

??ARP缓存是ARP协议的重要组成部分。一旦执行ARP协议后,MAC地址和IP地址之间的映射被解析,映射就会被缓存。因此,如果该映射已经在缓存中,则无需重复执行ARP协议。然而,由于ARP协议是无状态的。缓存很容易被恶意ARP消息破坏。这种攻击称为ARP缓存投毒攻击。
??在这种攻击中,攻击者使用欺骗ARP消息来欺骗受害者接受一个无效的MAC-IP映射,并将该映射存储在其缓存中。根据攻击者的动机,可能会出现各种各样的结果。例如,攻击者可以将一个不存在的MAC地址与受害者的默认网关IP地址相关联,从而对受害者发起DoS攻击;攻击者还可以将攻击对象之间的通信重定向到另一台机器,等等。
??在本任务中,您需要演示ARP缓存中毒攻击是如何工作的。在这个任务中有几个命令是有用的。在Linux 中,我们可以使用命令arp来检查当前地址和MAC地址的映射关系。

??ARP欺骗攻击的根源是ARP协议设计时认为局域网内部所有用户是可信的,采用广播请求包方式在局域网段中询问映射关系,并在本地使用ARP缓存机制。
以数字地址形式显示所有接口的当前ARP 缓存表:

-n 以数字地址形式显示
-a 显示所有接口的当前ARP 缓存表

软件安全实验——lab10(二、TCP/IP攻击实验) 软件安全实验——lab10(二、TCP/IP攻击实验) 软件安全实验——lab10(二、TCP/IP攻击实验)

Netwag 的GUI版本是:

软件安全实验——lab10(二、TCP/IP攻击实验)

??该命令的含义是告诉192.168.48.135主机,IP地址为192.168.48.134的MAC地址为00:0c:29:c9:a1:0b(实际上是192.168.48.136的MAC地址)
之后我们在192.168.48.135主机上查看它的ARP地址缓存表:

软件安全实验——lab10(二、TCP/IP攻击实验)

Wireshark抓包发现:

软件安全实验——lab10(二、TCP/IP攻击实验)

??该命令的含义是告诉192.168.48.135主机,IP地址为192.168.48.136的MAC地址为00:0c:29:42:43:a4(实际上是192.168.48.134的MAC地址)
之后我们在192.168.48.135主机上查看它的ARP地址缓存表:

软件安全实验——lab10(二、TCP/IP攻击实验)

至此,134作为135和136的中间人攻击已经完成,这样135要给136发消息时就会发给134,136要给135发消息时也会发给134。

3.2任务(2):ICMP重定向攻击

??路由器使用ICMP重定向消息向主机提供最新的路由信息,主机最初只有最小的路由信息。当主机收到ICMP重定向消息时,它将根据该消息修改路由表。由于缺乏验证,如果攻击者希望受害者以特定的方式设置其路由信息,可以向受害者发送敲骗的ICMP重定向消息,并欺骗受害者修改其路由表。
??在本任务中,您应该演示_ICMP重定向攻击是如何工作的,并插述观察到的结果。在Linux下查看路由信息。可以使用route命令。

Linux下查看路由信息。可以使用route命令:

软件安全实验——lab10(二、TCP/IP攻击实验) 软件安全实验——lab10(二、TCP/IP攻击实验) 软件安全实验——lab10(二、TCP/IP攻击实验)

然后在被攻击的主机192.168.48.129运行前面的命令:

软件安全实验——lab10(二、TCP/IP攻击实验)

可以看到192.168.48.129从第一跳地址开始就没有收到任何回包,且无法到达目标地址。
我们在192.168.48.129抓包:

软件安全实验——lab10(二、TCP/IP攻击实验)

SYN Cookie对策:如果您的攻击似乎不成功,您可以调查的一件事是,SYN Cookie机制是否打开了。SYN cookie是一种针对SYN flood攻击的防御机制。如果机器检测到它受到SYN泛洪攻击,该机制将启动。可以使用sysctl命令打开/关团SYN cookie机制:

??请打开或关闭SYN cookie机制运行您的攻击,并比较结果。在您的报告中,请描述为什么SYN cookie可以有效地保护机器免受SYN泛骐攻击,如果你的导师在讲座中没有介绍这个机制,你可以从互联网上找到SYN cookie机制是如何工作的。

使用以下命令检查系统队列大小设置:

软件安全实验——lab10(二、TCP/IP攻击实验)

-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
显示tcp、udp连接:

软件安全实验——lab10(二、TCP/IP攻击实验)

76,78工具:

这些工具用于特定的TCP攻击(SYN和RST攻击)都很简单
刚开始从攻击机192.168.48.134连接192.168.48.135的21端口的ftp服务:

软件安全实验——lab10(二、TCP/IP攻击实验)

之后我们在192.168.48.134攻击主机上用netwox的76工具发送攻击数据包:

软件安全实验——lab10(二、TCP/IP攻击实验)

ftp服务的SYN-RECV半连接越来越多,
抓包可以看到192.168.48.135收到了大量的TCP连接建立的请求:

软件安全实验——lab10(二、TCP/IP攻击实验)

已经连接不上了

(2)打开SYN cookie机制:

软件安全实验——lab10(二、TCP/IP攻击实验)

在192.168.48.135被攻击主机上查看tcp、udp连接队列的使用情况:

软件安全实验——lab10(二、TCP/IP攻击实验)

连接会比较缓慢,多连几次还是可以连接上。
用Wireshark抓取TCP包:

软件安全实验——lab10(二、TCP/IP攻击实验)

??SYN Cookie是对TCP服务器端的三次握手协议作一些修改,专门用来防范SYN Flood攻击的一种手段。它的原理是,在TCP服务器收到TCP SYN包并返回TCP SYN+ACK包时,不分配一个专门的数据区,而是根据这个SYN包计算出一个cookie值。在收到TCP ACK包时,TCP服务器在根据那个cookie值检查这个TCP ACK包的合法性。如果合法,再分配专门的数据区进行处理未来的TCP连接。

3.4任务(4):针对telnet和 ssh连接的TCP RST攻击

??TCP RST攻击可以使两个攻击对象之间已经建立的TCP连接终止。例如,用户A和用户日之间已经建立了telnet连接(TCP),攻击者可以通过欺骗用户A到用户B的 RST报文,破坏用户B到用户A的 telnet连接。为了成功进行这种攻击,攻击者需要正确构造TCP RST报文。
在本任务中,需要对A和B之间已有的 telnet连接进行TCP RST攻击,然后再对ssh连接进行相同的攻击。请描述一下你的观察。简单地说,我们假设攻击者和曼害者在同一个局域网,即攻击者可以观察到A和B之间的TCP流量。

先在观察机192.168.48.136对被攻击机192.168.48.135进行telnet和 ssh连接:

软件安全实验——lab10(二、TCP/IP攻击实验)

78号工具:

(“Reset every TCP packet”)
??之后我们在攻击机192.168.48.134用netwox的78号工具(“Reset every T

来源:大灬白

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐