20212905 2021-2022-2 《网络攻防实践》第四周作业

20212905 2021-2022-2 《网络攻防实践》第四周作业

1.实践内容

  1. ARP缓存欺骗攻击
  2. ICMP重定向攻击
  3. SYN Flood攻击
  4. TCP RST攻击
  5. TCP会话劫持攻击

2.实践过程

在网络攻防实验环境中完成TCP/IP协议栈重点协议的攻击实验,包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击。

2.1 ARP缓存欺骗攻击

ARP缓存欺骗攻击原理:

  1. 源节点 A 发送数据包给目的节点 B时,将会通过 ARP 协议在局域网段广播 ARP请求包,询问节点B的IP地址所映射的 MAC 地址
  2. 正常节点在接收 ARP 广播包后,在确认 ARP 查询的 IP 地址不是自己络接口配置的IP地址之后,就不作应答。而攻击节点C则应答,说目标 IP 地址IP(B)所映射的 MAC 地址是它自己,即 MAC(C),并不断地向源节点发送 ARP 响应包
  3. 此时尽管目的节点B也向源节点A 发出了 ARP响应,告知了正确的映射关系,但是由于节点C不断地发送响应包,这样在源节点上会强制以节点C发送的响应包中的信息来更新 ARP 缓存。这样在源节点A的 ARP 缓存中就保留了错误的IP 地址和 MAC地址映射表项。本来应为IP(B)与MAC(B),现在就变成了IP(B)与MAC(C)
  4. 当源节点 A 要再次发送数据包到目的节点B时,由于其 ARP缓存中己经存在节点B的IP地址IP(B)的映射记录,它就不再广播 ARP 请求包,而是直接将数据包发到MAC地址为 MAC(C)的节点,即攻击节点,这样攻击节点C通过欺骗就己经假冒了目的节点B
  5. 利用同样的方法,攻击节点C也可以对节点B假冒节点A,就构成了A与B通信的中间人攻击。

image

使用netwox的33号工具进行ARP欺骗攻击

选择Metasploitable_Linux、VM_Metasploitable_xpsp1作为靶机,使用kali作为攻击机

查看Metasploitable_Linux的ip地址和mac地址

image

查看VM_Metasploitable_xpsp1的ip地址和mac地址

image

查看kali的ip地址和mac地址

image

具体的IP和MAC地址为:

主机 IP地址 MAC地址
靶机A(Metasploitable_Linux) 192.168.200.193 00:0c:29:fb:56:6d
靶机B(VM_Metasploitable_xpsp1) 192.168.200.192 00:0C:29:1D:22:D5
攻击机C(kali) 192.168.200.195 00:0c:29:b6:e3:34

开启IP转发功能

image

使用sudo apt-get install netwox安装netwox

找到33号工具

image

首先实现IP(B)/MAC(C)的ARP欺骗,使用sudo netwox 33 -b 00:0c:29:fb:56:6d -g 192.168.200.192 -h 00:0c:29:fb:56:6d -i 192.168.200.193

image

然后实现IP(A)/MAC(C)的ARP欺骗,使用sudo netwox 33 -b 00:0C:29:1D:22:D5 -g 192.168.200.193 -h 00:0C:29:1D:22:D5 -i 192.168.200.192

image

最后进行窃听测试,在靶机B上向靶机A发起FTP通信,在靶机B中执行命令ftp 192.168.200.193,输入A主机账号和密码登录成功

image

在攻击机C的wireshark上捕获

image

可以看到,在靶机B上向靶机A的FTP请求中,目的ip地址为192.168.200.193,但目的mac地址已经变为00:0c:29:b6:e3:34,也就是攻击机C的mac地址

image

同样,在靶机A上向靶机B的FTP响应中,目的ip地址为192.168.200.192,但目的mac地址已经变为00:0c:29:b6:e3:34,也就是攻击机C的mac地址

image

完整捕获到了FTP的登录账号和密码,已成功实现了ARP欺骗

image

2.2 ICMP重定向攻击

ICMP 重定向攻击就是利用 ICMP 路由重定向报文来改变主机的路由表,向目标机器发送重定向消息,自己则可以伪裝成为路由器,使目标机器的数据报发送至攻击机从而加强监听。具体攻击过程一般会和 IP 源地址欺骗技术结合实施,步骤如下:

  1. 攻击节点利用 IP 源地址欺骗技术,冒充网关 IP 地址,向被攻击节点发送 ICMP 重定向报文,并将指定的新路由器 IP 地址设置为攻击节点:
  2. 被攻击节点在接收到该报文后,会进行限制条件检查,由于该报文并不违背限制条件,因此将被接收,被攻击节点选择攻击节点作为其新路由器(即网关);
  3. 攻击节点可以开启路由转发,充当一个中间人,对被攻击节点与外部网络的通信进行全程嗅探监听,达到与 ARP欺骗类似的攻击效果:
  4. 在转发过程中,根据 ICMP 路由重定向机制的设计原理,由于从被攻击节点到外部网络存在更优的路由路径,即直接通过原先的网关进行路由较重定向后的路由路径少一跳,因此攻击节点协议栈可能会向被攻击节点发送一个 ICMP 重定向报文,指定原先网关作为新路由器,这个报文将使歎骗路由路径还原至原先正常状态

image

攻击机A、靶机B和路由的详细信息如下表

主机 IP
攻击机A(kali) 192.168.200.195
靶机B(VM_Metasploitable_xpsp1) 192.168.200.192
路由 192.168.200.130

靶机B的路由表信息为

image

在kali中输入命令sudo netwox 86 -f "host 192.168.200.192" -g 192.168.200.195 -i 192.168.200.130

使用wireshark,捕获到了ICMP重定向包

image

2.3 SYN Flood攻击

在 SYN Flood 攻击中,攻击主机向受害主机发送大量伪造源地址的 TCP SYN 报文,受害主机分配必要的资源,然后向源地址返回 SYN/ACK 包,并等待源端返回 ACK 包。如果伪造的源地址主机活跃,将会返回一个 RST 包直接关闭连接,但大部分伪造源地址是非活跃的,这种情况下源端永远都不会返回 ACK 报文,受害主机继续发送SYN+ACK 包,并将半开连接放入端口的积压队列中,虽然一般的主机都有超时机制和默认的重传次数,但是由于端口的半连接队列的长度是有限的,如果不断地向受害主机发送大量的 TCP SYN 报文,半开连接队列就会很快填满,服务器也就拒绝新的连接,导致该端口无法响应其他机器进行的正常连接请求,最终使受害主机被拒绝服务。

image

靶机A、靶机B和攻击机C的详细信息如下表

主机 IP地址
靶机A(VM_Metasploitable_xpsp1) 192.168.200.192
靶机B(Metasploitable_Linux) 192.168.200.193
攻击机C(kali) 192.168.200.195

首先测试A与B的连通性,B开启了telent服务,在A上使用telnet登陆B

image

输入账号密码,成功登录

image

然后断开A与B间的连接,在kali中使用netwox的76号工具,执行sudo netwox 76 -i 192.168.200.193 -p 23,进行SYN Flood攻击

再次进行telnet连接,已经无法正常连接

image

使用wireshark捕获了许多伪造的SYN数据包

image

2.4 TCP RST攻击

TCP RST 攻击也被称为伪造 TCP 重置报文攻击(spoofed TCP reset packet),是指一种假冒干扰TCP通信连接的技术方法。TCP 协议头的标志位中拥有一个reset比特位,绝大部分数据包中该标志位都置为0,而一旦该标志位置为1,则接收该数据包的主机将立即断开这个 TCP 会话连接,不再利用该连接进行数据包发送和接收。简单地说,TCP 重置报文将直接关闭掉一个 TCP 会话连接。TCP 重置报文的设计是为了避免在发生一些特殊情况时 TCP 会话仍继续传输无效数据,如通信一方的服务进程如果崩溃后重启,丧失掉了已建TCP 会话的上下文环境,那么它就可以利用重置报文关闭掉当前的连接,然后重新建立连接进行正常通信。

在 TCP RST 攻击中,攻击主机C可以通过嗅探方式监视通信双方 A、B之间的 TCP连接,在获得源、目标 IP 地址及端口,以及序列号之后,就可以结合 IP 源地址欺骗技术伪装成通信一方,发送 TCP 重置报文给通信另一方,在确保端口号一致及序列号落入 TCP 窗口之内的情况下,即可直接关闭这个TCP连接,造成通信双方正常网络通信的中断,达到拒绝服务的效果。

image

靶机A、靶机B和攻击机C的详细信息如下表

主机 IP地址
靶机A(VM_Metasploitable_xpsp1) 192.168.200.192
靶机B(Metasploitable_Linux) 192.168.200.193
攻击机C(kali) 192.168.200.195

首先在A上使用telnet登陆B

image

在kali中使用netwox的78号工具,执行sudo netwox 78 -i "192.168.200.193"

A与已经断开了连接

image

使用wireshark捕获了大量RST数据包

image

2.5 TCP会话劫持攻击

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

靶机A、靶机B和攻击机C的详细信息如下表

主机 IP地址
靶机A(VM_Metasploitable_xpsp1) 192.168.200.192
靶机B(Metasploitable_Linux) 192.168.200.193
攻击机C(kali) 192.168.200.195

开启IP转发功能

image

打开ettercap

image

点击scan for hosts

image

右键将靶机A作为target1,将靶机B作为target2

image

点击ARP poisoning

image

点击OK

image

执行arp –a命令显示MAC地址缓存,可以看到ARP poisoning攻击前后,arp缓存发生了变化,ARP poisoning攻击成功

image
image

在靶机A上执行telnet靶机B,在ettercap里查看捕获到的连接

image

点击inject data可以注入数据

image

在wireshark中捕获到了tcp数据包

image

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

在kali中使用netwox时提示错误信息:

Command returned 3002:
Error 3002 : not supported
hint: errno = 9 = Bad file descriptor
hint: libnet_open_link(): UID/EUID 0 or capability CAP_NET_RAW required
Press ‘r’ or ‘k’ to run again this tool, or any other key to continue

原因:非root用户,权限不够
解决方法:使用命令su root 切换到root用户

4.实践总结

通过本次实验,学习掌握了几种常见的网络协议攻击方式,并初步了解了netwox、ettercap等工具的使用,为今后进一步深入了解和实践网络协议攻击奠定了基础。

posted @ 2022-04-05 23:48  daolgts  阅读(169)  评论(0编辑  收藏  举报