热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

20212810202120222《网络攻防实践》第四次作业

202128102021-2022-2《网络攻防实践》第四次作业一.实验内容TCPIP协议栈攻击概述网络安全属性与攻击模式:网络安全属性:机密性、完整性、可用性、真实性和不可抵赖性

20212810 2021-2022-2 《网络攻防实践》第四次作业

一.实验内容


TCP/IP协议栈攻击概述



  • 网络安全属性与攻击模式:

    网络安全属性:机密性、完整性、可用性、真实性和不可抵赖性

    网络攻击基本模式:截获、中断、篡改和伪造。截获是一种被动的攻击模式,其目的是获取网络通信双方的通信信息内容,是对机密性的违反。中断攻击是使目标的正常网络通信和回话无法继续,是对可用性的破坏。伪造则是假冒网络通信方的身份,欺骗通信对方达到恶意目的。篡改则是对网络通信过程的内容进行修改

  • TCP/IP网络协议栈安全缺陷与攻击技术

    网络接口层(数据链路层):常用的协议包括R/ARP和PPP协议,分别为ip-mac转换协议和点对点传输协议。分别对应MAC地址欺骗和嗅探及监听攻击。

    互连层(网络层):常用协议包括ICMP、BGP和ICMP等协议。IP地址只进行转发而不检查源IP地址的有效性,缺乏认证机制。ICMP协议可以控制路由路径,也可被用于洪泛攻击和Smurf攻击。

    传输层:TCP/UDP协议。再建立之后仅通过IP地址、端口和SEQ\ACK号对通信对方进行验证,非常容易遭受伪造和欺骗攻击。另外TCP的三次握手可以造就SYN洪泛攻击。

    应用层:HTTP、FTP、POP3/SMTP、DNS、SMB等均缺乏安全考虑,多采用明文传输。


网络层协议攻击



  • IP源地址欺骗

    首先对受信任主机进行攻击,使其丧失工作能力。

    采样猜测目标服务器的初始序列号ISN,再返回SYN/ACK报文的时候设置为ISN+1。

    伪造源地址为受信任的主机IP的SYN数据包

    伪装成被信任主机发送ACK包,设置发送数据包的ACK值为预测目标主机ISN+1。

    建立连接,假冒被信任主机与主机进行通信。

    应用场景:网络扫描、拒绝服务攻击和对抗身份认证机制。

    netwox伪造报文:netwox 41 -j 128 -k 1 -l 192.168.200.3 -m 192.168.200.5 -o 8

    nmap伪造源地址:nmap -sS -p 8080 192.168.200.3 -D 192.168.200.5使用.5的地址进行扫描

    防范措辞:随机化初始序列号、使用IPsec代替IP、避免使用基于IP地址的信任策略和在路由和网关上对抗IP源地址欺骗技术。

  • ARP欺骗

    ARP工作原理:当设备再数据链路层访问一个主机的时候,若已经得知对方的mac地址,则直接组合形成MAC帧进行传输;若只知道IP而不知道对方的MAC地址则通过ARP协议请求对方的MAC地址。

    具体的工作过程:当缺失MAC地址的时候就想全网广播ARP请求,收到的主机会检查自己的IP与被请求的IP是否相符,相符则发送arp相应包。(在有些书中会说,无论IP相符与否,请求方的IP和MAC会在收到请求的主机中更新。)

    攻击过程:当节点A发送对B节点的ARP请求包的时候,同一网段的主机都会收到请求。B会返回IP(B)/MAC(B),但是攻击机器C会返回IP(B)/MAC(C),其他机器不做应答。C不断返回错误的数据,导致A的IP-MAC映射表保存了错误的值。当A想B发送数据的时候,将会发送到C的端口。若C同时冒充A和B,则这就构成了中间人攻击

    应用场景:作为中间人嗅探信息,进行病毒传播等等

    使用netwox进行ARP欺骗命令:netwox 33 -b MAC(A) -g IP(B) -h MAC(A) -i IP(A),关键在于-g IP(B)使得目标主机保存错误的映射关系。

    ARP攻击的防范措施:使用静态绑定关键自己的IP地址与MAC地址的映射表

    *** ICMP路由重定向攻击**

    重定向机制原理:ICMP控制类报文中的路由重定向用来更新主机的路由表从而提高网络的传输效率。

    重定向攻击过程:攻击者使用IP源地址欺骗技术,冒充IP网关,向攻击节点发送ICMP重定向报文。被攻击节点进行审核后接受ICMP请求,从而攻击者将成为被攻击者和路由网关之间的桥梁。转发过程中根据重定向原理会发送真实的重定向报文。

    使用netwox进行重定向攻击:netwox 86 -f "host 靶机IP" -g 攻击机IP -i 网关IP

    防范措施:过滤一些类型的ICMP数据包,设置防火墙过滤,判断ICMP重定向报文是不是来自路由器


传输层协议攻击



  • TCP RST攻击

    TCP RST攻击原理:TCP协议头中有一个reset位置,用来表示会话中断。通过设置合理的seq和ack字段就可以达到关闭连接的效果



  • TCP会话劫持攻击

    TCP会话攻击原理:在靶机建立TCP会话之后再进行劫持,避免需要进行身份验证。简单来说就是攻击时间点后移的盲攻击

    TCP会话攻击过程:靶机与服务器进行连接,服务器向靶机返回相应包,其中的序列号被攻击机嗅探得到,进而仿冒靶机向服务器发送数据包。此时攻击机仿冒服务器向靶机发送RST包,避免靶机对通信的干扰。

    TCP会话劫持防御措施:初始序列号随机化、网络设计优化、新一代网络协议、禁用主机源路由、采用静态IP-MAC映射表及引用和过滤ICMP重定向报文等方法。或者采用对抗TCP攻击的通用方法IPsec。



  • TCP SYN Flood拒绝服务攻击

    SYN Flood攻击原理:正常的TCP会话需要三次握手:客户端SYN同步信息到服务器,服务器响应SYN-ACK,客户机返回ACK。简单来概括就是当服务器收到SYN后就必须回复并等待ACK,这将大量占用内存资源。当资源耗尽之后,服务器将拒绝新的连接,导致此端口无法响应机器的正常请求连接。

    SYN Flood攻击的防范措施:1. 通过SYN-COOKIE技术:在建立TCP连接的过程中不分配资源,而是返回生成的COOKIE报文,当客户端再次返回ACK的时候,使用ACK的头部信息计算COOKIE与返回的COOKIE进行比较,确认是否接受连接。2.通过防火墙地址状态监控技术:当防火墙监听到源地址的SYN报文和服务器的SYN\ACN报文就自动替客户机返回ACK,若一段时间内没有收到客户机的ACK就断开连接,并将客户机设置为bad的状态,禁止他再次连接。



  • UDP Flood拒绝服务攻击

    UDP Flood攻击的原理:利用UDP无状态的特性,向靶机发送尽可能多的UDP报文。

    UDP Flood攻击的防范措施:禁用或过滤监控和响应服务;禁用或过滤其他的UDP服务;在网络的关键位置使用防火墙和代理机制来过滤到一些非预期的网络流量来保护这些服务。




TCP/IP网络协议栈攻击防范措施



  • 监测、预防和安全加固

    在网络接口层,主要的安全威胁是网络嗅探。主要任务是利用防范网络嗅探的思想检测监听点,并在设计上细分和优化网络结构。

    在互连层上。采用多种检测和过滤技术进行检测和预防,并通过静态绑定IP-MAC映射表、使用IPsec进行安全加固

    在应用层上。采用审计、入侵检测等方法进行检测和预防,通过加密、用户及身份认证、数字签名技术和授权及访问控制等进行安全加固。

  • 网络安全协议:

    网络接口层:IEEE 802.11下属的相关协议,如WEP和WPA/WPA2,还有IEEE8002.11X协议

    网络互连层:IPsec协议簇。IPsec协议包含AH协议和ESP协议, AH协议提供无连接的完整性、数据源认证和抗重放保护服务;ESP提供IP协议的机密性、数据源验证、抗重放以及数据完整性保护服务。

    传输层的安全协议:传输层上的安全协议是TLS。基本特性是:加密和可靠。

    应用层安全协议:针对不同的安全机制可以使用HTTPS代替HTTP、S/MIME代替POP3/SMP,SSH代替telnet等等。

    应用下一代IPv6协议


二.实验过程

查看ip地址和mac地址:


1.ARP 缓存欺骗攻击:

ping Linux,并用 arp -a 查看 arp 缓存表:



打开Kali,利用netwox 33 -b -(A的mac地址) -g -(B的ip地址) -h -(A的mac地址) -i -(A的ip地址)命令对其进行攻击:



查看ARP表,mac地址已经发生了改变:


2.ICMP重定向攻击

1.查看ip地址:

kali 192.168.200.66

seed 192.168.200.65

2.查看路由表. 192.168.200.2



3.在kali中执行命令

使用netwox的86号工具进行ICMP重定向攻击,在Kali攻击机上执行命令netwox 86 -f "host 192.168.200.65" -g 192.168.200.66 -i 192.168.200.2,这个命令是当嗅探到SEED的数据包时,以192.168.200.2的名义发送ICMP重定向报文,使Kali成为其默认路由。



4.ping Baidu.com后看到数据包已经被重定向到192.168.200.66


3.SYN Flood攻击

kali 192.168.200. 66

seed 192.168.200.65

linux 192.168.200.123

1.在SEED_VM 环境中执行 telnet192.168.200.123



2.在kali输入netwox 76 -i 192.168.200.123 -p 23,该攻击是TCP里面的SYN Flooding,Dos攻击

3.打开Wireshark查看,可以看到攻击机向靶机发送了大量的虚假ip发出的SYN连接请求,我们无法确定攻击机ip地址


4.TCP会话劫持攻击

kali 192.168.200.66

SEED_VM 192.168.200.65

linux 192.168.200.123

在kail中,执行命令ettercap -G打开Ettercap工具,选择“eth0”作为嗅探监听接口



进入Host List



分别添加target1和target2,选择MITM menu中的 ARP poisoning 进行ARP欺骗



在kali的Ettercap中选择Ettercap Menu菜单栏上选择View-Connections

登录靶机,telnet 192.168.200.123



回到kali可以看到Ettercap已经截获两个靶机的信息


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

实验一中第一次ARP欺骗不成功

后来发现是IP地址和MAC地址的映射搞错了

实验二里面也有错误,后来莫名就好了


四.学习感悟、思考

这次实验感觉小问题不断,老是搞不清楚实验中每一步的意义。实验过程中比照视频来做,但是我们应该要在会用的同时,尽量理解基本原理,以后应该少做搬运工,尽力自己去弄明白每一步的原理。



推荐阅读
  • 本文详细介绍了Python的multiprocessing模块,该模块不仅支持本地并发操作,还支持远程操作。通过使用multiprocessing模块,开发者可以利用多核处理器的优势,提高程序的执行效率。 ... [详细]
  • 随着物联网技术的快速发展,NB-IoT(窄带物联网)作为一项关键的技术,正逐步成为实现大规模设备互联的重要手段。本文将详细介绍NB-IoT技术的特点、应用场景及其在实际项目中的应用实例。 ... [详细]
  • 探讨了使用杀毒软件清除木马后遇到的输入法消失问题及其解决方案,并介绍了系统重启时出现卡死现象的处理方法。 ... [详细]
  • 本文详细介绍了如何在阿里云 ECS 实例上安装和配置 MySQL 数据库,包括安装 MySQL 的 Yum 仓库、解决常见安装问题、启动服务以及设置初始用户权限等步骤。 ... [详细]
  • 本文探讨了Flutter和Angular这两个流行框架的主要区别,包括它们的设计理念、适用场景及技术实现。 ... [详细]
  • 互联网平台间的数据共享:机遇与挑战
    在当前的互联网环境中,获取信息或文档往往需要注册账户或下载特定的应用程序。这种做法不仅违背了互联网‘开放与共享’的精神,还加剧了数据私有化的问题。本文探讨了数据共享对互联网生态及用户的影响。 ... [详细]
  • PHP网站部署指南:从零开始搭建PHP网站
    本文提供了详细的步骤指导,帮助开发者在不同环境下成功部署PHP网站,包括在IIS和Apache服务器上的具体操作。 ... [详细]
  • 本文由专业SSL证书服务提供商SSL盾详细解析通配符SSL证书的特性和应用场景,帮助用户了解其在网络安全中的重要作用。 ... [详细]
  • 本文详细介绍了Java中的泛型概念及其在类、接口和方法中的应用。泛型是自JDK 1.5以来引入的一项重要特性,旨在增强代码的灵活性和安全性。 ... [详细]
  • 去控件化在线文档处理,推动高效信创办公环境
    探讨在线文档处理去控件化的趋势及其对构建高效信创办公生态的影响。 ... [详细]
  • 美国网络安全:MITRE Shield 积极防御知识库解析
    本文深入解析了MITRE Shield积极防御知识库,探讨其在网络安全领域的应用及意义。 ... [详细]
  • J2EE平台集成了多种服务、API和协议,旨在支持基于Web的多层应用开发。本文将详细介绍J2EE平台中的13项关键技术规范,涵盖从数据库连接到事务处理等多个方面。 ... [详细]
  • 深入解析 Zend Guard 4 功能与配置
    本文旨在通过图文并茂的方式详细介绍 Zend Guard 4 的核心功能及其配置方法,特别适合英文阅读能力有限的技术人员。文中不仅提供了详细的步骤说明,还附带了实际操作中的注意事项,帮助读者更好地理解和应用这一工具。 ... [详细]
  • 本文提供了解决在尝试重置MySQL root用户密码时遇到连接失败问题的方法,包括停止MySQL服务、以安全模式启动MySQL、手动更新用户表中的密码等步骤。 ... [详细]
  • 了解如何有效清除远程桌面连接中的缓存记录,对于提升服务器安全性至关重要。本文将指导您完成这一过程。 ... [详细]
author-avatar
yklyh
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有