20212904 2021-2022-2 《网络攻防实践》实践四报告

20212904 2021-2022-2 《网络攻防实践》实践四报告

1.实践内容

通过实验了解TCP/IP协议栈的几种攻击:ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击。

2.基础知识

(1)TCP/IP 协议栈的安全风险和相应的攻击技术如下表:

(2)ARP缓存欺骗攻击
1)ARP缓存欺骗攻击原理
ARP缓存欺骗攻击是利用ARP协议的缺陷进行的一种非法攻击。其原理是主机接收到一个应答包之后,并不会验证自己是否发送过对应的arp请求包,也不会验证这个arp请求包是否可信,而是直接用应答包里的IP地址和mac地址的对应关系替换掉arp缓存表里原有的对应关系。
2)ARP缓存欺骗攻击过程

(3)ICMP重定向攻击
1)ICMP重定向概念
ICMP重定向技术,是用来提示主机改变自己的主机路由从而使路由路径最优化的一种ICMP报文。其概念理解的要义是原主机路由不是最佳路由,而其默认网关提醒主机优化自身的主机路由而发送的报文。
2)ICMP重定向攻击
从安全的角度来讲,ICMP重定向报文没有协议状态检查,以及合法性机制验证,十分类似ARP报文,可以轻而易举的进行欺骗攻击。ICMP攻击可以达到的目的:流量的嗅探劫持、中间人代理权。正常时,user通过交换机Switch连接到网关设备Gateway,利用默认网关与跨网段的服务器Server通信。异常情况下,攻击者Attacker可以伪造网关向user发送ICMP重定向报文,可以结合ARP欺骗技术,然后用户user主机路由变成流量要通过Attacker来进行转发通信。攻击者可以截获、提取、分析、修改、重放用户user的数据包,造成多种安全威胁。
(4)SYN Flood攻击
1)SYN Flood攻击概念
SYN Flood攻击是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,常用假冒的IP或IP号段发来海量的请求连接的第一个握手包(SYN包),被攻击服务器回应第二个握手包(SYN+ ACK包),因为对方是假冒IP对方永远收不到包且不会回应第三个握手包。导致被攻击服务器保持大量SYN RECV状态的“半连接”,并且会重试默认5次回应第二个握手包,塞满TCP等待连接队列,资源耗尽(CPU满负荷或内存不足) ,让正常的业务请求连接不进来。
2)SYN Flood攻击图解

(5)TCP RST攻击
A和服务器B之间建立了TCP连接,此时C伪造了一个TCP包发给B,使B异常的断开了与A之间的TCP连接,就是RST攻击了。实际上从上面RST标志位的功能已经可以看出这种攻击如何达到效果了。假定C伪装成A发过去的包,这个包如果是RST包的话,毫无疑问,B将会丢弃与A的缓冲区上所有数据,强制关掉连接。如果发过去的包是SYN包,那么,B会表示A已经发疯了(与OS的实现有关),正常连接时又来建新连接,B主动向A发个RST包,并在自己这端强制关掉连接。
(6)TCP会话劫持攻击
TCP会话劫持的目标是劫持通信双方已建立的TCP会话连接,假冒其中一方(通常是客户端)的身份,与另一方进行一步通信。

3.实践过程

(1)ARP缓存欺骗攻击
1)ARP缓存欺骗攻击实验环境

虚拟机 IP MAC地址
Kali 192.168.200.5 00:0c:29:da:bb:26
MetaSploitable_Ubuntu(靶机1) 192.168.200.123
Win2kSever(靶机2) 192.168.200.124

2)使用MetaSploitable_Ubuntu靶机Ping 靶机Win2kSever,看是否能Ping通。

3)输入arp -a查看arp表将其记录,如图所示:

4)Kali虚拟机ping 虚拟机MetaSploitable_Ubuntu看是否能ping通。

5)ARP缓存欺骗就是为了让一个靶机将另一个靶机的MAC地址记为攻击机的MAC地址,使用netwox 80工具可以进行ARP欺骗,Kali输入apt install netwox 进行安装:

6)Kali输入netwox 80 -e 00:0c:29:da:bb:26 1 -i 192.168.200.123 对MetaSploitable_Ubuntu进行攻击,

7)返回MetaSploitable_Ubuntu再次查看arp缓存列表,发生了改变,说明攻击成功。

(2)ICMP重定向攻击
1)ICMP重定向攻击实验环境:

虚拟机 IP
Kali 192.168.200.5
SEEDUbuntu 192.168.200.3

2)查看靶机SEEDUbuntu路由为192.168.200.1。

3)测试SEEDUbuntu靶机 ping 百度,可以ping通:

4)在攻击机Kali输入 netwox 86 -f “host 192.168.200.3” -g 192.168.200.5 -i 192.168.200.1,进行ICMP重定向攻击。

5)再用SEEDUbuntu靶机 ping 百度,发现下一跳地址都变成了攻击机的IP地址192.168.200.5。

(3)SYN Flood攻击
1)SYN Flood攻击实验环境

虚拟机 IP
Kali(攻击机) 192.168.200.5
SEEDUbuntu 192.168.200.3
MetaSploitable_Ubuntu 192.168.200.123

2)在SEEDUbuntu中输入telnet 192.168.200.123,将SEEDUbuntu和MetaSploitable_Ubuntu之间建立telnet联系,可以看到顺利建立连接并登录。

3)在Kali输入netwox 76 192.168.200.123 -p 23,对MetaSploitable_Ubuntu的23号端口进行攻击。

4)回到SEEDUbuntu再次输入telnet 192.168.200.123,将SEEDUbuntu和MetaSploitable_Ubuntu之间建立telnet联系,出现明显卡顿。

5)回到Kali虚拟机,打开Wireshark看到攻击机通过不同的IP向靶机23号端口发送大量的数据包,使得正常服务停止,无法找出攻击IP地址。

(4)SYN Rst攻击
1)SYN Rst攻击实验环境:

虚拟机 IP
Kali(攻击机) 192.168.200.5
SEEDUbuntu 192.168.200.7
MetaSploitable_Ubuntu 192.168.200.123

2)在SEEDUbuntu中输入telnet 192.168.200.123,将SEEDUbuntu和MetaSploitable_Ubuntu之间建立telnet联系,可以看到顺利建立连接并登录。

3)使用命令:netwox 78 -i 192.168.200.123 ,在Kali上利用netwox的78号工具对MetaSploitable_Ubuntu的23号端口进行SYN Flood攻击。

4)回到SEEDUbuntu再次输入telnet 192.168.200.123发现无法连接。

(5)TCP会话劫持攻击
1)TCP会话劫持攻击实验环境

虚拟机 IP
Kali(攻击机) 192.168.200.5
SEEDUbuntu 192.168.200.7
MetaSploitable_Ubuntu 192.168.200.123

2)进入Kali,输入ettercap -G,打开ettercap,点击√,点击Ettercap菜单,点击hosts,点击scan for hosts,等待扫描完毕,再打开菜单点击hosts,点击hosts list:

3)在host list中选择SEEDUbuntu和MetaSploitable_Ubuntu靶机作为靶机作为攻击对象,选择菜单MITM中的ARP Poisoning点击OK:


4)打开Ettercap菜单选择view,选择connections:

5)打开SEEDUbuntu靶机对MetaSploitable_Ubuntu进行连接,输入账号密码。回到Kali,发现两个靶机之间传输数据包,点开发现telnet相关信息(右)以及账号和密码mfsadmin(左):

4.学习中遇到的问题及解决

  • 问题1:使用MetaSploitable_Ubuntu靶机Ping 靶机Win2kSever未ping通,原因是两台靶机不在一个局域网。
  • 问题1解决方案:把虚拟机分别改成NAT模式和vmnet1就可以了。
  • 问题2:在攻击机Kali输入 netwox 86 -f “host 192.168.200.3” -g 192.168.200.5 -i 192.168.200.1攻击靶机失败。
  • 问题2解决方案:原因是靶机IP地址的引号用成了中文,改成英文即可。

5.实践总结

通过这次实验,我了解ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击这几种攻击原理,这次实验相对之前的简单但是收获也很丰富。

posted @ 2022-04-04 14:01  z小kk  阅读(163)  评论(0编辑  收藏  举报