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

本次作业属于那个课程 《网络攻防实践》
这个作业要求在哪里 第五周作业 TCP/IP网络协议攻击
作业正文 下述正文
其他参考文献 见文末

1.实践内容

网络安全属性

包括机密性、完整性和可用性是网络安全的三个基本属性,后来国际电信联盟又定义了其他两个属性,包括真实性和不可抵赖性。

机密性:

指网络中信息不被非授权实体(包括用户和进程等)获取与使用。包括国家机密、企业和社会团体的商业和工作秘密,个人秘密(如银行账号)和隐私(如邮件、浏览习惯)等。网络的广泛使用,使对网络机密性的要求提高了。网络机密性主要是密码技术,网络不同层次上有不同的机制来保障机密性。物理层主要是采取屏蔽技术、干扰及跳频技术防止电磁辐射造成信息外泄:在网络层、传输层及应用层主要采用加密、路由控制、访问控制、审计等方法。

完整性:

指网络信息的真实可信性,即网络少的信息不会被偶然或者蓄意地进行删除、修改、伪造、插入等破坏,保证授权用户得到的信息是真实的。只有具有修改权限的实体才能修改信息,如果信息被未经授权的实体修改了或在传输过程中出现厂错误,信息的使用者应能够通过一定的方式判断出信息是否真实可靠。

可用性:

指得到授权的实体在需要时可以使用所需要的网络资源和服务。用户对信息和通信需求是随机的多方面的,有的还对实时性有较高的要求。网络必须能够保证所有用户的通信需要,不能拒绝用户要求。攻击者常会采用一些手段来占用或破坏系统的资源,以阻止合法用户使用网络资源,这就是对网络可用性的攻击。对于针对网络可用性的攻击,一方面要采取物理加固技术,保障物理设备安全、可靠地工作;另一方面通过访问控制机制,阻止非法访问进入网络。

真实性:

是指系统在规定的条件下和规定的时间内,完成规定功能的概率。可靠性是网络安全最基本的要求之一。目前对于网络可靠性的研究主要偏重于硬件可靠性的研究,主要采用硬件冗余、提高研究质量和精确度等方法。实际上软件的可靠性、人员的可靠性和环境的可靠性在保证系统可靠性方面也是非常重要的。

不可抵赖性:

也称为不可否认性;是指通信的双方在通信过程中,对于自己所发送或接收的消息不可抵赖:即发送者不能抵赖他发送过消息的事实和消息内容,而接收者也不能抵赖其接收到消息的事实和内容。

网络攻击基本模式

2019-2020-2 20199137《网络攻防实践》第五周作业_第1张图片

  • 截获:被动攻击模式,具体技术为嗅探和监听
  • 中断:主动攻击,攻击技术为拒绝服务
  • 篡改:主动攻击,对网络通信过程中的信息内容进行修改
  • 伪造:主动攻击,假冒网络通信方的身份,攻击技术为欺骗
  • 中间人攻击:攻击者能够拦截通信双方的全部通信。
    2019-2020-2 20199137《网络攻防实践》第五周作业_第2张图片

TCP/IP网络协议安全缺陷与攻击技术

TCP/IP网络协议栈在设计时采用了分层模型,分为了网络接口层、互联层、传输层与应用层,每一层负责不同的功能,各自具有相应的网络协议。在每个层次上的网络协议都存在着一定的安全问题或设计缺陷,目前已经出现相应的攻击技术,如下图表所示。
2019-2020-2 20199137《网络攻防实践》第五周作业_第3张图片

  • 网络接口层
    • 以太网协议,当网络接口处于混杂模式可以直接嗅探并截获数据包,同时缺乏对MAC地址源的身份验证机制,实现MAC地址欺骗
  • 互联层
    • IP协议只根据目的地址进行转发,不检查源IP地址是否真实有效,即缺乏IP地址身份认证机制,容易遭到IP地址欺骗
    • 源路由滥用
    • IP分片攻击
    • ARP协议没有对映射关系的真实性进行任何验证,ARP欺骗
    • ICMP重定向 Smurf攻击
  • 传输层
    • TCP建立会话之后的连接过程中,非常容易遭受伪造和欺骗攻击,攻击者可以进行TCP RST攻击直接中断会话过程,TCP的三次握手过程存在设计缺陷,攻击者可以进行SYN泛洪攻击。
  • 应用层
    • 一些流行的应用层协议HTTP FTP POP3/SMTP DNS等均缺乏安全考虑。

网络层协议攻击

IP源地址欺骗

IP源地址欺骗是指攻击者伪造具有虚假源地址的IP数据包进行发送,以达到隐藏发送者身份、假冒其他计算机等目的。
IP源地址欺骗可以实现的根本原因在于:IP协议在设计时只使用数据包中的目标地址进行转发,而不对源地址进行真实性的验证。IP源地址欺骗的示意图如下所示:
2019-2020-2 20199137《网络攻防实践》第五周作业_第4张图片
当攻击者与假冒IP地址处于同一局域网内,可以实时ARP欺骗或者路由重定向劫持响应包,攻击者就可以完全假冒这些主机进行网络交互。远程主机系统进行IP欺骗攻击比较困哪,攻击机无法获得响应数据包。
利用IP源地址进行欺骗的IP假冒过程步骤
2019-2020-2 20199137《网络攻防实践》第五周作业_第5张图片
1)对受信任主机进行拒绝服务攻击,使其丧失工作能力
2)对目标主机的TCP初始序列号进行取样和猜测,才可以随后在伪造的ACK报文中,将ACK的值正确地设置为目标主机的ISN+1
TCP序列号ISN是指目标主机在接受SYN报文后,返回SYN/ACK报文中的SEQ值,攻击主机
3)伪造源地址为受信任主机IP的数据包,发送给目标主机
4)等待目标主机将SYN/ACK包发送给已经瘫痪的受信任主机
5)伪造成被信任主机,向目标主机发送ACK包,设置发送数据包的ACK值为预测目标主机ISN+1
6)建立连接,假冒被信任主机与目标主机通信

实践:利用Netwox进行IP源地址欺骗

关于netwox的介绍我们可以参考这篇资料netwox介绍
我们首先在kali里面安装netwox,采用apt-get install netwox命令进行安装
然后利用40号工具构造ICMP数据包,我们使用命令netwox 40 -l 192.168.200.3 -m 192.168.200.110,将kali的ip地址变为192.168.200.110
2019-2020-2 20199137《网络攻防实践》第五周作业_第6张图片
此时完成ip源地址欺骗
然后开启wireshark去监听此时kali的进行欺骗ip地址的过程
2019-2020-2 20199137《网络攻防实践》第五周作业_第7张图片
可以看到此时已经欺骗成功。
然后我们使用命令nmap -sS-p 8080 192.168.200.110 -D 192.168.200.3去看看此时wireshark是否能嗅探成功
2019-2020-2 20199137《网络攻防实践》第五周作业_第8张图片

我们可以看到此时nmap扫描器也成功的进行了ip源地址欺骗并且8080端口是关闭的。

ARP欺骗

ARP欺骗也称为ARP下毒,是指攻击者在有线或以太网上发送伪造的ARP信息,对特定IP所对应的的MAC地址进行假冒欺骗,从而达到恶意目的的攻击技术。
ARP欺骗是指攻击者在有线以太网或无线以太网上发送伪造ARP消息,对特定IP所对应的Mac地址进行假冒欺骗,从而达到恶意目的攻击的技术。
ARP欺骗技术的原理:根源在于ARP协议在设计时认为局域网内部的所有用户都是可信的,但是局域网内可以存在内部攻击者,或者已经渗透进局域网的外部攻击者或恶意代码。这使得ARP缓存非常容易被注入伪造的IP地址到MAC地址的映射关系。
ARP欺骗过程
2019-2020-2 20199137《网络攻防实践》第五周作业_第9张图片
1)源节点A发送数据包给目的节点B时,会通过ARP协议在局域网段广播ARP请求包,询问节点B的IP地址所映射的MAC地址;
2)攻击节点C说IP目标IP地址所映射的MAC地址是他自己,并不断地向源节点发送ARP响应包
3)由于攻击节点C不断地发送响应包,这样源节点上会强制以C发送响应包中的信息来更新ARP缓存。
4)当源节点A要再次发送数据包到节点B时,直接将数据包发送到C对应的MAC地址,即攻击节点C,这样C就通过欺骗假冒了目的节点B
5)如果ARP欺骗攻击的是网关节点,将导致整个局域网所有节点经过网关出入的数据包都会首先通过攻击节点,可能被嗅探、监听和恶意修改。

实践:ARP欺骗

我们将Metasploitable作为靶机A(IP地址为192.168.200.125)将winxp作为靶机B(IP地址为192.168.200.2),将kali作为攻击机(IP地址为192.168.200.3)

主机 IP地址 MAC地址
A(靶机) 192.168.200.125 00:0c:29:5d:49:46
B(靶机) 192.168.200.2 00:0c:29:65:c2:24
C(攻击机) 192.168.200.3 00:0c:29:19:7d:06

靶机A ping靶机B,可以得到一个路由表,里面保存了IP地址与对应MAC之间的映射关系,而ARP欺骗就是改变这个表当中的映射关系。
使用ipconfig/all查看一下靶机A的MAC地址
2019-2020-2 20199137《网络攻防实践》第五周作业_第10张图片
发现靶机A的MAC地址为00:0c:29:5d:49:46
然后我们在攻击机kali里面输入netwox 33 -b 00:0c:29:5d:49:46 -g 192.168.200.2 -h 00:0c:29:5d:49:46 -i 192.168.200.125
2019-2020-2 20199137《网络攻防实践》第五周作业_第11张图片
然后我们使用arp -a 去查看靶机A中的缓存内容
2019-2020-2 20199137《网络攻防实践》第五周作业_第12张图片
我们验证一下kali的MAC地址,可发现B的MAC地址已改为攻击机的MAC地址,达到欺骗A的目的
2019-2020-2 20199137《网络攻防实践》第五周作业_第13张图片
至此,ARP欺骗完成。

ICMP重定向攻击

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

ICMP路由重定向机制原理:

ICMP报文类型分为两类:差错报文类和控制类。差错报告报文分为三类:目的站不可达、数据报超时、数据报参数错误。控制类报文分为两类:请求/应答类和通知类。其中请求/应答类总是成对出现的:回送请求/应答、地址掩码请求/应答、路由器恳求/通告、时间戳请求/应答,一共8种;通知类有两种:源站控制和重路由定向。
ICMP重定向攻击就是利用ICMP路由重定向报文来改变主机的路由表,向目标机器发送重定向消息,自己则可以伪装成为路由器,是目标机器的数据报发送至攻击机从而加强监听。

攻击过程:

(1)攻击节点利用IP源地址欺骗技术,冒充网关IP地址,向被攻击节点发送ICMP重定向报文,并将指定的新路由IP地址设置为攻击节点;
(2)被攻击节点在接收到该报文后,会进行限制条件检查,由于该报文并不违背限制条件,因此将被接收,被攻击节点选择攻击节点作为其新路由器(即网关);
(3)攻击节点可以开启路由转发,充当一个中间人,对被攻击节点与外部网络的通信进行全程嗅探监听,达到与ARP欺骗类似的攻击效果;
(4)在转发的过程中,根据ICMP路由重定向机制的设计原理,由于从被攻击节点到外部网络存在更优的路由路径,即直接通过原先的网关进行路由较重定向后的路由路径少一跳,因此攻击节点协议栈可能会被攻击节点发送一个ICMP重定向报文,指定原先网关作为新路由器,这个报文将使欺骗路由路径还原至原先正常状态,这也是ICMP路由重定向攻击中的一个非常有趣的“谎言与真话”现象。

ICMP路由重力实践

我们将kali设置为攻击机(IP地址为192.168.200.3),将winxp设置为靶机(IP地址为192.168.200.2),靶机网关IP为192.168.200.1
我们查看靶机的路由表
2019-2020-2 20199137《网络攻防实践》第五周作业_第14张图片
然后再攻击机里输入命令netwox 86 -f "host 192.168.200.2" -g 192.168.200.3 -i 192.168.200.1

我们再查看此时靶机的路由表,发现出现攻击机的ip地址。
2019-2020-2 20199137《网络攻防实践》第五周作业_第15张图片

我们再看wireshark捕获到的信息,过滤靶机的tcp、arp、icmp数据包
2019-2020-2 20199137《网络攻防实践》第五周作业_第16张图片

传输层协议攻击

传输层的主要协议TCP和UDP也存在很多种不同攻击方式,例如TCP RST攻击、TCP会话劫持攻击、TCP SYN洪泛拒绝服务攻击和UDP洪泛拒绝服务攻击。

SYN Flood拒绝服务攻击

拒绝服务攻击是目前比较有效而又非常难于防御的一种网络攻击方式,它的目的就是使服务器不能够为正常访问的用户提供服务。所以DoS对一些紧密依靠互联网开展业务的企业和组织带来了致命的威胁。
TCP SYN Flood,又称SYN洪泛攻击,是目前最为有效和流行的一种拒绝服务攻击形式。它利用TCP三次握手协议的缺陷,向目标主机发送大量的伪造源地址的SYN连接请求,消耗目的主机的连接队列资源,从而不能够为正常用户提供服务。
 SYN 洪泛攻击示意图:
2019-2020-2 20199137《网络攻防实践》第五周作业_第17张图片

实践:SYN FLOOD攻击实践

攻击机kali,IP地址为192.168.200.3,靶机A为winXP,IP地址为192.168.200.2,靶机B为metasploitable,IP地址为192.169.200.125
首先靶机B先向靶机A发送ftp请求,请求成功
2019-2020-2 20199137《网络攻防实践》第五周作业_第18张图片
然后再kali里面进行netwox76号口令去攻击靶机B,因为ftp是21号端口,因此我们去攻击21号端口

此时再回到靶机C去ftp靶机B,我们可以看到断开了连接,SYN泛洪试验成功
2019-2020-2 20199137《网络攻防实践》第五周作业_第19张图片

TCP RST攻击

TCP RST攻击也被称为伪造TCP重置报文攻击,是指一种假冒干扰TCP通信连接的技术方法。 TCP协议头有一个reset,该标志位置为1,接收该数据包的主机即将断开这个TCP会话连接。tcp重置报文就是直接关闭掉一个TCP会话连接。
攻击主机C可以通过嗅探方式监视通信双方A B之间的TCP连接,在获得源、目标IP地址及端口、序列号之后,接可以结合IP源地址欺骗技术伪装成通信一方,发送TCP重置报文给通信另一方,在确保端口号一致及序列号落入TCP造成通信双方正常网络通信的中断,达到拒绝服务的效果。
2019-2020-2 20199137《网络攻防实践》第五周作业_第20张图片
1)victim主机与talent服务器进行连接,并通过身份认证建立起会话
2)talent服务器将会向victim发送响应包,并包含服务器当前序列号(SVR_SEQ)以及期望客户端发送的下一个序列号(SVR_ACK)
3)攻击者通过ARP欺骗实施中间人攻击,可以嗅探获得victim和talent服务器间的通信内容,然后假冒victim的IP地址及身份,向talent服务器发送数据包,声称自己是victim(攻击者发送数据包中的序列号必须满足条件:SVR_ACK<=CLT_SEQ<=SVR_ACK+SVR_WND)
4)victim仍然会继续持续talent服务器之间的连接会话,但是由于与talent服务器之间的ACK值互相不匹配出现AC风暴

TCP RST实践

TCP RST攻击可以终止两个被攻击主机之间的TCP连接。
靶机A(IP:192.168.200.2)的Telnet客户端和靶机B(ip:192.168.200.125)的Telnet服务器之间建立了 Telnet连接,攻击机向Telnet客户端发送 TCP RST包,就可以终止两者之间的TCP连接。构造一个 TCP TST包发送给Telnet服务器,这样Telnet 服务器就会断开连接。
我们先将两个靶机之间建立telnet连接

然后再kali里面进行netwox,输入命令netwox 78 -i "192.168.200.125"

此时我们可以发现telnet连接异常
2019-2020-2 20199137《网络攻防实践》第五周作业_第21张图片
至此,TCP RST攻击完成

TCP会话劫持攻击

TCP会话劫持攻击,是劫持通信双方已建立的TCP会话连接,假冒其中一方的身份与另一方进行进一步通信。通常一些网络服务会建立在TCP会话之后进行应用层的身份认证,客户端在通过身份认证之后,就可以通过TCP会话连接对服务器索取资源。且期间不用再次进行身份认证。而TCP会话劫持为 攻击者提供了一种绕过应用层身份认证的技术途径,因此得到较高水平攻击者的青睐。
TCP会话劫持攻击的基本过程如下图所示,步骤如下:
2019-2020-2 20199137《网络攻防实践》第五周作业_第22张图片
1)Victim主机与telnet服务器进行连接,并通过身份认证建立起会话
2)telnet服务器将会向Victim发送响应包,并包含服务器当前序列号(记为SVR_SEQ),以及期望客户端发送的下一个序列号(记为SVR_ACK)
3)攻击者通过ARP欺骗实施中间人攻击,可以嗅探获得Victim和telnet服务器间的通信内容,然后就假冒Victim的IP地址及身份,向telnet服务器发送数据包,宣称自己就是Victim
4)Victim仍然会继续维持与telnet服务器之间的连接会话,但由于与telnet服务器之间的ACK值互相不再匹配产生出“ACK风暴”,即在攻击机注入数据包后,客户端在接收到服务器的响应包后,将会发现ACK值不正确,并向服务器发回含有它所期望ACK值的ACK包,期望重新建立起同步状态,而服务器收到Victim的ACK包后,也会发现它并不符合它的接收条件,因此它再次返回了一个ACK包,这样就构成了死循环,在网络上来回发送ACK,直到其中一个ACK由于网络拥塞或其他原因丢失为止
防范措施:
1)禁用主机上的源路由
2)采用静态绑定IP-MAC地址表以避免ARP欺骗
3)引用和过滤ICMP重定向报文
4)采用网络层加密机制,即IPsec协议。

TCP会话劫持攻击

我们将SEED作为靶机A,IP地址为192.168.200.7,Mestaploitable作为靶机B,IP地址为192.168.200.125,kali作为攻击机,IP地址为192.168.200.3
首先将两个靶机建立远程连接
2019-2020-2 20199137《网络攻防实践》第五周作业_第23张图片

然后在wireshark里进行嗅探,我们可以看到端口为47778
2019-2020-2 20199137《网络攻防实践》第五周作业_第24张图片

sudo netwox 40 --ip4-dontfrag --ip4-offsetfrag 0 --ip4-ttl 64 --ip4-protocol 6 --ip4-src 192.168.200.7 --ip4-dst 192.168.200.125 --tcp-src 47778 --tcp-dst 23 --tcp-seqnum 3 --tcp-acknum 3 --tcp-ack --tcp-psh --tcp-window 64 --tcp-data "68656C6C6F776F726C64"
2019-2020-2 20199137《网络攻防实践》第五周作业_第25张图片

遇到的问题及解决方法

-一开始kali竟然又连不上网了,真的是玄学,怎么改变网络连接方式都不行,我就重新扫描了一次。
-在进行ICMP反重力试验的时候不知道为什么靶机的路由老是不显示攻击机的ip,然后提交这篇博客的早上我又试了一下,竟然可以了。。。所以我们还是要不断尝试呀!

参考资料

TCP/IP攻击试验
netwox介绍

你可能感兴趣的:(2019-2020-2 20199137《网络攻防实践》第五周作业)