TCP\IP网络协议攻击
1.实践内容
TCP/IP网络协议栈攻击概述
网络安全属性:机密性、完整性、可用性、真实性、不可抵赖性。
网络攻击基本模式:截获、中断、篡改、伪造。
- 截获:被动攻击模式,目的是获取通信双方的通信信息内容,是对机密性的违反。具体攻击技术:嗅探、监听;
- 中断:主动攻击模式,目标是致使正常的网络通信和会话无法继续,是对可用性的破坏。具体攻击技术:拒绝服务;
- 篡改:主动攻击模式,对网络通信过程的信息内容进行修改,通信一方或双方接受到篡改后的虚假消息,对完整性的违背。具体攻击技术:数据包篡改;
- 伪造:主动攻击模式,假冒网络通信方的身份,欺骗通信对方达到恶意目的,是对真实性属性的背离。具体攻击技术:欺骗。
以下图来说明
还有一种更加高明的中间人攻击方法
网络层协议攻击
IP源地址欺骗
定义:指攻击者伪造具有虚假源地址的IP数据包进行发送,达到隐藏攻击者身份、假冒其他计算机等目的。
原理:IP协议在设计的时候只使用数据包的目的地址进行路由转发,而不对源地址进行真实性的验证。
主要应用于攻击者不需要响应包或者存在某种技术可以猜测响应包的场景中,如拒绝服务攻击。
利用IP原地址欺骗进行IP假冒的攻击过程示意图
ARP欺骗
定义:攻击者在有线以太网或无线网络上发送伪造ARP消息,对特定IP所对应的MAC地址进行假冒欺骗,从而达到恶意目的的攻击技术。
原理:局域网是根据MAC地址进行传输。ARP协议在进行IP地址到MAC地址映射查询时存在安全缺陷,ARP缓存非常容易被注入伪造的IP地址到MAC地址的映射关系,从而进行欺骗。
应用:在交换式网络中可以利用ARP欺骗技术进行局域网中的嗅探,并通过进一步的协议分析窃取敏感信息;可利用ARP欺骗构造中间人攻击,从而实施TCP会话劫持的攻击方法;目前也被恶意代码所普遍使用,被称为ARP病毒,这类恶意代码发作机,然后再实施信息窃取、报文篡改和病毒传播等攻击。
ARP欺骗攻击过程示意图
ICMP路由重定向攻击
定义:指攻击者伪装成路由器发送虚假的ICMP路由路径控制报文,使得受害主机选择攻击者指定的路由路径,从而进行嗅探或假冒攻击的一种技术。
原理:利用ICMP路由重定向报文来改变主机的路由表,向目标机器发送重定向信息,自己伪装成路由器,使目标机器的数据报发送至攻击机从而加强监听。
ICMP路由重定向攻击示意图
传输层协议攻击
TCP RST 攻击
定义:又称为伪造TCP重置报文攻击,是指一种假冒干扰TCP通信连接的技术方法。
原理:TCP重置报文会直接关闭一个TCP会话连接,恶意攻击者滥用TCP重置报文,对正常的网络通信造成严重的威胁。
TCP RST 攻击示意图
TCP会话劫持
目标是劫持通信双方已经建立的TCP会话连接,假冒其中一方(通常是客户端)的身份与另一方进行进一步通信。
原理:通常一些网络服务在建立TCP会话之后进行应用层的身份认证,客户端在通过身份验证之后就可以通过TCP会话连接对服务端进行控制或获取资源,期间不需要再次进行身份验证。为攻击者提供了一种绕过应用层身份认证的技术途径。
TCP会话劫持攻击示意图
TCP SYN Flood 拒绝服务攻击
定义:DOS是目前比较有效而又非常难于防御的一种网络攻击方式,目的是使服务器不能够为正常访问的用户提供服务。
原理:利用TCP三次握手协议的缺陷,向目标主机发送大量的伪造源地址的SYN连接请求,消耗目标主机的连接队列资源,从而不能够为正常用户提供服务。
TCP SYN Flood 攻击示意图
2.实践过程
在攻防实验环境中完成TCP/IP协议栈重点协议的攻击实验,具体包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击以及TCP会话劫持攻击。
ARP缓存欺骗就是为了让一个靶机将另一个靶机的MAC地址记为攻击机的MAC地址,使用netwox 33号工具可以进行ARP欺骗
可以看出欺骗前MAC地址为靶机地址,欺骗后MAC地址为攻击机地址,IP仍为靶机地址。
于是可以用wireshark抓包查看
ARP攻击
使用arpspoof可以进行ARP攻击,攻击前靶机可以正常上网
使用命令arpspoof -i eth0 -t 192.168.200.11 192.168.200.1
进行arp攻击后,靶机无法上网,攻击成功
ICMP重定向攻击
就是利用ICMP路由重定向报文来改变主机的路由表,向目标机器发送重定向消息,自己则可以伪装成为路由器,使目标机器的数据报发送至攻击机从而加强监听。
使用netwox 86号工具进行ICMP重定向攻击,可以看出网关由192.168.200.1变为了攻击机的IP地址,攻击成功
TCP RST攻击
TCP协议头的标志位中有一个“reset”比特位,该标志位置为1,接收数据包的主机断开TCP会话连接
使用netwox 78号工具 使用命令-i +被连接服务的ip
,就可以使服务断开
通过wireshark分析,通过向靶机发送RST请求,断开连接
SYN Flood攻击
使用netwox 76号工具对21端口进行拒绝服务攻击,通过wireshark抓包看到会通过不同的IP向目标IP端口发送大量的数据包,使得正常服务被停止,并无法找出攻击IP地址
TCP 会话劫持攻击
首先通过telnet使得两个靶机建立连接,此时用攻击机的wireshark可以抓取到靶机之间建立会话连接的数据包,在建立远程连接的靶机上输入ls
命令,通过抓包可以看到
使用长命令--ip4-dontfrag --ip4-offsetfrag 0 --ip4-ttl 64 --ip4-protocol 6 --ip4-src 192.168.200.124 --ip4-dst 192.168.200.125 --tcp-src 1094 --tcp-dst 23 --tcp-seqnum 1254 --tcp-acknum 81 --tcp-ack --tcp-psh --tcp-window 64 --tcp-data "6D6B646972206161"
可以将攻击机伪装为任意靶机进行会话劫持,这需要抓取到下一次的seq值和ack值,需要发送的信息要进行十六进制编码,否则会出错。通过抓包可以看到传递的消息为mkdir aa,本意是为了让靶机新建一个名为aa的文件夹,不过没成功,只看到了指令的信息。
3.学习中遇到的问题及解决
问题1:对TCP\IP协议概念很迷?
解决:通过搜索大量解释,终究是弄懂了一部分。
问题2:在最后的会话劫持公众中,尝试发送使靶机新建文件夹命令,发现没有建立名为aa的文件夹?
解决:尚未解决,应该是水平不够,只能发送简单的数据信息通过十六进制转换,并简单的使用wireshark抓取发送的信息。
4.实践总结
通过这次真实的攻击模拟,发现攻击的方法是真的很多,同时发现自己的基础真的很差很差,毕竟没有学过计网、计组,更不用提那一本超级厚的TCP\IP协议了,如果想要真的把攻防学好,必须要去补基础,这将是一个艰难而又漫长的过程。