《网络攻防实践》第5周作业
总体结构
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/besti/19attackdefense |
这个作业的要求在哪里 | https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10553 |
我在这个课程的目标是 | 学习网络攻防知识,增强动手实践能力。 |
这个作业在哪个具体方面帮助我实现目标 | 复习TCP/IP协议基本知识,学习TCP/IP攻击 |
作业正文 | 见下 |
参考文献 | [1].https://www.cnblogs.com/lingerhk/p/4065956.html |
1.实践内容
1.1 ARP欺骗
原理:ARP不对真实性进行验证,你说啥他就信啥。假如A想知道谁有某个IP地址,A会发出广播。如图所示。
但是攻击者一个劲的说那个IP地址时他的。然后A就会更新自己的ARP缓存,认为那个IP地址是攻击者的,下一次就不会再询问。
防范措施:静态绑定关键的IP与MAC的映射(可以在路由器端设置)。使用相应的防范工具,加密数据来减轻损失(例如下面实验就只能获取http协议的网站内容、对于加密过 的协议无法获取内容)。
1.2 ICMP重定向技术
原理:类似ARP报文,ICMP重定向报文没有协议状态检查,以及合法性机制验证,可以轻而易举的进行欺骗攻击。
防范措施:设置防火墙,判定ICMP是不是来自本地路由。
1.3 TCP洪水攻击
原理:伪造很多地址地址向主机发送大量的SYN,消耗主机的队列资源。此时主机会回复SYN/ACK,并等待的回复,但是大部分伪造地址是非活跃的,并不会回复RST,主机就继续发送SYN/ACK,并积压很多半开放队列,最终挤满。
防范措施:SYN-cookie,避免了在连续信息未达到之前进行资源分配。防火墙地址状态监控,监控程序会监视,当一个ip长时间不回复,他就会代理回复一个RST,并将该IP拉至“黑名单”。检测、预防和加固。
1.4 TCP RST攻击
原理:TCP协议头部有一个reset位,一旦该位置为1,接收该包的主机就会立即关闭这个TCP会话连接。攻击者早获取通信双方的IP、端口号、序列号之后,就可以穿上某一方的IP衣服,发reset信息给另一方,导致通信直接中断。netwox可以进行该攻击。
防范措施:对付这种攻击也可以通过防火墙简单设置就可以了。建议使用防火墙将进来的包带RST位的包丢弃就可以了。
1.5 TCP劫持攻击
原理: TCP会话劫持是劫持通信双方已经建立的TCP会话连接,假冒其中一方的身份,与另一方进行进一步通信。其中最核心的就是通过TCP对会话通信方的验证。
防范措施:通防止ARP、ICMP攻击一样,采用静态绑定IP-MAC映射表以及避免ARP欺骗,防火墙过滤ICMP重定向报文
2.实践过程
在网络攻防实验环境中完成TCP/IP协议栈重点协议的攻击实验,具体包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击及会话劫持攻击。
设备名称 | 设备ip | 设备max地址 |
---|---|---|
kali攻击机 | 192.168.200.8 | 00:0C:29:8F:DB:91 |
winsever靶机 | 192.168.200.124 | 00:0C:29:58:BF:6B |
windows xp | 192.168.200.9 | 00:0C:29:DF:EO:38 |
2.1 ARP缓存欺骗攻击
首先安装netwox
sudo apt-get install netwox
更改ip_forward中的值为1,作用为开启攻击机ip路由转发,否则当发起arp攻击时,会导致手机断网,这也就是arp断网攻击。注:此处需要实验sudo su提权。通过echo 1的方式设置只对本次使用有效,系统重启之后还是会恢复为0。
成功了
实际的mac
windows xp靶机访问天翼快递时,截获的那张图片就是天翼快递的logo。
截获手机端数据,手机端正使用腾讯会议。但尽管在攻击机端开启了路由转发,手机端仍明显卡顿。
手机端访问考研帮网站,攻击机获取该网站的图片。
2.2 ICMP重定向攻击
netwox 86 -f "host 192.168.200.9" -g 192.168.200.8 -i 192.168.200.1
# 嗅探到192.168.200.8(win靶机)的数据包时,以192.168.200.1的名义发送ICMP重定向报文,使192.168.200.9(攻击机)成为其默认路由
2.3 SYN洪水攻击
使用虚拟机中的linux作为攻击机来对winxp靶机发起SYN Flood攻击,靶机ip地址为192.168.200.9;
使用netwox中的76号工具进行攻击,执行命令:netwox 76 -i "[靶机ip]" -p [端口号]。在这里我发起的是针对80端口的SYN Flood攻击。
netwox 76 -i 192.168.200.9 -p 80
同时在靶机上打开wireshark进行抓包分析,可以看到攻击机向靶机发送了大量的虚假ip发出的SYN连接请求。
这些虚假的连接请求MAC地址为00:00:00:00:00,无法溯源攻击者的真实身份。
2.4 SYN RST攻击
TCP RST攻击被称作伪造TCP重置报文攻击,是一种假冒干扰TCP正常连接的技术方法。利用了TCP协议头中的标志位“RST”,大部分数据包中的该标志位都置为0,而当一个数据包中RST标志位置为1时,接收该数据包的主机将断开这个TCP连接。假设主机A和主机B进行正常的TCP通信,攻击者监听到A和B之间通信的信息,此时攻击者假冒A向B发送一个RST标志位为1的数据包,B收到数据包后进行检查,发现RST标志位为1,断开和A的连接。
实践操作:
使用netwox第78号工具发起攻击,执行命令netwox 78 -i [靶机ip],即对靶机进行TCP RST攻击,将导致靶机断开所有的TCP连接。
netwox 78 -i 192.168.200.9
2.5TCP劫持攻击
- 在Kali上打开Wireshark设置过滤条件telnet,然后在xp中telnet 192.168.200.124
- 首先将winxp利用telnet 192.168.200.124登陆winsever。
-
如果你没有发其他指令,那么这个指令应该就是最后一个包,打开TransmissionControl Protocol 查看以下几个值,源端口、目的端口、Next Seq Num和ACK值。
-
我们要伪造发下一个包,所以把Next Seq Num作为下一个包的ACK,采用ACK作为下一个包的Seq。
-
使用指令
netwox 40 --ip4-dontfrag --ip4-offsetfrag 0 --ip4-ttl 64 --ip4-protocol 6 --ip4-src 192.168.200.9 --ip4-dst 192.168.200.124 --tcp-src 40924 --tcp-dst 23 --tcp-seqnum 1 --tcp-acknum 1 --tcp-ack --tcp-psh --tcp-window 64 --tcp-data "68656C6C6F776F726C64"
第一个40是netwox的40号工具,在ip4-src后输入你的winxp地址,在ip4-dst后输入win server地址,tcp-src表示原端口号(这个是变化的),tcp-seqnum和tcp-acknum输入刚才讲解的值,tcp-data是你要发的数据的16进制值,这里的是helloworld的16进制。同样的可以在Wireshark中观察到发送的值。
3.学习中遇到的问题及解决
- 问题1:ip路由转发卡顿明显
- 问题1解决方案:机器原因,暂无法解决
4.实践总结
通过学习攻击技术,了解到了该如何防范风险。