1.实践内容
1.1 实验要求
https://bbs.csdn.net/topics/614184986
在网络攻防实验环境中完成TCP/IP协议栈重点协议的攻击实验,包括:
ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击。
1.2 实验原理
1.2.1 ARP缓存欺骗攻击
- ARP欺诈是一种通过利用有线以太网或无线网路传输虚假 ARP信息来实现对 IP地址的虚假欺骗。ARP协议在进行 IP地址到 MAC地址的映射时,通过广播请求包的形式来查询本地网络的映射关系,但是不能验证响应的真实性;另一方面, ARP协议为了提高 ARP的效率,设计了 ARP的缓冲机制,并将 ARP响应视为有效的消息;这就导致 ARP快取中经常会有一个虚假 IP位址与 MAC位址之间的对应关系来进行欺骗。
1.2.2 ICMP重定向攻击
- ICMP路由重新导向攻击是一种利用网络攻击的方法,通过假装路由器发送一个错误的 ICMP路由路径控制报文,使被攻方选择攻击者所指定的路径,从而实施侦测或伪造的攻击。攻击节点通过使用 IP源地址欺骗技术伪装成网关 IP地址,将 ICMP重新指向数据包发送到被攻击的节点,将新的路由器 IP地址作为攻击节点。被攻破的节点会监控 ICMP的数据包,一旦被检测成功,就会通过新的路由器和外部网络进行通讯,从而让攻击者可以进行窃听和嗅闻。
1.2.3 SYN Flood攻击
- 拒绝服务是一种在某一次攻击之后,被袭击目标无法及时地为其提供必要的业务。在广泛意义上,如果一次袭击造成了服务器无法正常地进行服务,那就是对服务的拒绝。SYN Flood是目前最为常见的一种攻击手段,它通过使用 TCP的漏洞来发出许多虚假的 TCP连接,导致被攻击方的网络资源枯竭(CPU负载过多或者没有足够的记忆)。
1.2.4 TCP RST攻击
- TCP RST攻击又称伪造 TCP复位包攻击,是一种技术手段,通过对 TCP通讯进行虚假的干扰。原则: TCP报头有一个重设,标记在1,接收报文的主机将要中断 TCP会话。TCP复位消息是直接关掉 TCP会话的连接。攻击者 C能够用嗅探法监控通信双方的 TCP链路。在获取源地址、目标 IP地址、端口和序列号之后,再利用 IP源地址欺骗技术,冒充通讯一方,将 TCP复位消息传送到对方。保证端口号和序号落在 TCP上会导致通讯双方的正常网络通讯中断,从而实现对服务的拒绝。
1.2.5 TCP会话劫持攻击
- Session劫持使用 TCP/IP的工作原理来设计攻击.TCP采用的是终端对终端的连接,也就是 TCP的源 IP, TCP端口号,目标 IP;目标 TCP端号码是唯一识别 TCP链接的方式。TCP在进行数据传送时, TCP包头的两个域编号(seq)和一个应答序列(ackseq)是很关键的。序列号(seq)和应答序列(ackseq)是与承载 TCP数据有效载荷数量的数字关系。序号字段(seq)指明了在报文中传输的数据在传输主机要传输的全部数据流中的序列号,而确认序列字段(ackseq)指明了发送消息的主机想要接收的下一八位组的顺序号。这样,一个主机接收的两个相邻 TCP包的序列号和应答序列是这样的:它要发送的报文的 seq值应该等于它刚刚接收到的报文的 ackseq值,而要发送报文中的 ackseq值应该是它所接收报文中 seq的值加上该报文中所发送的 TCP有效载荷的长度。
2.实践过程
2.1 ARP缓存欺骗攻击
- 选择Kali Linux作为攻击机,Metasploitable2-Linux作为靶机1,Win2kServer_SP0_target作为靶机2
分别查看其IP地址,确定处于同一个局域网
Kali Linux:IP地址 192.168.100.7,Mac地址 00:0c:29:59:d1:71
Metasploitable2-Linux:IP地址 192.168.200.12,Mac地址 00:0c:29:66:bd:f6
Win2kServer_SP0_target:IP地址 192.168.200.11 Mac地址 00:0c:29:14:0E:35
- 在Win2中 ping Metasploitable2-Linux的IP,得到arp缓存表
使用 arp -a查看arp缓存表,可以看出其IP与Mac地址是相对应的
- Kali 中执行命令
netwox 80 -e 00:0c:29:59:d1:71(Kali的Mac地址) -i 192.168.200.12(Metasploitable2-Linux)
回到Win2靶机中查看arp表,发现已经成功进行欺骗
- 最后执行
arp -d
删除arp表项内容
2.2 ICMP重定向攻击
- 选择Kali Linux作为攻击机,Ubuntu作为靶机
分别查看其IP地址,确定处于同一个局域网
Kali: 192.168.200.7
Ubuntu:192.168.200.3
- 查看Ubuntu的网关地址 192.168.200.1
- 在Kali攻击机中执行如下命令
netwox 86 -f "host 192.168.200.3" -g 192.168.200.7 -i 192.168.200.1
- 回到Ubuntu中ping www.baidu.com,发现已经被重定向
2.3 SYN Flood攻击
- 选择Kali Linux、Metasploitable2-Linux、SEEDUbuntu作为实验环境
分别查看其IP地址,确定处于同一个局域网
Kali:192.168.200.7
Metasploitable2-Linux:192.168.200.12
SEEDUbuntu:192.168.200.3
- 首先在Ubuntu中向Metasploitable发起登陆
telnet 192.168.200.12(Metasploitable的IP)
,输入Metasploitable的用户名密码
成功登录
- 在Kali中利用执行命令
netwox 76 -i 192.168.200.12(Metasploitable的IP) -p 23
,对靶机的23号端口进行SYN Flood攻击
- 在Kali中打开wireshark,可以看到攻击机向靶机发送了大量的虚假ip发出的SYN连接请求。
2.4 TCP RST攻击
- 首先在Ubuntu中向Metasploitable发起登陆
telnet 192.168.200.12(Metasploitable的IP)
,输入Metasploitable的用户名密码
- 在Kali中输入命令
netwox 78 -i 192.168.200.12
- 返回SEEDUbuntu中查看telnet登录页面,发现被强制退出
2.5 TCP 会话劫持攻击
- 选择Kali:192.168.200.7、SEEDUbuntu:192.168.200.9、Metasploitable:192.168.200.12作为实验环境
- Kali中输入命令
ettercap -G
打开ettercap
在Host中选择scan for host
在hosts中的hosts list中选择SEEDUbuntu和Metasploitable作为靶机1和靶机2
在菜单MITM中选择arp poisoning,点击ok
在muen中->view->connections
- 在SEEDUbuntu中对Metasploitable进行telnet连接
- 回到Kali,发现ettercap已经获取SEEDUbuntu与Metasploitable之间的telnet连接信息
查看详细信息可以观察到登录的用户名和密码,以及进行的操作命令
3.学习中遇到的问题及解决
- 问题1:在实验刚开始时遇到攻击机与主机不在同一个局域网,无法ping通的问题。
- 解决方法:发现是在之前的实验过程中将虚拟机的网络适配器连接模式改成桥接模式,需要将实验环境中所有虚拟机更改为VMnet8模式,并配置Metasploitable和Win2的静态IP等,使其在同一局域网内。
4.实践总结
在本次实验中,学习了ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击的原理,并在实验环境中动手操作对原理的理解更加深入。