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

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

本次作业属于哪个课程 《网络攻防实践》
这个作业要求在哪里 第五次作业 TCP/IP网络协议攻击
我在这个课程的目标是 学习TCP/IP网络协议攻击的原理、实现以及相关软件的使用
这个作业在哪个具体方面帮助我实现目标 动手实现各种TCP/IP网络协议攻击
作业正文 见下文1、2、3、4部分
其他参考文献

1.实践内容


​ TCP/IP协议创建时,认定使用环境中的用户都是可信任的,并没有考虑到其中存在的安全问题。随着互联网的逐步扩展与开放,TCP/IP协议应用越发广泛,其存在的弱点被挖掘、被放大、被利用。本章主要讲解TCP/IP协议栈中最为基本的网络层与传输层协议所存在的安全问题及针对性攻击技术。

1.1概述


安全属性:机密性(Confidentiality)、完整性(Integrity)、可用性(Availability) 、真实性

​ (Authentication)、不可抵赖性 (Non-Repudiation )

攻击模式:被动攻击:截获

​ 主动攻击: 中断、篡改(中间人攻击)与伪造

TCP/IP网络协议栈:网络接口层、侦联层、传输层与应用层

下图列举了TCP/IP网络协议栈各层协议存在的缺陷以及攻击技术

欺骗技术:骗技术需要攻击者伪造出特制的网络数据报文,发送给目标主机,使其在接受处理这些伪造报文时遭受攻击,是处理嗅探与协议分析之外最流行的技术,攻击者可以使用原始套接字伪造数据报文,也可以借助使用Netwox工具。

1.2网络层协议攻击


·IP源地址欺骗

​ IP源地址欺骗是指攻击者伪造具有虚假源地址的IP数据包进行发送,以达到隐藏发送者身份、假冒其他计算机等目的。

​ 原理:IP协议在设计时只使用数据包中的目标地址进行路由转发,而不对源地址进行真实性的验证。下图是利用IP源地址欺骗进行 IP假冒的攻击过程示意图。

·ARP欺骗

​ ARP欺骗是指攻击者 在有线以太网或无线网络上发送伪造ARP消息,对特定IP所对应的MAC地址进行假冒欺骗,从而达到恶意目的的攻击技术。

​ 原理:一方面,ARP协议在进行IP地址到MAC地址映射査询时,采用广播请求包方式在局域网段中询问映射关系,但没有对响应结果进行真实性验证;另一方,ARP协议为提高效率,设计ARP缓存机制,以及会将主动的ARP应答视作有效信息进行接受,这使得ARP缓存出常容易被注入伪造的IP地址到MAC地址的映射关系,从而进行欺骗。

·ICMP路由重定向攻击

​ ICMP路由重定向攻击是指攻击者伪装成路由器发送虚假的 ICMP路由路径控制报文,使得受害主机选择攻击者指定的路由路径,从而进行嗅探或假冒攻击的一种技术。

​ 原理:攻击节点利用IP源地址欺骗技术,冒充网关IP地址,向被攻击节点发送ICMP 重定向报文,给被攻击节点指定的新路由器IP地址,并以这个新路由器IP地址为攻击节点。被攻击节点会对ICMP报文进行限制条件监测,检查通过后,就会通过这个新路由器向外网进行通信,攻击者就可以进行嗅探或者监听了。

1.3传输层协议攻击


·TCP RST攻击

​ TCP RST攻击也被称为伪造TCP重置报文攻击(spoofed TCP reset packet),是指一种假冒干扰TCP通信连接的技术方法。

​ 原理:TCP重置报文将直接关闭掉一个TCP会话连接,通信方A与B建立TCP协议进行数据传输时,攻击者可以利用TCP重置报文切断A与B之间的会话,当然这里攻击者要借用IP源地址欺骗伪装成A或者B才可以。

·TCP会话劫持攻击

​ TCP会话劫持是劫持通信双方已建立的TCP会话连接,再假冒其中一方的身份,与另一方进行进一步通信,这样攻击方就可以躲避一些身份认证。

·TCP SYN Flood拒绝服务攻击

​ 拒绝服务攻击目的就是使服务器不能够为正常访问的用户提供服务。

​ TCPSYN Flood原理利用TCP三次握手存在连接队列平静的缺陷,主机A想与服务器建立会话必须经过三次握手协议,攻击者B不断的向目标主机发送大量的伪造源地址的SYN连接请求,消耗目标主机的连接队列资源,从而不能够为主机A提供服务。

·UDP Flood拒绝服务攻击

​ UDP Flood拒绝服务攻击,即通过向目标主机和网络发送大量的UDP数据包,造成目标主机显著的计算负载提升,或者目标网络的网络拥塞,从而使得目标主机和网络陷入不可用的状态,造成拒绝服务攻击。为了达到短时间内发送大量流量,UDP Flood 一般会被用于分布式拒绝服务攻击。

:以上做学的所由TCP攻击都可以使用一个强大的工具Netwox来实现,再第二部分时间过程会来介绍各种攻击的实际操作。

2.实践过程


请在网络攻防实验环境(以SEED_VM作为攻击机,Linux Metaspioitable/Windows Metasploitable作为靶机)中完成TCP/IP协议栈重点协议的攻击实验,具体包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击及TCP会话劫持攻击(bonus)。


·ARP缓存欺骗攻击

 Netwox的33号工具可以构造任意的以太网ARP数据报,我们就使用这个工具进行ARP欺骗。如果系统里没有netwox可以输入```sudo apt-get install netwox```进行安装。
主机 IP地址 MAC地址
A(kali作为靶机) 192.168.190.7 00:0c:29:86:f4:91
B(Metasploitable) 192.168.190.5 00:0c:29:65:e3:dc
C(SEED作为攻击机) 192.168.190.6 00:0c:29:51:a2:3c

​ 先到主机A上输入arp -D查看A的arp列表,可以看到主机B、C对应的MAC地址。

​ 我们到主机C上使用Netwox开始arp欺骗,输入netwox 33 -b A的MAC -g 伪IP -h A的MAC -i A的IP,我们是用的假IP是主机B的IP。

我们回到主机A,再次查看A的arp列表,我们可以看到主机B随意的MAC地址编程了主机C的MAC地址。之后A向B传送报文,报文并么有传到B,而是传给了C。

·ICMP重定向攻击

​ Netwox的第86号工具,可以进行ICMP重定向实验攻击,其原理是嗅探网络中的数据包,每嗅探到一个符合要求的数据包,就向该IP地址发送一个ICMP重定向报文。靶机是SEED(192.168.190.6),攻击机是kali(192.168.190.7)。

​ 我们先来查看靶机使用的路由,输入route

在攻击机输入:

netwox 86 -f "host 192.168.190.7" -g 192.168.190.1 -i 192.168.190.6

​ 这条指令的意思是嗅探到源地址或目的地址为192.168.190.7的数据包时,就为192.168.190.1的名义向数据包源地址发送一个ICMP重定义报文,让他使用192.168.190.6作为默认路由。

​ 回到靶机ping www.baidu.com,我们就可以看到靶机收到了ICMP重定向报文。

·SYN Flood攻击

​ Netwox中也有用于TCP SYN Flood攻击的工具,这个软件怎么这么厉害。

​ 在进行泛洪攻击前,我们先让主机A与服务器B建立一下TCP协议,输入telent 192.168.190.5可以看到服务器正常回应。主机A为SEED,主机B为Metasploitable。

ctrl+]再输入quit断开A与B的连接。在攻击机C中选择Netwox的76号攻击进行Synflood攻击。输入一下命令:netwox 76 -i 192.168.190.6 -p 23,"-i"后加攻击对象的IP,“-p 23”表示攻击的是端口23.

之后再让AtelnetB。可以看到下图中,我输入用户名输到一半,这个连接就关闭了。

·TCP RST攻击

​ Netwox的78号工具可以实现TCP RST攻击,直接再攻击机输入netnowx 78 -i IP就可以实现攻击。

主机A向主机B建立TCP连接后,我们进行RST攻击,攻击过程中我们打开Wireshark可以监听到A发送给B的信息。

​ 先再攻击机上输入攻击指令,这里就不截图了,同时打开wireshark。

​ 到主机A上尝试连接主机B。(主机A是SEED,主机B是Metasploitable)。我是先连接两个主机先连接上了,任何又开始TCP RST攻击的。可以看到,我的指令还没输,这个连接就断了。

​ 我们再来看攻击机wireshark抓到的包,可以看到攻击机冒充主机B,向主机A发送了TCP重置报文。其中,RST标志位是1。

·TCP会话劫持攻击

尝试使用hunt工具进行会话劫持攻击,但是hunt一直无法监测到局域网中的连接。在网上看了去多材料,尝试使用kali自带Ettercap试试看。

首先要打开kali的IP节点转发功能,如下图

输入ettercap -G,Ettercap工具窗口就会打开。选择eht0作为嗅探监听接口。

在```host```菜单中选择```scan for hosts```扫描局域网内的攻击目标,随后在```host```菜单中选择```host list```选择要监听的对象作为扫描目标。监听得对象是主机A——SEED(192.168.190.6)与主机B——Metasploitable(182.168.190.5)。




Ettercp中包含arp欺骗工具,在MITM菜单中点击ARP poisoning,进行欺骗,并选择Sniff remote connections,这个过程我忘记截图了,但操作很简单,这样我们ARP欺骗加上,IP转发功能,这样A与B建立会话之间传递的消息都会经过kali,我们就会获得中间传递的信息。
打开主机A和kali的wireshak观察这期间的数据包。在主机A上输入telnet 192.168.190.5与主机B建立会话。
这是我们看kali的ettercap界面,点击view菜单的connection选项观察当前存在的连接。可以看到a与B的连接。

双击这的连接,可以看到两者之间传递的内容。

点击下面的```Injack Data```,进行劫持,kali会以中间人的身份向主机A,与主机B发送信息。我选择了主机B。

之后我看到主机B的wireshark上出现了无数ARK的数据包。这就是我们说的ARK风暴。主机B就被我们踢出了会话。

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


问题一:Hunt无法检测到局域网里的连接
解决:这个问题还没有解决,去多资料并没有提及这个问题。
问题2:使用ettercap进行会话劫持攻击后,主机A出现了ARK风暴,但通过主机C发送消息,kali并没有抓到相应的包。
解决:这个问题我自己也没有解决,正在查看ettrecap的资料。

posted @ 2020-03-30 16:35  20199124-马璐瑶  Views(175)  Comments(0Edit  收藏