20211902 毕鑫杰 2021-2022-2 《网络攻防实践》第六周作业
一.学习总结
1.网络安全属性
(1)可用性,指可以使用所需要的网络资源和服务。攻击者常会采用一些手段来占用或破坏系统的资源,以阻止合法用户使用网络资源
(2)机密性,指网络中信息不被非授权用户和进程获取。
(3)完整性,指网络信息的真实可信性,如果信息被未经授权的实体修改了,信息的使用者应能够通过一定的方式判断出信息是否真实可靠
(4)可靠性,是指系统在规定的条件下和规定的时间内,完成规定功能的概率
(5)不可抵赖性;是指通信的双方在通信过程中,对于自己所发送或接收的消息不可抵赖
2.TCP/IP网络协议栈及其安全缺陷
针对TCP/IP网络协议栈的攻击技术,除了网络嗅探与协议分析技术之外,最重要的是欺骗技术。即攻击者伪造出特制的网络数据报文,发送给目标主机,使其在接受处理这些伪造报文时遭受攻击。
二.实践过程
任务:
在网络攻防实验环境中完成TCP/IP协议栈重点协议的攻击实验,包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击。
1.ARP缓存欺骗攻击
选用Kali为攻击机,Linux-MetaSploitable和SEED-Ubuntu为靶机,联网后记录三台机器的IP和MAC地址:
主机 | IP | MAC |
kali-linux-2022.1-vmware-amd64 | 192.168.215.129 | 00:0c:29:fa:f0:a5 |
Metasploitable_ubuntu | 192.168.215.131 | 00:0c:29:ee:55:28 |
SEED_Ubuntu | 192.168.215.130 | 00:0c:29:50:58:87 |
(1)用SEED-Ubuntu来 ping Metasploitable_ubuntu可得到arp缓存表,通过 arp -a
来查看缓存表
可以看到红框处Metasploitable_ubuntu的MAC地址。
(2)首先在kali上安装netwox工具,指令为sudo apt-get install netwox
在Kali上使用Netwox开始arp欺骗,输入netwox 33 -b A的MAC -g 伪IP -h A的MAC -i A的IP
,我们是用的假IP是Meta的IP MAC地址是kali的。
执行后就在局域网内广播这条命令,输入netwox 80 -e 00:0c:29:fa:f0:a5 -i 192.168.215.131。
在Seed虚拟机中用指令arp -a
显示arp高速缓存列表,以验证欺骗是否成功,从下图可知,Seed误以为 00:0c:29:fa:f0:a5 是KALI物理地址,伪装成功。
2.ICMP重定向攻击
Netwox的第86号工具,可以进行ICMP重定向实验攻击,其原理是嗅探网络中的数据包,每嗅探到一个符合要求的数据包,就向该IP地址发送一个ICMP重定向报文。靶机是SEED(192.168.215.130),攻击机是kali(192.168.215.129)。
先来查看靶机使用的路由,输入route
。
此实验中主要修改SEED Ubuntu的路由表,在SEED Ubuntu上访问www.baidu.com,然后打开wireshark来查看流量。
后在kali上执行netwox 86 -f "host 192.168.215.129" -g 192.168.215.2 -i 192.168.215.130
这条指令的意思是嗅探到源地址或目的地址为192.168.215.129的数据包时,就为192.168.215.2的名义向数据包源地址发送一个ICMP重定义报文,让他使用192.168.215.130作为默认路由。
观察wireshark的数据包的变换,可以看到靶机收到了ICMP重定向报文。
3.SYN Flood攻击
Netwox中也有用于TCP SYN Flood攻击的工具,在进行泛洪攻击前,我们先让主机A与服务器B建立一下TCP协议,输入telent 192.168.215.131
可以看到服务器正常回应。主机A为SEED,主机B为Metasploitable。
ctrl+]
再输入quit
断开A与B的连接。
攻击机C为kali,在其中选择Netwox的76号攻击进行Synflood攻击。输入一下命令:netwox 76 -i 192.168.215.131 -p 21
,"-i"后加攻击对象的IP,“-p 21”表示攻击的是端口21。
之后再让SEED telnet Metasploitable
。可以看到下图已无法访问了。
4.TCP RST攻击
Netwox的78号工具可以实现TCP RST攻击,直接再攻击机输入netnowx 78 -i IP
就可以实现攻击。
主机A向主机B建立TCP连接后,我们进行RST攻击。
之后再让SEED telnet Metasploitable
。访问过程遭攻击中断。
5.TCP会话劫持
样先利用SEED Ubuntu向靶机MetaSploitable发起telnet服务访问,然后在kali上打开wireshark,设置过滤条件telnet,然后在seed上输入zj,回到kali的wireshark查看,会有z 和 j的数据包。
然后打开最后一个包,观察源端口,目的端口,NEXT Seq NMU和ACK的值
在kali通过指令netwox 40 --ip4-dontfrag --ip4-offsetfrag 0 --ip4-ttl 64 --ip4-protocol 6 --ip4-src 192.168.215.130 --ip4-dst 192.168.215.131 --tcp-src 32810 --tcp-dst 23 --tcp-seqnum 13 --tcp-acknum 97 --tcp-ack --tcp-psh --tcp-window 64 --tcp-data "68656C6C6F776F726C64"
伪造包
然后可以在wireshark里筛选tcp,观察到发送的值helloworld
在数据报中筛选到TCP Dup的数据报,TCP会话劫持攻击成功。
三.学习中遇到的问题及解决
问题:ICMP重定向攻击中,对kali命令中ip含义不完全明白
解决:更多地学习了学长学姐们的作业分享,应首先在靶机输入route查看靶机使用的路由
。
问题:在完成TCP会话劫持的实践作业时,kali的wireshark初始抓包屡屡崩溃,包量达到百万,且每秒增加万余,更无法分析操作。
解决:分析是之前的作业的TCP RST攻击残余干扰,重启解决。
四.学习感想和体会
通过对本次实践作业的学习完成,我对网络攻防的概念更加清楚了。在意识层面,知识架构,尤其是攻防特质结合计算机网络理论知识的属性有了更好的感觉。具体的,对wireshark的功能和使用都更为熟悉和熟练了,也认识和学习了 一些Netwox工具,Netwox强大好用。