首页 > 其他分享 >第二章 网络攻击原理与常用方法

第二章 网络攻击原理与常用方法

时间:2023-07-29 18:56:42浏览次数:33  
标签:攻击 主机 端口 目标 系统 原理 第二章 数据包 网络攻击

网络攻击概述

网络攻击概念

网络攻击是指损害网络系统安全属性的危害行为。

常见的危害行为由四个基本类型:

  1. 信息泄露攻击;
  2. 完整性破坏攻击;
  3. 拒绝服务攻击;
  4. 非法使用攻击。

网络攻击模型

攻击树模型

攻击树模型起源于故障树分析方法。
故障树分析方法主要用于系统风险分析和系统可靠性分析,后扩展为软件故障树。

攻击树方法可以被red team用来进行渗透测试,同时也可以被blue team用来研究防御机制。

攻击树的优点:

  • 能够建模非常复杂的攻击场景。

攻击树的缺点:

  • 由于树结构的内在限制,不能用来建模多重尝试攻击、时间依赖及访问控制等场景;
  • 不能用来建模循环事件;
  • 对于现实中的大规模网络,攻击树方法处理起来将会特别复杂。

MITRE ATT&CK 模型

基于MITRE TT&CK的应用场景主要有网络红蓝对抗模拟、网络安全渗透测试、网络防御差距评估、网络威胁情报收集等。

网络杀伤力链(Kill Chain)模型

该模型将网络攻击活动分为:

  • 目标侦察;
  • 武器构造;
  • 荷载投送;
  • 漏洞利用;
  • 安装植入;
  • 指挥和控制;
  • 目标行动。
网络攻击活动 解释
目标侦察 研究、辨认和选择目标,通常利用爬虫获取网站信息
武器构造 将远程访问的特洛伊木马程序与可利用的有效荷载结合在一起
荷载投送 将武器化有效荷载投送到目标环境
漏洞利用 将攻击荷载投送到受害者主机后,漏洞利用通常针对应用程序或操作系统漏洞,会触发恶意代码功能
安装植入 在受害目标系统上安装远程访问的特洛伊木马或后门程序,以持久性地控制目标系统
指挥与控制 构建对目标系统的远程控制通道,实施远程指挥和操作
目标行动 采取行动执行攻击目标的任务

网络攻击一般过程

隐藏攻击源

隐藏位置就是有效的保护自己,根据TCP/IP协议的规定,若没有采取保护措施,攻击主机很容易反差到位置,如IP地址和域名。

攻击者通常使用如下技术隐藏自己的IP地址或域名:

  • 利用被入侵的主机作为跳板;
  • 免费代理网关;
  • 伪造IP地址;
  • 假冒用户账号。

收集攻击目标信息

在发动一些攻击之前,攻击者一般要确定攻击目标并收集目标系统的相关信息。

攻击者常常收集的目标系统信息如下:

  • 目标系统一般信息,主要有目标系统的IP地址、DNS服务器、邮件服务器、网站服务器、操作系统软件类型及版本号、应用软件类型及版本号、系统开发商等;
  • 目标系统配置信息,主要系统是否禁止使用root远程登录、缺省用户名/默认口令等;
  • 目标系统的安全漏洞,主要是目标系统的有漏洞的软件及服务;
  • 目标系统的安全措施,主要是目标系统的安全厂商、安全产品等;
  • 目标系统的用户信息,主要是目标系统用户的邮件账号、社交网账号、手机号、照片、爱好等个人信息。

挖掘漏洞信息

系统漏洞的存在是系统受到各种安全威胁的根本原因。
外部攻击者的攻击主要是利用了系统网络服务中的漏洞,内部人员则是利用了系统内部服务及其配置上的漏洞。

常用的漏洞挖掘技术方法有如下内容:

  • 系统或应用软件漏洞
  • 主机信任关系漏洞
  • 目标网络的使用者漏洞
  • 通信协议漏洞
  • 网络业务系统漏洞

获取目标访问权限

一般账户对目标系统只有有限的访问权限,要达到目的,攻击者必须拿到更多的权限。

获得系统管理权限通常有以下途径:

  • 获得系统管理员的口令,如专门针对root用户的口令攻击;
  • 利用系统管理上的漏洞,如错误的文件许可权,错误的系统配置,某些SUID程序中存在的缓冲区溢出问题等;
  • 让系统管理员运行一些特洛伊木马;
  • 窃听管理员口令。

隐蔽攻击行为

隐藏技术:

  • 连接隐藏,如冒充其它用户、修改LOGNAME环境变量、修改utmp日志文件、使用IP SPOOF技术等。
  • 进程隐藏,如使用重定向技术减少ps给出的信息量、用特洛伊木马代替ps程序等。
  • 文件隐蔽,如利用字符串相似麻痹系统管理员,或修改文件属性使得普通显示方法无法看到;利用操作系统可加载模块特性,隐瞒攻击时所产生的信息。

实施攻击

实施攻击的目标可归结为以下几种:

  • 攻击其他被信任的主机和网络;
  • 修改或删除重要数据;
  • 窃听敏感数据;
  • 停止网络服务;
  • 下载敏感数据;
  • 删除数据账号;
  • 修改数据记录;

开辟后门

攻击者设计后门时通常会考虑以下方法:

  • 放宽文件许可权;
  • 重新开放不安全的服务,如REXD、TFTP等;
  • 修改系统的配置,如系统启动文件、网络服务配置文件等;
  • 替换系统本身的共享库文件;
  • 修改系统的源代码,安装各种特洛伊木马;
  • 安装嗅探器;
  • 建立隐蔽信道。

清除攻击痕迹

常用的方法有:

  • 篡改日志文件中的审计信息;
  • 改变系统时间造成日志文件数据紊乱以迷惑系统管理员;
  • 删除或停止审计服务进程;
  • 干扰入侵检测系统的正常运行;
  • 删除完整性检测标签。

网络攻击常见技术方法

端口扫描

目的时找出目标系统上提供的服务列表。

端口扫描程序挨个尝试与TCP/UDP端口连接,然后根据端口与服务的对应关系,结合服务器的反应推断目标系统上是否运行了某项服务。

完全连接扫描

完全连接扫描利用了TCP/IP协议的三次握手机制,使源主机和目的主机的某个端口建立一次完整的连接。

  • 建立成功,则表明端口开放。
  • 建立失败,则表明端口关闭。

半连接扫描

是指在源主机和目的主机的三次握手连接过程中,只完成前两次握手,不建立一次完整的连接。

SYN扫描

首先向目标主机发送连接请求,当目标主机返回响应后,立即切断连接过程,并查看响应情况。

  • 目标机器返回ACK信息,表示目标机器的该端口开放。
  • 目标主机返回RESET信息,表示该端口没有开放。

ID头信息扫描

首先知道一个概念,dumb主机:不太活跃的主机,类似于这个服务器上没有什么服务,被别人空置的主机。

首先由源主机A向dumb主机B发出连续的ping包,并查看数据包的ID头信息。每个顺序数据包的ID头会增加1。然后由源主机A假冒主机B的地址向目标的主机C的任意端口(1-65535)发送SYN数据包,这时,主机C向主机B发送的数据包有两种可能结果:

  • SYN | ACK表示改端口处于监听状态;

  • RST | ACK表示改端口处于非监听状态;

由后续ping包的响应信息的ID头信息可以看出,如果主机C的某个端口是开放的,则主机B返回A的数据包中,ID头的值不是递增1。如果主机C的端口是非开放的,则主机B返回A的数据包中,ID头的值递增1,非常规律。

隐蔽扫描

是指能够成功绕过IDS、防火墙和监视系统等安全机制,取得目标主机端口信息的一种扫描方式。

SYN|ACK扫描

由源主机向目标机器的某个端口直接发送SYN|ACK数据包,而不是先发送SYN数据包,由于这种方法不直接发送SYN数据包,目标主机会认为这是一次错误的连接,从而会报错。

  • 返回RESET信息,表示端口未开放;
  • 没有信息返回,表示端口开放。

FIN扫描

源主机A向目标主机B发送FIN数据包,然后查看反馈消息。

  • 返回RESET信息,表示端口关闭;
  • 没有返回信息,表示端口开启。

ACK扫描

由主机A向目标主机B发送FIN数据包,查看反馈数据包的TTL值和WIN值。

  • 开放端口所返回的数据包的TTL值小于64,
  • 关闭端口的返回值大于64。
  • 开放端口的返回值大于64.开放端口返回的WIN值大于0
  • 关闭端口的返回值一般等于0。

NILL扫描

将源主机发送的数据包中的ACK、FIN、RST、SYN、URG、PSH等标志位全部置空。

  • 如果目标主机没有返回任何信息,则表明该端口是开放的;
  • 如果返回RST信息,则表明该端口是关闭的。

XMAS扫描

XMAS扫描的原理和NULL相同,只是将要发送的数据包中的ACK、FIN、RST、SYN、URG、PSH等标志位全部设置为1。

  • 如果目标主机没有返回任何信息,则表明该端口是开放的;
  • 如果返回RST信息,则表明该端口关闭。

网络端口扫描是攻击者必备的技术,通过扫描可以掌握攻击目标的开放服务,根据获得的信息,为下一步的攻击做准备。

口令破解

口令机制是资源访问控制的第一道屏障。

进行远程猜测网络服务口令的主要工作流程如下:

  1. 建立与目标网络服务的网络连接;
  2. 选取一个用户列表文字及字典文件;
  3. 在用户列表文件及字典文件中,选取一组用户和口令,按网络协议规定,将用户名及口令发送给目标网络服务端口;
  4. 检测远程服务返回的信息,确定口令尝试是否成功;
  5. 再取另一组用户和口令,重复循环试验,直到口令用户列表文件选取完毕。

缓冲区溢出

缓冲区溢出攻击可以使攻击者有机会获得一台主机的部分或全部的控制权。
image

恶意代码

常见的恶意代码类型由:计算机病毒、网络蠕虫、特洛伊木马、后门、逻辑炸弹、僵尸网络等。

“震网”网络蠕虫是首个专门用于定向攻击真实世界中基础(能源)设施的恶意代码。

拒绝服务

拒绝服务攻击是指攻击者利用系统的缺陷,执行一些恶意的操作,使得合法的系统用户不能及时得到应得的服务或系统资源。
拒绝服务攻击最本质的特征是延长服务等待时间。

拒绝服务攻击与其它的攻击方法相比较,具有以下特点:

  1. 难确认性;
  2. 隐蔽性;
  3. 资源有限性;
  4. 软件复杂性。

同步风暴(SYN Flood)

攻击者假造源网址发送多个同步数据包给服务器,服务器因无法收到确认数据包,使TCP/IP协议的三次握手无法顺利完成,因而无法建立连接。
其原理是发送大量半连接状态的服务请求,使得Unix等服务主机无法处理正常的连接请求,因而影响正常运行。

UDP洪水(UDP Flood)

攻击者在短时间内向目标设备发送大量的UDP报文,导致链路拥塞甚至网络瘫痪。

Smuf攻击

利用TCP/IP协议自生缺陷,结合IP欺骗和ICMP回复的方法是网络响应ICMP回复请求,从而产生大量的数据流量,导致网络严重阻塞和资源消耗,进而引起目标系统拒绝为合法用户提供服务。

Smurf攻击示意图:
image

垃圾邮件

利用邮件系统制造垃圾信息,耗尽用户信箱的磁盘空间,使用户无法应用这个信箱。

消耗CPU和内存的拒绝服务攻击

利用目标系统的计算算法漏洞,构造恶意输入数据集,导致目标系统的 CPU 或内存资源耗尽,从而使目标系统瘫痪。

死亡之ping

泪滴攻击

泪滴攻击暴露出 IP 数据包分解与重组的弱点 IP 数据包在网络中传输时,会被分解成许多不同的片传送,并借由偏移量字段 作为重组的依据。泪滴攻击通过加入过多或不必要的偏移量字段,使计算机系统重组错乱,产生不可预期的后果。

分布式拒绝服务攻击(DDOS)

分布式拒绝服务攻击是指植入后门程序从远程遥控攻击,攻击者从多个已入侵的跳板主机控制数个代理攻击主机,所以攻击者可同时对已控制的代理攻击主机激活干扰命令,对受害主机大量攻击。

网络钓鱼

网络窃听

利用网络通信技术缺陷,使得攻击者能够获取到其他人的网络通信信息。

常见的网络窃听手段有:网络嗅探、中间人攻击。

标签:攻击,主机,端口,目标,系统,原理,第二章,数据包,网络攻击
From: https://www.cnblogs.com/imawuya/p/17583141.html

相关文章

  • 快读快写 原理详解
    快读快写原理详解目录快读快写原理详解代码快读readquickly快写writequickly代码解释快读第一部分第二部分第三部分第四部分第五部分快写第一部分第二部分第三部分第四部分第五部分参考文献C++的cincout和C的scanfprintf等IO函数已经够我们是用了,但是它们很慢,......
  • 浏览器缓存原理
    本文可以配合本人录制的视频一起食用目的通常说到浏览器缓存,大多是和性能优化有关,使用缓存,通常是两个主要目的,第一是提高访问速度,第二是减少网络IO消耗。当合理配置了缓存,可以得到提升用户体验、减轻服务器负担、节省带宽等效果,这是一种效果显著的前端性能优化手段。四个方面......
  • 管道液位传感器的工作原理图
    管道光电液位传感器是一种有效解决传统机械式传感器低精度和卡死失效问题的新型传感器。它也解决了电容式传感器感度衰减导致的不可控性失效问题。该传感器利用红外光学组件,通过设计形成感应线路,能够判断水与空气中的光折率差异,从而快速稳定地做出状态判断。管道光电液位传感器在许......
  • JavaScript学习 -- SM3算法基本原理
    SM3算法是一种由国家密码管理局发布的哈希算法,被广泛用于数字签名和消息认证等应用中。在JavaScript中,我们可以使用第三方库来计算数据的SM3哈希值。本篇文章将介绍SM3算法的基本原理和相关技术,并提供一些实例来演示如何在JavaScript中使用SM3算法。SM3算法基本原理与MD5、SHA-1、S......
  • redis sentinel 工作原理
    二工作原理2.1Sentinel构成一个完整的sentinel集群包括两个部分:哨兵节点(sentinel):负责监控redis和sentinel节点的运行情况。数据节点:即redis节点,包含主从节点。2.2Sentinel机制redis使用(sentinel)的工作原理是:redis使用一组sentinel节点来监控主从redis服务......
  • 运动控制-PLC工作原理
    下面三个视频讲解了PLC工作原理,https://www.bilibili.com/video/BV1U34y1V7jQ/https://www.bilibili.com/video/BV1qF411F7ri/https://www.bilibili.com/video/BV1sW4y1k7B1/我的理解,我们的PLC程序就像是一个WinForms程序,由PLC操作系统启动后,然后PLC程序一直在运行,......
  • Feign原理分析记录
    背景:使用feign将参数封装为对象后,只能发post请求了,困惑了很久,所以有必要了解一下feign原理一、Feign、OpenFeign、SpringCloudFeign发布历史1.1FeignNetflix开源的一个组件,maven中央库看到最新的更新时间中央库地址:https://mvnrepository.com/artifact/com.netflix......
  • CSS 动画指南: 原理和实战 (一)
    简介:无论动画以何种技术载体呈现,无论是传统的手绘动画,还是电脑生成的3D动画,也无论是用Flash还是CSS,动画的基本原理和设计准则都未曾变过的。在这篇文章中,我们会先解释CSS动画的基本概念,并且介绍使用CSS创建动画的要点。我们以一个例子贯穿始终,利用传统动画的准则来逐步构建这个动......
  • AD查看电路原理图
     打开文件    ......
  • JavaScript学习 -- HMAC算法基本原理
    HMAC(Hash-basedMessageAuthenticationCode)算法是一种基于哈希算法的消息认证码算法。它可以用于验证和保护数据在传输过程中的完整性和真实性。在JavaScript中,我们可以使用HMAC算法来保证数据的安全性。本篇文章将介绍HMAC算法的基本原理和相关技术,并提供一些实例来演示如何在Ja......