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

一、实践内容

(一)网络攻击模式

  在网络通信中,攻击者可以采取如下四种基本的攻击模式,包括截获、中断、篡改与伪造。

1、截获

  是一种被动攻击模式,其目的是获取网络通信双方的通信信息内容,是对机密性的违反,主要的攻击技术为嗅探 (Sniffing) 与监听 (Eavesdropping);

2、中断

  是一种主动攻击模式,其目的是致使正常的网络通信和会话无法继续,是对可用性的违反,具体的攻击技术为拒绝服务(Denial of Service,DoS);

3、篡改

  是一种主动攻击模式,其目的是对网络通信过程的信息内容进行修改,使得通信一方或双方接收到篡改后的虚假消息,是对完整性的违反,具体的攻击技术为数据包篡改;

4、伪造

  是一种主动攻击模式,其目的是假冒网络通信方的身份,欺骗通信双方达到恶意,是对真实性的违反,具体的攻击技术为欺骗(Spoofing)。

(二)网络层协议攻击

1、IP源地址欺骗

  是指攻击者伪造具有虚假地址的IP数据包进行发送,已达到隐藏发送者身份、假冒其他计算机的目的。

2、ARP欺骗

  是指攻击者在以太网或无线网上发送伪造的ARP消息,对特定IP所对应的MAC地址进行假冒欺骗,从而达到恶意目的的攻击技术。

  原理:ARP协议将主机的IP地址解析成其MAC地址,然后在局域网内通过MAC地址进行通信。

  攻击工具:Netwox中的33号工具可构造任意以太网的ARP数据包,80号工具可周期性发送ARP应答包。

  防范措施:静态绑定关键主机的IP地址与MAC地址的映射关系、使用ARP防范工具,加密传输数据。

3、ICMP重定向攻击

  是指攻击者伪装成路由器发送虚假的ICMP路径路由控制报文,使得受害主机选择攻击者指定的路由路径,从而进行嗅探或假冒攻击的一种技术。

  ICMP路由重定向攻击技术:攻击节点利用IP源地址欺骗技术,冒充网关地址,向被攻击节点发送ICMP报文;被攻击节点选择新路由IP地址为新路由器;攻击节点可以开启路由转发,对被攻击节点全程监听。

  工具:利用Netwox进行ICMP路由重定向攻击

  防范措施:设置防火墙过滤,判断ICMP报文是否来自本地路由器等。

(三)、传输层协议攻击

1、TCP RST攻击

  是一种假冒干扰TCP通信连接的技术方法。TCP协议头中有一个“reset”比特位,绝大部分数据包该位为0,一旦该位为0,则接受数据包的主机将断开此TCP连接。

  Network工具可以选择编号为78的“Rest every TCP packet”工具来实现TCP RST攻击。

2、TCP会话劫持攻击

  目标是劫持通信双方的TCP会话连接,假冒其中一方的身份与另一方进行通信。

  攻击者通过ARP欺骗实施中间人攻击,可嗅探得Victim和talent之间的会话内容,然后假冒其victim的IP地址及身份,与talent会话;发送的数据包必须满足条件SVR_ACK<=CLT_SEQ<=SVR_ACK+SVR_WND。

  防范措施:禁用主机上的原路由,静态绑定IP-MAC映射表、引用和过滤ICMP重定向报文。

3、TCP SYN Flood拒绝服务攻击(DOS)

  SYN泛洪攻击利用TCP三次握手的缺陷,向目标主机发送大量的伪造源地址的SYN连接请求,从而导致目标主机连接列队资源消耗而不能提供服务。

  攻击原理:攻击主机向受害主机发送大量报文,受害机必须要分配资源并且向源地址返回SYN/ACK包,还要等待源端返回ACK包。当半开的列队填满时,服务器就会拒绝新的连接,最终使受害主机拒绝服务。

  工具:Netwox软件,选择编号为76的“Synflood”工具并输入目标地址,攻击机即开始执行攻击。

  防范措施:SYN-Cookie技术;防火墙地址状态监控技术。

二、实践过程

任务:在网络攻防实验环境中完成TCP/IP协议栈重点协议的攻击实验,包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击。

1、选用Kali为攻击机,Win2kServer和metasploitable_ubuntu为靶机,第一步是用ifconfig获取它们的物理地址以及IP地址,其中值得注意的是WinXP得用ipconfig/all

  kali的IP地址

 

   metasploitable_ubuntu的IP地址

 

 

 

   Win2kServer的IP地址

 

 

 

 

 

 (一)、ARP缓存欺骗攻击

  kali作为攻击机,通过ARP缓存欺骗攻击MetasploitableUbuntu与Win2kServer间的正常通信。

  将Kali虚拟机设置为主机模式

 

 

 

 

 

 

 

  用metasploitable_ubuntu 虚拟机ping Win2k虚拟机,测试metasploitable_ubuntu与Win2k是否可以正常通信,然后按Ctrl+c停止,输入命令arp -a。

   在kali上安装netwox,安装指令是sudo apt-get install netwox

 

 

 

 

 

   利用netwox中的80号工具伪造Win2kServer的MAC地址,指令是netwox 80 -e 伪造的MAC地址 -i Win2kServe的IP地址,伪造的MAC地址为:00:0C:29:AA:AA:AA。

 

 

 

   然后在MetasploitableUbuntu上ping Win2kServer,发现ping不通,说明二机已不能正常通信

 

 

 

 通过指令arp-a查看缓存表发现Win2kServer的MAC地址是kali伪造的MAC地址:

 

 

  在kali命令框中按Ctrl + c停止使用ARP欺骗工具后,在MetasploitableUbuntu虚拟机上ping Win2kServer虚拟机,二者又恢复了正常通信

  实践完后,删除MetasploitableUbuntu中靶机的arp映射表:sudo arp -d 192.168.200.124

 

 

 

 

 

 

(二)ICMP重定向攻击

  输入ifconfig,查看SeedUbuntu的IP地址

 

 

 

 

  在SEEDUbuntu上ping Win2k检查连通性

 

 

 

 

 

 

  输入netstat -rn查看受害主机的路由表信息,可知,正常通信时,网关是192.168.200.1

 

 

 

  在攻击机Kali上使用netwox中的86号工具伪造重定向数据包,首先嗅探链路中所有来自SEEDUbuntu的TCP数据包,然后kali就以step1中网关的名义向SEEDUbuntu发送ICMP重定向包,使得SEEDUbuntu重定向以192.168.19.67作为网关,指令是 netwox 86 -f "host 192.168.200.7" -g 192.168.200.4 -i 192.168.200.1:

 

 

 

 

 

再在SEEDUbuntu上ping Win2k,发现有redirect重定向数据,且重定向ip地址为kali的ip——192.168.200.4,可知SEEDUbuntu已经不能与之前的网关正常通信

 

 

 

 

 

 

  在kali上打开wireshark,并选择eth0,可以监听到Kali发送给SEEDUbuntu的ICMP重定向数据包

 

 

   在kali按Ctrl+c停止使用ICMP重定向攻击工具后,再在SEEDUbuntu中pingWin2k,可以正常ping通

 

 

 

(三)SYN Flood攻击

  检查SEEDUbuntu能否与MetasploitableUbuntu进行正常telnet连接,指令是:telnet ip地址

 

 

 在攻击机Kali上使用netwox中的76号工具对MetasploitableUbuntu展开SYN Flood攻击,指令是 :sudo netwox 76 -i 192.168.200.123 -p 23。这里的ip地址是靶机的,76代表使用netwox的76号工具,-p 23指定端口为23号

 

 

   打开kali的wireshark,发现攻击机向靶机发送了大量的虚假 IP 发出的 SYN 连接请求,这些虚假的连接请求没有 MAC 地址,无法溯源攻击者的真实身份。

 

 

 (四)TCP RST攻击

  检查SEEDUbuntu能否与MetasploitableUbuntu进行正常telnet连接,指令是:telnet ip地址

 

 

  在攻击机Kali上使用netwox中的78号工具对MetasploitableUbuntu展开TCP RST攻击,指令是:netwox 78 -i 192.168.200.123

 

  再检查SEEDUbuntu能否与MetasploitableUbuntu进行正常telnet连接,发现已经不能。

 

 

  在kali输入Ctrl+c中断开攻击,再在SEEDUbuntu中尝试与MetasploitableUbuntu进行telnet连接,发现成功连接。

 

 

 

 

 

 

(五)TCP会话劫持攻击

在SEEDUbuntu中尝试与MetasploitableUbuntu进行telnet连接

 

 

 

 

 

打开kali攻击机中的wireshark,选择eth0,并筛选telnet。

 

 

 

在SEEDUbuntu攻击机建立的telnet连接中输入ls,在kali攻击机的wireshark中即可捕获到信息。

 

 

 

 

 

 

  双击打开捕获的最后一个数据报,并打开Transmission Control Protocol选项,查看该数据包源端口、目的端口、Next Seq Num和ACK值等信息。

 

 

 

  在kali命令窗口中输入指令netwox 40 --ip4-dontfrag --ip4-offsetfrag 0 --ip4-ttl 64 --ip4-protocol 6 --ip4-src 192.168.200.7 --ip4-dst 192.168.200.123 --tcp-src 38021 --tcp-dst 23 --tcp-seqnum 5 --tcp-acknum 44 --tcp-ack --tcp-psh --tcp-window 64 --tcp-data 6869,在kali攻击机中使用netwox的40号工具伪造SEEDUbuntu靶机给MetasploitableUbuntu靶机发一个tcp包,发送成功后,原来的SEEDUbuntu靶机就会失去连接,Kali攻击机会被靶机MetaSploitable会把当作访问者,实现TCP会话劫持。

 

 

 

  打开kali攻击中的wireshark,筛选tcp。数据报中筛选到TCP Dup的数据报,TCP会话劫持攻击成功。

 

 

 

三、学习中遇到的问题及解决

 问题:在(五)中的一步kali窗口中输入netwox 40那一步长命令时,忘记进入root模式,出现了not supported的错误提醒。

 

 

 解决办法:进入root模式之后再输入命令则成功运行。

四、实践总结

  1、通过这次实验,我对网络攻防的知识掌握地比之前更为全面与熟练,知道了如何进行TCP/IP协议栈的五种典型攻击并动手操作,虽然过程比较费时,但是对我知识的掌握以及动手动脑能力都有一定提升,对虚拟机的一些操作也更加得心应手,对wireshark的分析更能看懂了一点,虽然还有些原理不是很清楚,但相信在未来的实践中会更加明白的。

   2、因为实验比较琐碎,通过这次实验大大增加了自己的耐心,认识到只有脚踏实地一步一步才能最终得到理想结果,不仅做实验是这样,生活中的每一件事都是这样。

posted @ 2022-04-10 19:24  蔡蔡文姬  阅读(198)  评论(0编辑  收藏  举报