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

1.实验介绍

1.1 ARP缓存欺骗攻击

攻击原理:
首先ARP是(Address Resolution Protocol)即地址解析协议的简写,ARP协议是根据IP地址获取物理地址的一个TCP/IP协议。

在局域网内主机之间的通信是通过物理地址(MAC地址)来完成的,主机在发送信息时会将包含所请求IP地址的ARP请求广播到局域网内所有的主机,接受返回的消息,根据返回的消息确定物理地址,并且在收到物理地址后会将此IP与对应的物理地址存入本机的ARP缓存中保留一定的时间,下次请求时直接查询ARP缓存,不用再进行广播请求,这也就是攻击的核心原理。

通过欺骗局域网内靶机网关的物理地址,是靶机认为自己的网关的物理地址是攻击者提供的物理地址,并且将此错误的映射关系存入自身的ARP缓存中,导致无法正常上网。

当然攻击者也可以伪造自己的IP地址是之与靶机的IP地址相同,此时靶机一旦发送ARP广播就会发现IP冲突异常,并且攻击者的MAC地址也是可以伪造的,在广播的局域网内靶机的IP一直冲突也会导致靶机无法正常上网。

[图片来源网络]

image-20220405220354565

 

1.2 ICMP重定向攻击

攻击原理:
首先ICMP协议简介ICMP是(Internet Control Message Protocol)即Internet控制消息协议的缩写。ICMP协议是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络是否通畅、主机是否可达、路由是否可用等网络本身的消息。这些控制消息并不传输用户数据,但是对于用户数据的传递起着重要的作用。

ICMP重定向信息是路由器向主机提供实时的路由信息,告知当前网络的基本路由情况,当一个主机收到ICMP重定向信息时,它就会根据这个信息来更新自己的路由表。攻击机可以向靶机发送重定向信息,使靶机根据自己发送的重定向信息来修改路由表,此时攻击机可以将靶机的网关重定向为自身的IP地址,这时就可以作为靶机的网关进行进一步的中间人攻击等攻击方式,但是这样也会暴露自身的IP地址。

 

1.3 SYN Flood攻击

攻击原理:
首先SYN Flood攻击是一种基于TCP/IP协议的拒绝服务器攻击,这种攻击会造成服务器TCP连接数达到最大上限,使服务器不能为用户建立正常的TCP连接,达到攻击的目的。

TCP三次握手:
-第一次握手。发送发主机将SYN标志位置1,随机产生序列号seq=x后发送该数据包给接收方主机,此时发送方主机进入SYN_SENT状态,等待接收方主机接受后相应确认报文。

-第二次握手。接收方主机接收到数据包后根据标志位SYN=1确认发送方主机请求建立连接,向发送发主机发送标志位SYN=1,ACK=1,ack=x+1随机序列号seq=y的确认数据包,并进入SYN_RCVD状态。

-第三次握手。发送方主机收到确认数据包后,检查ack是否为x+1,ACK是否为1,若正确则向接收方主机发送ACK=1,seq=x+1,ack=y+1的数据包,接收方收到之后检查ACK是否为1,ack是否为y+1,若都正确则成功建立连接,双方同时进入ESTABLISHED的状态,已经完成三次握手,可以开始传输数据。

若攻击机向靶机发送SYN包请求建立TCP连接,靶机收到SYN包之后会向攻击机发送确认数据包,并且进入SYN_RCVD状态,但是攻击机使用的IP地址是伪造的,那么往往无法得到正确回应报文,也就无法完成第二次握手,导致靶机一直处在SYN_RCVD状态,并且开放对应的端口,等待回复直到timeout。如果此时攻击机一直向靶机发送SYN不断进行TCP请求,那么靶机就会因为僵持在SYN_RCVD状态并且开放对应端口,一旦攻击机发送的SYN过多消耗大量端口以及占用SYN_RCVD状态,靶机就会失去响应,无法正常工作。

[图片来源网络]

image-20220405222959424

 

1.4 TCP RST攻击

攻击原理:
首先RST是TCP报头中的一个标志位,这个标志位置1则说明要重置TCP连接。当发送方发送RST包时,直接会关闭与接收方的连接,并且丢弃缓冲区中等待发送的包,并且接收方在收到RST包时也不需要发送ACK包来进行确认。

正常情况下,有以下三种情况会出现RST包:
-请求连接一个不存在的端口。
-取消连接。
-接收到了一个根本不存在的的连接上的分节。

靶机与网关之间建立了正常的TCP连接,攻击机伪造一个RST包发给靶机的网关使靶机网关与靶机之间的连接异常断开,丢弃将要给靶机发送的处在缓冲区所有数据,造成靶机无法正常上网。

[图片来源网络]

TCP报头

image-20220406100509270

标志位含义
URG 紧急指针有效
ACK 确认序列号有效
PSH 接收方应尽快将报文交给应用层
RST 重置连接
SYN 发起新连接
FIN 释放连接

image-20220406101206422

 

1.5 TCP会话劫持攻击

攻击原理:
首先会话(Session)的意思是两台主机之间的一次通讯。会话劫持是结合嗅探以及欺骗技术等在内的综合攻击手段。攻击者可以在一次正常会话中作为第三方参与其中,可以在正常的数据包中插入恶意数据,也可以监听会话中主机之间的通信,甚至可以替代其中一方与另一方进行通信。

-中间人攻击
靶机与网关建立了正常的TCP连接,攻击机作为第三方同步监听两者会话,此时攻击机伪装成靶机与靶机网关通信,让靶机网关相信此时的连接还是正常的,最后攻击机给靶机发送RST包使靶机丢失与靶机网关之间的连接,使靶机无法上网。

image-20220406105436748

 

2.实验过程

2.1 ARP缓存欺骗攻击

虚拟机信息

虚拟机名称IP地址物理地址
Win2kServer 192.168.25.130 00:0C:29:97:24:FB
MetasploitableUbuntu 192.168.25.131 00:0C:29:D3:EB:72
Kali 192.168.25.132 00:0C:29:4F:74:AD

实验目的

使用Kali作为攻击机使用arp欺骗破坏MetasploitableUbuntuWin2kServer正常通信

  • 首先使攻击机和靶机处于同一个局域网网段,统一设置仅主机模式

  • 尝试使用靶机 MetasploitableUbuntu ping Win2kServer

    image-20220406200358771 此时通过 arp -a 指令查看arp缓存表,此时MetasploitableUbuntu的物理地址是正确的

  • 在攻击机Kali上使用工具 netwox 伪造 Win2kServer的MAC地址,指令为 netwox 80 -e 伪造的MAC地址 -i 对应的IP地址 image-20220406202954187

  • 此时靶机MetasploitableUbuntu无法ping通靶机Win2kServer了,通过指令arp-a发现Win2kServer的MAC地址变成我们伪造的MAC地址了image-20220406203336575

  • 此时的Win2kServer显示IP地址冲突,因为此时链路中出现了IP地址相同物理地址不同的主机 image-20220406203544127

  • 停止使用工具进行ARP欺骗后,靶机MetasploitableUbuntu又可以ping通靶机Win2kServer了 image-20220406203806152

 


2.2 ICMP重定向攻击

虚拟机信息

虚拟机名称IP地址
Kali 192.168.25.4
SEEDUbuntu 192.168.25.5

实验目的

使用Kali作为攻击机伪造ICMP重定向数据包发送给SEEDUbuntu,使其默认路由更改为Kali的IP地址,破坏其与网关的正常通信

  • 使用SEEDUbuntu ping baidu.com之后,使用route -n查看ping包的数据流向,发现网关是192.168.25.1

    image-20220406204916059

  • 在攻击机Kali上使用工具 netwox 伪造重定向数据包,指令为 netwox 86 -f "host 192.168.25.5" -g 192.168.25.5 -i 192.168.25.1 意思是嗅探链路中所有来自主机192.168.25.5的TCP数据包,并且以网关192.168.25.1的名义向主机192.168.25.5发送ICMP重定向包,重定向以192.168.25.4作为网关。

    image-20220406210207858

  • 此时再次使用SEEDUbuntu ping baidu.com 发现重定向数据 image-20220406210243833

  • Kali 上使用Wireshark监听eth0 抓取了 Kali 发送的ICMP重定向数据包 image-20220406210637298

  • 停止攻击后,再次使用SEEDUbuntu ping baidu.com ,恢复正常

    image-20220406213457325

     


2.3 SYN Flood攻击

虚拟机信息

虚拟机名称IP地址
Kali 192.168.25.4
SEEDUbuntu 192.168.25.5
MetasploitableUbuntu 192.168.25.131

实验目的

使用Kali作为攻击机对靶机MetasploitableUbuntu实施SYN泛洪攻击,使其 TELNET 服务崩溃,并用SEEDUbuntu查看靶机MetasploitableUbuntuTELNET 服务情况

  • SEEDUbuntu主机上使用TELNET服务登录靶机MetasploitableUbuntu,登录成功 image-20220406212411563

  • 在攻击机Kali上使用工具 netwox 对靶机MetasploitableUbuntu发动SYN泛洪攻击,指令为 netwox 76 -i 192.168.25.131 -p 23 意思是对IP地址为192.168.25.131主机的23号端口服务实施攻击,这里23号对应的服务是TELNET服务 image-20220406212744407

  • 再次在SEEDUbuntu主机上使用TELNET服务登录靶机MetasploitableUbuntu,发现一直无法连接 image-20220406213116681

  • Kali上使用Wireshark监听可以发现此时Kali向靶机发送了大量伪造源地址的SYN请求数据包,针对23号服务端口 image-20220406213048921

  • 停止攻击后,再次在SEEDUbuntu主机上使用TELNET服务登录靶机MetasploitableUbuntu,登录成功 image-20220406213559209

 


2.4 TCP RST攻击

虚拟机信息

虚拟机名称IP地址
Kali 192.168.25.4
SEEDUbuntu 192.168.25.5
MetasploitableUbuntu 192.168.25.131

实验目的

使用Kali作为攻击机破坏在SEEDUbuntu上使用TELNET服务登录MetasploitableUbuntu的操作

  • SEEDUbuntu主机上使用TELNET服务登录靶机MetasploitableUbuntu,登录成功 image-20220406214022488

  • 在攻击机Kali上使用工具 netwox 对靶机MetasploitableUbuntu实施TCP RST攻击,指令为 netwox 78 -i 192.168.25.131 image-20220406214242408

  • 再次在SEEDUbuntu主机上使用TELNET服务登录靶机MetasploitableUbuntu ,直接显示连接已被外部主机中断

    image-20220406214449443

  • Kali上使用Wireshark监听也可以发现此时Kali向靶机发送了RST数据包 image-20220406214710423

  • 停止攻击后,再次在SEEDUbuntu主机上使用TELNET服务登录靶机MetasploitableUbuntu,登录成功 image-20220406214817697

 


2.5 TCP会话劫持攻击

虚拟机信息

虚拟机名称IP地址
Kali 192.168.25.4
SEEDUbuntu 192.168.25.5
MetasploitableUbuntu 192.168.25.25

实验目的

使用Kali作为攻击机劫持SEEDUbuntu与靶机MetasploitableUbuntu的会话,查看截获到的数据

  • 在攻击机Kali上使用命令 ettercap -G 打开工具

    image-20220406215837703

  • 点击右上角的设置并选择hosts,选择扫描主机,扫描到SEEDUbuntuMetasploitableUbuntu后分别作为Target1 和 Target2 接下来选择劫持方式为ARP欺骗劫持,最后点击左上角的图标开启嗅探

    image-20220406223127946

  • SEEDUbuntu主机上使用TELNET服务登录靶机MetasploitableUbuntu,登录成功 image-20220406224058204

  • Kali上查看TELNET登录后建立的连接,可以查询到登录使用的用户名和密码

    image-20220406224239126

     


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

  • 问题1:ettercap劫持工具无法打开,一直卡在进入的界面

  • 问题1解决方案:重启后还是不行,后面进入root模式下又可以了,再次测试发现是没有分配到IP地址,所以进不去。设置正确的IP地址后就可以了。

4.学习感悟

经过这次实验,我学会了几种TCP/IP网络协议攻击方式,这不仅加深了我对于网络攻防的兴趣,而且让我深入实践了计算机网络课程中所学的知识,以后我会从细节的角度出发,去了解这些嗅探工具的原理并从底层去了解攻击的实现。

参考资料

posted @ 2022-04-06 22:54  20211904  阅读(165)  评论(0编辑  收藏  举报