20199305 2019-2020-2 《网络攻防实践》第五周作业

《网络攻防实践》第五周作业

一、前言

问题 回答
作业属于 https://edu.cnblogs.com/campus/besti/19attackdefense
作业要求 https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10553
课程目标 学习教材第五章,完成课后实践

二、知识梳理

1、网络安全属性

(1)可用性,指可以使用所需要的网络资源和服务。攻击者常会采用一些手段来占用或破坏系统的资源,以阻止合法用户使用网络资源

(2)机密性,指网络中信息不被非授权用户和进程获取。

(3)完整性,指网络信息的真实可信性,如果信息被未经授权的实体修改了,信息的使用者应能够通过一定的方式判断出信息是否真实可靠

(4)可靠性,是指系统在规定的条件下和规定的时间内,完成规定功能的概率

(5)不可抵赖性;是指通信的双方在通信过程中,对于自己所发送或接收的消息不可抵赖

2、网络协议栈可能受到的攻击及造成的影响如下:

三、动手实践

任务要求

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

实践一:ARP缓存欺骗

1、选用Kali为攻击机,WinXP和Seed为靶机,第一步是用ifconfig获取它们的物理地址以及IP地址,其中值得注意的是WinXP得用ipconfig/all



虚拟机 IP地址 MAC地址
Kali 192.168.200.8 00:0c:9:4d:45:05
WinXP 192.168.200.2 00:0c:29:BC:3D:84
Seed 192.168.200.3 00:0c:29:69:62:62

2、接下来用在kali攻击机中用Netwox对Seed虚拟机进行ARP欺骗,具体布置如下:

(1)在kali攻击机中安装netwoxsudo apt-get install netwox

(2)接下来的思路就是让Seed攻击机以为kali攻击机的MAC地址是WinXP攻击机的MAC地址,具体做法就是将WinXP的IP地址与kali的MAC地址以ARP应答包的形式一起广播出去,命令为netwox 80 -e 00:0c:29:4d:45:05 -i 192.168.200.2

(3)在Seed虚拟机中用指令arp -a显示arp高速缓存列表,以验证欺骗是否成功,从下图可知,Seed误以为00:0c:29:4d:45:05是WinXP攻击机的物理地址

(4)最后用Seed虚拟机发送ftp 192.168.200.2,同时打开kali的Wireshark进行抓包,结果发现,是kali回复了Seed虚拟机而不是WinXP攻击机,证明实验是成功的

实践二、ICMP重定向攻击

1、三台虚拟机的配置维持不变,实验思路是kali攻击机使用netwox冒充默认网关给Seed虚拟机发送IMCP重定位信息,之后Seedxuniji的默认路由地址应该会变为kali的IP地址,再用kali中的Wireshark监听Seed虚拟机的通信。首先查看WinXP攻击机的路由表:

2、在kali中输入命令sudo netwox 86 -f "host 192.168.200.2 " -g 192.168.200.3 -i 192.168.200.1,意思以路由192.168.200.1的名义向数据包的源地址192.168.200.2发送一个ICMP重定向报文,使其使用192.168.200.3为默认的路由。

实践三、SYN Flood攻击

1、该实践的思路是先由Seed虚拟机发起对WinXP攻击机发起ftp连接,连接上之后kali攻击机用netwox工具对WinXP攻击机提供ftp服务的端口21号端口发起 SYN Flood攻击,最后再由Seed虚拟机向WinXP攻击机发起ftp连接,如果链接失败,则攻击成功。接下来进行实验第一步:Seed虚拟机发起对WinXP攻击机发起ftp连接,连接成功

2、kali攻击机用netwox工具对WinXP攻击机21号端口发起攻击,指令为netwox 76 -i 192.168.200.2 -p 21,输入命令后下面不会弹出其他的指令行,但攻击已经开始了

3、再次用Seed虚拟机发起对WinXP攻击机发起ftp连接,发现连接被拒绝了,这说明攻击成功了

实践四、TCP RST攻击

1、此实践的思路与实践三类似,攻击之前先由Seed虚拟机向WinXP攻击机向发起telnet连接,连接成功后kali攻击机用netwox工具对WinXP攻击机的连接进行RST攻击,若WinXP攻击机与Seed虚拟机的连接被中断,则攻击成功。接下来进行实验第一步:Seed虚拟机发起对WinXP攻击机发起telnet连接,连接成功

2、kali攻击机用netwox工具对WinXP攻击机的连接进行RST攻击,命令为netwox 78 -i 192.168.200.2,此条指令的意义是kali攻击机以WinXP攻击机的名义向Seed虚拟机发送带有RST标志的分组,从而欺骗双方断开连接。

3、WinXP攻击机与Seed虚拟机的连接被中断,攻击成功

实践五、TCP会话劫持攻击

1、本实践一开始是打算hunt,但后来学习了孙启龙同学的博客后觉得他的方法独具匠心,遂决定参考他的方法做这个实验

2、先使用SEED虚拟机向WinXP攻击机发起telnet连接,输入WinXP的账号administrator和密码mima1234,连接成功

3、在Seed虚拟机中输入ls,使用wires hark抓包,可以看到telnet协议数据包里分开传送了ls


同时我们可以看到该数据包的源端口目的端口以及seq值、下一个seq值和ack值

4、接下来我们用我们获得数据来伪造下一个tcp数据包,发给WinXP攻击机以达到欺骗目的,使会话转移到kali攻击机上从而实现劫持。在kali攻击机中使用指令:

netwox 40 --ip4-offsetfrag 0 --ip4-ttl --ip4-protocol 6 --ip4-src 192.168.200.9 --ip4-dst 192.168.200.2 --tcp-src 54595 --tcp-dst 23 --tcp-seqnum 378 --tcp-acknum 135 --tcp-ack --tcp-psh --tcp-window 128 --tcp-data "7265626f6f740d00"

其中tcp-data "7265626f6f740d00"helloworld的十六进制表示

5、输完指令后会出下图

6、最后用wireshark抓包,可以看到大片的红色错误报文,我这主要是TCP Dup ACK X(表示序号为X的报文丢失),启龙同学博客中提到的TCP Retransmission没有出现


四、问题与解决

1、Seed虚拟机中输入ls,用wireshark抓包抓不到

解决方法:在Seed与WinXP建立链接之前就打开wireshark,这样就可以了

2、WindowsXP与Seed无法建立telnet连接

解决方法:虚拟机的控制面板->管理工具->服务->Telnet服务项,将其设定为自动,注意还要将左上角的开启点击一下,这样才算正式启用

3、Vmnet0网卡突然不见了,导致虚拟机无法通过桥接模式上网

解决方法:目前已经试用多种解决方法,但都无果

五、总结与反思

本次实验难度不算很大,阅读材料逻辑性很强,也较容易理解,就是vmnet0网卡丢失这件事困扰了我两天之久,至今未能解决,仍在努力摸索中

六、参考资料

1、win10 vmware没有vmnet0(桥接后无法上网)解决办法

2、WindowsXP开启Telnet服务的方法

原文地址:https://www.cnblogs.com/20199305yizihan/p/12599153.html