20242830 2021-2022-2 《网络攻防实践》第四周作业
20242830 2021-2022-2 《网络攻防实践》第四周作业
一、知识点梳理与总结
TCP/IP协议栈中的重点协议攻击实验涵盖了多种常见的网络攻击方式,包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击和TCP会话劫持攻击。这些攻击实验旨在深入探究网络协议的安全漏洞和潜在威胁,帮助学习者全面理解网络通信的安全机制和风险。通过实际操作和观察这些攻击的实施过程,我们可以更直观地认识到网络协议在设计和实现中存在的安全隐患,以及这些漏洞如何被攻击者利用来破坏网络通信的正常运行。
通过实验,我们可以学习到防范ARP攻击的方法,如使用静态ARP表等;了解ICMP协议的功能和路由选择机制,掌握中间人攻击的防范策略;学习拒绝服务攻击的原理和防范措施,如使用防火墙、限制SYN请求的速率等;深入理解TCP协议的异常处理机制,掌握对RST数据包进行验证等防范方法;掌握会话劫持的原理和防范措施,如使用加密协议、对数据包进行完整性验证等。这些知识和技能对于保障网络通信的安全性、稳定性和可靠性具有重要意义,以便更好地应对各种网络攻击,保护网络系统和用户的信息安全。
1. 实验环境
-
运行环境:VMware、Windows
-
虚拟机选择:攻击机——kali;靶机——SEED、win2000
-
kali:192.168.200.5
-
SEED:192.168.200.3
-
win2000:192.168.200.124
-
Metasploitable:192.168.200.123
2. 实验内容与原理
-
ARP缓存欺骗攻击通过伪造ARP请求,将目标主机的IP地址与攻击者的MAC地址绑定,使目标主机发给其他主机的数据包先经过攻击者,从而实现中间人攻击,可以拦截、篡改或伪造数据。
-
ICMP重定向攻击是攻击者伪造ICMP重定向消息,使目标主机改变其路由选择,将数据包发送到攻击者指定的路由器,从而实现中间人攻击或拒绝服务攻击。
-
SYN Flood攻击则是攻击者向目标服务器发送大量的伪造的SYN请求,使服务器的资源被耗尽,无法正常响应合法用户的请求,从而实现拒绝服务攻击。
-
TCP RST攻击通过发送伪造的RST数据包,使目标主机的TCP连接被错误地关闭,导致通信中断,从而实现拒绝服务攻击。
-
TCP会话劫持攻击则是攻击者获取目标通信双方的会话信息,如序列号等,插入到通信中,冒充一方进行数据交互,从而实现会话劫持,获取敏感信息或进行恶意操作。
攻击实验名称 | 攻击原理简述 | 实验意义简述 |
---|---|---|
ARP缓存欺骗攻击 | 攻击者发送伪造ARP请求,将目标IP与自身MAC绑定,使目标主机数据先发到攻击者 | 深入理解ARP协议原理和缺陷,学习攻击技术及防范方法,增强网络安全防护意识 |
CMP重定向攻击 | 攻击者伪造ICMP重定向消息,改变目标主机路由选择,将数据发到指定路由器 | 深入理解ICMP协议功能和路由机制,掌握中间人攻击原理和防范,提高网络安全认识 |
SYN Flood攻击 | 攻击者发送大量伪造SYN请求,耗尽服务器资源,使其无法响应合法请求 | 了解TCP连接建立过程,学习拒绝服务攻击原理和防范策略,提高网络系统抗攻击能力 |
TCP RST攻击 | 攻击者发送伪造RST数据包,使目标主机TCP连接错误关闭,导致通信中断 | 深入理解TCP异常处理机制,掌握攻击原理和防范方法,增强网络通信稳定性和可靠性 |
TCP会话劫持攻击 | 攻击者获取会话信息(如序列号),插入通信中冒充一方进行交互 | 深入理解TCP会话管理机制,掌握会话劫持原理和防范,提高网络通信安全性和保密性 |
- Wireshark 是一个功能全面的图形化工具,适合网络工程师、安全专家和开发人员进行详细的网络协议分析和故障排除。
捕获数据包 | 包过滤 | 数据包分析 | 协议解码 |
---|---|---|---|
连接到网络接口卡 | 根据 IP 地址、协议、端口号等条件筛选 | 详细信息 | 清晰的格式展示 |
二、实验过程
1.准备好kali和SEED的网络配置
2.任务一:动手实践tcpdump:使用tcpdump开源软件对靶机进行监听ARP缓存欺骗攻击
1.输入以下代码
tcpdump -i eth0 -w my_sniff.pcap
2. 在kali中输入如下代码:
nmap -sP 192.168.3 //活跃主机
nmap -O 192.168.200.3 //操作系统
nmap -sS 192.168.200.3 //半开端口
nmap -sV 192.168.200.3 //开放什么服务
3. 停止抓包
输入 wireshark my_sniff.pcap
4.查找arp,分析抓包详情
3.任务二:ICMP重定向攻击
1.在SEED中输入
route -n
2. 打开kali,输入
netwox 86 -f "host 192.168.200.3" -g 192.168.200.5 -i 192.168.200.1
再在seed中输ping baidu.com,查看下一跳的IP信息
4. 任务三:SYN Flood攻击
1. 先在win2000输入
telnet 192.168.200.123
2. 在kali中输入
netwox 76 -i 192.168.200.123 -p 23
3. 回到kali虚拟机,打开wireshark
找到arp包就代表发起攻击的预兆,也可以通过查找字符串输入ip查找
5. 任务三:TCP Rst攻击
1. 首先继续在win2000中使用telnet,如之前所示。
2. 在kali虚拟机里输入下面口令即可完成,导致连接断开
netwox 78 -i 192.168.200.123
6. 任务四:TCP会话劫持攻击
1. 在kali中输入命令:ettercap -G
2.进入host,点击scan
查看hostlist
3. 选择ARP Poisoning,再使用win2000使用telnet
4. 查看详细信息
三、学习中遇到的问题及解决
-
问题1:一开始使用telnet失败,原因是什么呢?
问题1解决方案:我的kali虚拟机里面没有安装telnet,还需要联网安装才行。 -
问题2:后续使用seed不能和Meta虚拟机ping通
问题2解决方案:我更换了网络连接方式,因为需要联网安装命令,没有将网络调整回之前的配置,更改过后成功,但因为我先换成了win2000做实验,后续实验就在win2000做的。
四、学习感悟与思考
通过进行ARP缓存欺骗、ICMP重定向、SYN Flood、TCP RST和TCP会话劫持等攻击实验,我对TCP/IP协议栈中的各个协议工作原理和安全缺陷有了更深入的理解。以前只是理论上了解这些协议的功能和存在的一些潜在问题,但通过实际操作,我看到了攻击者是如何利用这些协议的漏洞来实施攻击的。例如,ARP协议在设计时没有对ARP请求和回复进行严格的身份验证,这就使得攻击者能够轻易地发送伪造的ARP请求,将目标主机的IP地址与自己的MAC地址绑定,从而实现中间人攻击。这种直观的体验让我对网络协议的安全性有了更深刻的认识,也明白了在实际网络环境中,不能完全信任协议本身的安全性,需要采取额外的防护措施来弥补这些漏洞。
实验过程中,我不仅学习到了如何实施这些攻击,更重要的是了解到了相应的防范策略。这使我能够在面对实际网络安全威胁时,具备一定的防御能力。比如,在防范ARP缓存欺骗攻击时,可以使用静态ARP表,将常用的目标IP地址和MAC地址进行绑定,避免受到伪造ARP请求的影响;对于SYN Flood攻击,可以通过设置防火墙规则、限制SYN请求的速率等方式来减轻服务器的负担,防止其资源被耗尽;而在应对TCP会话劫持攻击时,使用加密协议和对数据包进行完整性验证可以有效保护通信的安全性。