20212906 2021-2022-2 《网络攻防实践》第六周作业
1.实践内容
1.1 TCP/IP网络协议栈攻击概述
网络安全属性:机密性、完整性、可用性、真实性、不可抵赖性。
网络攻击基本模式:截获+、中断、篡改、伪造。
- 截获:被动攻击模式,目的是获取通信双方的通信信息内容,是对机密性的违反。具体攻击技术:嗅探、监听;
- 中断:主动攻击模式,目标是致使正常的网络通信和会话无法继续,是对可用性的破坏。具体攻击技术:拒绝服务;
- 篡改:主动攻击模式,对网络通信过程的信息内容进行修改,通信一方或双方接受到篡改后的虚假消息,对完整性的违背。具体攻击技术:数据包篡改;
- 伪造:主动攻击模式,假冒网络通信方的身份,欺骗通信对方达到恶意目的,是对真实性属性的背离。具体攻击技术:欺骗。
以下图来说明
还有一种更加高明的中间人攻击方法
网络协议栈的安全缺陷和攻击技术
1.2 网络层协议攻击
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路由重定向攻击示意图
1.3 传输层协议攻击
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会话劫持攻击。
虚拟机 | IP地址 | MAC地址 |
---|---|---|
Kali | 192.168.6.2 | 00:0c:29:43:fa:f0 |
Ubuntu | 192.168.6.3 | 00:0c:29:11:28:f3 |
WinXP | 192.168.6.4 | 00:0c:29:1D:A7:DF |
2.1 ARP缓存欺骗攻击
ARP缓存欺骗就是为了让一个靶机将另一个靶机的MAC地址记为攻击机的MAC地址,使用netwox 33号工具可以进行ARP欺骗
打开KALI的IP转发功能
Ubuntu输入arp -a查看arp表将其记录
Kali攻击机ping 靶机Ubuntu查看连通性
Kali执行以下命令sudo netwox 33 -b -(A的mac地址) -g -(B的ip地址) -h -(A的mac地址) -i -(A的ip地址)
即sudo netwox 33 -b 00:0c:29:11:28:f3 -g 192.168.6.4 -h 00:0c:29:11:28:f3 -i 192.168.6.3
再次查看Ubuntu arp -a
2.2 ICMP重定向攻击
首先,靶机Ubuntu ping www.baidu.com测试联通性
查看靶机Ubuntu路由信息route -n
使用netwox的86号工具进行ICMP重定向攻击,在Kali攻击机上执行命令netwox 86 -f "host 192.168.6.3" -g 192.168.6.2 -i 192.168.6.1,这个命令是当嗅探到SEED的数据包时,以192.168.6.1的名义发送ICMP重定向报文,使Kali成为其默认路由。
ping baidu.com 数据包已经被重定向到192.168.6.1
2.3 SYN Flood攻击
在XP中输入telnet 192.168.6.3(Ubuntu的对应ip),将Ubuntu和XP之间建立telnet联系,可以看到顺利建立连接并登录。
在Kali输入netwox 76 192.168.6.3 -p 23,对Ubuntu的23号端口进行攻击。
在攻击机kali中打开wireshark,发现大量TCP SYN数据包,表明了SYN flood攻击。
在Kali输入netwox 76 192.168.6.3 -p 23,对XP的23号端口进行攻击。登录靶机telnet 192.168.6.4,发现已失去和主机的联系
2.4 TCP RST攻击
在XP靶机再次输入telnet 192.168.6.3,使得Ubuntu与XP建立联系,可以发现顺利连接。
紧接上个攻击实验,利用Kali上已经部署的netwox的78号工具进行TCP RST攻击,命令为sudo netwox 78 -i 192.168.6.3
在XP处再次输入telnet 192.168.6.3,发现连接请求被拒绝。
2.5 TCP会话劫持攻击
在kali中可以使用sudo ettercap -G命令,打开ettercap图形化界面进行操作
打开Ettercap Menu->Hosts->Host List
分别添加target1和target2
选择MITM menu中的 ARP poisoning 进行ARP欺骗
在kali的Ettercap中选择Ettercap Menu菜单栏上选择View-Connections
接着用WinXP登录靶机,telnet 192.168.6.3
打开Ettercap菜单选择view,选择connections
打开后能够看到登录使用的用户名、密码
3.学习中遇到的问题及解决
问题1:Ubuntu 无法ping通 XP,所以得不到arp缓存表
问题1解决方案:重启再来一次就ping通了。
问题2:安装netwox时,又连不上网了
问题2解决方案:根据上周的经验以及开通蜜网网关等,不行就让它休息一会,过会试试可能就好了。
4.实践总结
经过这段时间的实践,感觉自己的动手操作能力有了不小的进步,也学到了不少知识。