导图社区 网络攻击原理与常用方法
1. 同步风暴(SYN Flood):源主机伪造IP向目标主机发送多个同步数据包,目的主机因无法收到ACK确认,使三次握手无法正常完成。 2. UDP洪水(UDP Flood): 3. Smurf攻击:将回复地址设置成目标网络广播地址的ICMP应答请求数据包,使改网络的所有主机都对此ICMP应答请求做出应答,导致网络堵塞,
编辑于2022-10-11 17:28:28 湖北省2.网络攻击原理与常用方法
1. 网络攻击概述
1. 网络攻击概念
网络攻击:是指损害网络系统安全属性的危害行为。危害行为导致网络系统的机密性、完整性、可控性、真实性、抗抵赖性等受到不同程度的破坏。
常见的危害行为有四个基本类型:信息泄露攻击;完整性破坏攻击;拒绝服务攻击;非法使用攻击。
网络攻击原理表
2. 网络攻击模型
1. 攻击树模型
攻击树模型:起源于故障树分析方法,经过扩展用AND-OR形式的树结构对目标对象进行网络安全威胁分析。可以被RedTeam用来进行渗透测试,同时也可以被BlueTeam用来研究防御机制。
优点:能够采取专家头脑风暴法,并且将这些意见融合到攻击树中去;能够进行费效分析或者概率分析;能够建模非常复杂的攻击场景。---费效,可以理解为“成本”
缺点:由于树结构的内在限制,攻击树不能用来建模多重常识攻击、时间依赖及访问控制等场景;不能用来建模循环事件;对于现实中的大规模网络,攻击树方法处理起来将会特别复杂。---多重,并不是复杂
2. MITRE ATT &CK 模型
MITREATT&CK模型:根据真实观察到的网络攻击数据提炼形成的攻击矩阵模型;该模型把攻击活动抽象为初始访问、执行、持久化、特权提升、躲避防御、凭据访问、发现、横向移动、收集、指挥和控制、外泄、影响,然后给出攻击活动的具体实现方式。主要应用场景有网络红蓝对抗模拟、网络安全渗透测试、网络防御差距评估、网络威胁情报收集等。
3. 网络杀伤链(Kill Chain) 模型
网络杀伤链(KillChain)模型:将网络攻击活动分成目标侦察、武器构造、载荷投送、漏洞利用、安装植入、指挥和控制、目标行动等七个阶段。
2. 网络攻击一般过程
1. 网络攻击一般过程
理解记忆,注意排序。隐+3手挖货,隐+3斯凯奇
(1) 隐藏攻击源。隐藏黑客主机位置使得系统管理无法追踪。
(2) 收集攻击目标信息。确定攻击目标并收集目标系统的有关信息。
(3) 挖掘漏洞信息。从收集到的目标信息中提取可使用的漏洞信息。
(4) 获取目标访问权限。获取目标系统的普通或特权账户的权限。
(5) 隐蔽攻击行为。隐蔽在目标系统中的操作,防止入侵行为被发现。
(6) 实施攻击。进行破坏活动或者以目标系统为跳板向其他系统发起新的攻击。
(7) 开辟后门。在目标系统中开辟后门,方便以后入侵。
(8) 清除攻击痕迹。避免安全管理员的发现、追踪以及法律部门取证。
3. 网络攻击概述网络攻击常见技术方法
1. 端口扫描
端口扫描:目的是找出目标系统上提供的服务列表。挨个尝试与TCP/UDP端口连接,然后根据端口与服务的对应关系,结合服务器端的反映推断目标系统上是否运行了某项服务,攻击者通过这些服务可能获得关于目标系统的进一步的知识或通往目标系统的途径。
扫描类型包括
1. 完全连接扫描
完全连接扫描:利用TCP/IP协议的三次握手连接机制,使源主机和目的主机的某个端口建立一次完整的连接。如果建立成功,则表明该端口开放。否则,表明该端口关闭。---可理解为完成“一次完整”三次握手。三次握手的简单理解:假设A是客户端,B是服务器端,A给B发SYN数据包(第一次),B收到后给A返回ACK+SYN数据包(第二次),A收到后再给B发送一个ACK包(第三次)
2. 半连接扫描
半连接扫描:是指在源主机和目的主机的三次握手连接过程中,只完成前两次握手,不建建立一次完整的连接。
3. SYN扫描
SYN扫描:首先向目标主机发送连接请求,当目标主机返回响应后,立即切断连接过程,并查看响应情况。如果目标主机返回ACK信息,表示目标主机的该端口开放。如果目标主机返回RESET信息,表示该端口没有开放。---可理解为指完成了一次握手
4. ID头信息扫描
ID头信息扫描:需要用一台第三方机器配置扫描,并且这台机器的网络通信量要非常少(---理解,这里要通信量非常少,是为了实现A给B发消息后,B返回的值连续加1。因为如果A中应用多了,就会打断连续加1的模式),即dumb主机(---可理解为“哑主机”)。首先由源主机A向dumb主机B发出连续的PING数据包,并且查看主机B返回的数据包的ID头信息。一般而言,每个顺序数据包的ID头的值会加1。然后由源主机A假冒主机B的地址向目的主机C的任意端口(1-65535)发送SYN数据包。这时,主机C向主机B发送的数据包有两种可能的结果:①SYN|ACK:表示该端口处于监听状态。②RST|ACK:表示该端口处于非监听状态。
那么,由后续PING数据包的响应信息的ID头信息可以看出,如果主机C的某个端口是开放的,则主机B返回A的数据包中,ID头的值不是递增1,而是大于1。如果主机C的某个端口是非开放的,则主机B返回A的数据包中,ID头的值递增1,非常规律。---理解:如果一个网络中只有2台主机,那么A给B发消息,B返回的ID头会联系加1。但是,如果存在多台主机,假设A发消息给B的同时,C也给B发了消息,那么B给A返回的消息的ID头就不会是连续加1了,肯定比1大。
5. 隐蔽扫描
隐蔽扫描:是指能够成功地绕过IDS、防火墙和监视系统等安全机制,取得目标主机端口信息的一种扫描方式。
6. SYN|ACK 扫描
SYN|ACK 扫描:由源主机向目标主机的某个端口直接发送SYN|ACK数据包,而不是先发送SYN数据包。由于这种方法不发送SYN数据包,目标主机会认为这是一次错误的连接,从而会报错。如果目标主机的该端口没有开放,会返回RST信息;如果该端口开放(LISTENING),则不会返回任何信息,而是直接将这个数据包抛弃掉。---理解,根据三次握手可知,正常情况下第一次会先发SYN数据包,这里等于是跳过了第一次握手,不按套路出牌
7. FIN 扫描
FIN扫描:源主机A向目标主机B发送FIN数据包,然后查看反馈消息。如果端口返回RESET信息,则说明该端口关闭。如果端口没有返回任何消息,则说明端口开放。
8. ACK扫描
ACK扫描:首先由主机A向目标主机B发送FIN数据包,然后查看反馈数据包的TTL值和WIN值,开放端口所返回的数据包的TTL值一般小于64,而关闭端口的返回值一般大于64。开放端口所返回的WIN值一般大于0,而关闭端口的返回值一般等于0
9. NULL扫描
NULL扫描:将源主机发送的数据包中的ACK、FIN、RST、SYN、URG、PSH等标志位全部置空。如果目标主机没有返回任何信息,则表明该端口是开放的。如果返回RST信息,则表明该端口是关闭的。
10. XMAS扫描
XMAS扫描:原理和NULL扫描相同,只是将要发送的数据包中的ACK、FIN、RST、SYN、URG、PSH等标志位全部置1。如果目标主机没有返回任何信息,则表明该端口是开放的。如果返回RST信息,则表明该端口是关闭的。
2. 口令破解
口令破解:口令机制是资源访问控制的第一道屏障,网络攻击者常常以破解用户的弱口令作为突破口,获取系统的访问权限。
主要工作流程
第一步,建立与目标网络服务的网络连接;
第二步,选取一个用户列表文件及字典文件;
第三步,在用户列表文件及字典文件中,选取一组用户和口令,按网络服务协议规定,将用户名及口令发送给目标网络服务端口;
第四步,检测远程服务返回信息,确定口令尝试是否成功;
第五步,再取另一组用户和口令,重复循环试验,直至口令用户列表文件及字典文件选取完毕。
3. 缓冲区溢出
缓冲区溢出攻击是一种通过往程序的缓冲区写超出其长度的内容,造成缓冲区溢出,从而破坏程序的堆栈,使程序转而执行其他预设指令,以达到攻击目的的攻击方法。---堆栈的机制是“先进后出”
缓冲区溢出攻击的基本原理是向缓冲区中写入超长的、预设的内容,导致缓冲区溢出,覆盖其他正常的程序或数据,然后让计算机转去运行这行预设的程序,达到执行非法操作、实现攻击的目的。
4. 恶意代码
恶意代码是指为达到恶意目的而专门设计的程序或代码,是指一切旨在破坏计算机或者网络系统可靠性、可用性、安全性和数据完整性或者损耗系统资源的恶意程序。常见的恶意代码类型有计算机病毒、网络蠕虫、特洛伊木马、后门、逻辑炸弹、僵尸网络等。
5. 拒绝服务攻击
绝服务攻击Dos(DenialofService)的主要企图是借助于网络系统或网络协议的缺陷和配置漏洞进行网络攻击,使网络拥塞、系统资源耗尽或者系统应用死锁,妨碍自标主,机和网络系统对正常用户服务请求的及时响应,造成服务的性能受损甚至导致服务中断。原理:消耗系统资源、导致目标主机启机,从而阻止授权用户正常访问服务。
要对服务器实施拒绝服务攻击,实质上的方式就是有两个:①服务器的缓冲区满,不接收新的请求。②使用IP欺骗,迫使服务器把合法用户的连接复位,影响合法用户的连接。这也是Dos攻击实施的基本思想。
拒绝服务攻击类型有许多种,网络的内外部用户都可以发动这种攻击。内部用户可以通过长时间占用系统的内存、CPU处理时间使其他用户不能及时得到这些资源,而引起拒绝服务攻击;外部黑客也可以通过占用网络连接使其他用户得不到网络服务。外部用户针对网络连接发动拒绝服务攻击主要有几种模式:消耗资源、破坏或更改配置信息、物理破坏或改变网络部件、利用服务程序中的处理错误使服务失效。
DoS攻击方式
1. 同步包风暴(SYN Flood)
同步包风暴(SYN Flood):利用TCP协议缺陷发送大量伪造的TCP连接请求,使得被攻击者资源耗尽。三次握手,进行了两次,不进行第三次握手,连接队列处于等待状态,大量这样的等待,会占满全部队列空间,使得系统挂起。
2. UDP 洪水(UDP Flood)
利用简单的TCP/IP 服务,如用Chargen 和Echo 传送毫无用处的占满带宽的数据。通过伪造与某一主机的Chargen 服务之间的一次UDP 连接,回复地址指向开放Echo 服务的一台主机,生成在两台主机之间的足够多的无用数据流。
3. Smurf攻击
Smurf攻击:攻击者伪装目标主机向局域网的广播地址发送大量欺骗性的ICMP请求,这些包被放大,并发送到被欺骗的地址,大量的计算机向一台计算机回应ECHO包,目标系统会崩溃。---一般网络不好的时候会发起ICMP请求。这里可以理解为网络本来是正常的,但黑客发送ICMP包告诉你,现在网络不好,这时你就会放弃连接了
4. 垃圾邮件
攻击者利用邮件系统制造垃圾信息,甚至通过专门的邮件炸弹(mail bomb) 程序给受害用户的信箱发送垃圾信息,耗尽用户信箱的磁盘空间,使用户无法应用这个信箱。
5. 消耗CPU 和内存资源的拒绝服务攻击
利用目标系统的计算算法漏洞,构造恶意输入数据集,导致目标系统的CPU 或内存资源耗尽,从而使目标系统瘫痪,如HashDoS 。
6. 死亡之ping (ping of death)
PingofDeath攻击:攻击者故意发送大于65535字节的IP数据包给对方,导致内存溢出,这时主机会出现内存分配错误而导致TCP/IP堆栈崩溃,导致死机。
7. 泪滴攻击(Teardrop Attack)
分段攻击,伪造数据报文向目标主机发送含有重叠偏移的数据分段,通过将各个分段重叠来使目标系统崩溃或挂起。---数据量大时,TCP会分段传输,假设分个A,B,C三段,每段都会有一个“头部”,这时候攻击者特意发一个跟A段一样的“头部”,再发点数据,造成原数据出现偏移
8. 分布式拒绝服务攻击(Distributed Denial of Service Attack)
分布式拒绝服务攻击DDos(DistributedDenialofService):是对传统Dos攻击的发展,攻击者首先侵入并控制一些计算机,然后控制这些计算机同时向一个特定的目标发起拒绝服务攻击。引入了分布式攻击和C/S结构,Client(客户端)运行在攻击者的主机上,用来发起和控制DDoS攻击;Handler(主控端)运行在已被攻击者侵入并获得控制的主机上,用来控制代理端;Agent(代理端)运行在已被攻击者侵入并获得控制的主机上,从主控端接收命令,负责对目标实施实际的攻击。
9. Winnuke攻击
Winnuke攻击:针对windows系统开放的139端口,只要向该端口发送1字节的TCPOOB数据(TCP连接的一种特殊数据,设置了URG标志,优先级更高),就可以使windows系统出现蓝屏错误,并且网络功能完全瘫疾。
10. Land攻击
Land攻击:也是利用三次握手的缺陷进行攻击,将SYN数据包的源地址和目的地址都设置为目标主机的地址,目标主机向自己回以SYN+ACK包,导致自己又给自己回一个ACK并建立自己与自己的连接,当这种无效连接达到一定的数量,目标主机将会拒绝新的连接请求。
11. 低速率拒绝服务攻击(Low-rateDos)_LDoS
低速率拒绝服务攻击(Low-rateDos)_LDoS:与传统的洪泛式Dos攻击截然不同,其最大特点是不需要维持高速率攻击流,耗尽受害者端所有可用资源,而是利用网络协议或应用服务中常见的自适应机制(如TCP的拥塞控制机制)中所存在的安全漏洞,通过周期性地在一个特定的短暂时间间隔内突发性地发送大量攻击数据包,从而降低被攻击端服务性能。
6. 网络钓鱼
网络钓鱼(Phishing,与fishing发音相近得名)是一种通过假冒可信方(知名银行、在线零售商和信用卡公司等可信的品牌)提供网上服务,以欺骗手段获取敏感个人信息(如口令、信用卡详细信息等)的攻击方式。网络钓鱼者利用欺骗性的电子邮件和伪造的网站来进行诈骗活动,诱骗访问者提供一些个人信息,以谋求不正常的利益。
7. 网络窃听
网络窃听:是指利用网络通信技术缺陷,使得攻击者能够获取到其他人的网络通信信息。常见的网络窃听技术手段主要有网络嗅探、中间人攻击。网络攻击者将主机网络接口的方式设成“杂乱”模式,就可以接收整个网络上的信息包,从而可以获取敏感口令,甚至将其重组,还原为用户传递的文件。---杂乱,可理解为在以太网中使用“广播”地址,使得主机能接收网络中其他主机发送的信息包
8. SQL注入攻击
SQL注入攻击:在Web服务中,一般采用三层架构模式,浏览器+Web服务器+数据库。其中,WEB脚本程序负责处理来自浏览器端提交的新东西。但是由于WEB脚本程序的编程漏洞,对来自浏览器端的信息缺少输入安全合法性检查,网络攻击者利用这个漏洞,把SQL命令插入WEB表单的输入域或页面的请求查找字符串,欺骗服务器执行恶意的SQL命令。---在浏览器总输入信息(比如用户名和密码),浏览器本身是不会进行安全合法性检查的,他会提交给后台,这里就存在SQL注入漏洞
9. 社交工程
社交工程:网络攻击者通过一系列的社交活动,获取需要的信息。例如伪造系统管理员的身份,给特定的用户发电子邮件骗取他的密码口令。有的攻击者会给用户送免费实用程序,不过该程序除了完成用户所需的功能外,还隐藏了一个将用户的计算机信息发送给攻击者的功能。
10. 电子监听
电子监听:网络攻击者采用电子设备远距离地监视电磁波的传送过程。灵敏的无线电接受装置能够在远处看到计算机操作者输入的字符或屏幕显示的内容。
11. 会话劫持
会话劫持:是指攻击者在初始授权之后建立一个连接,在会话劫持以后,攻击者具有合法用户的特权权限。如“TCP会话劫持”
12. 漏洞扫描
漏洞扫描:是一种自动检测远程或本地主机安全漏洞的软件,通过漏洞扫描器可以自动发现系统的安全漏洞。常见的漏洞扫描技术有CCI漏洞扫描、弱口令扫描、操作系统漏洞扫描、数据库漏洞扫描等。
13. 代理技术
代理技术:网络攻击者通过免费代理服务器进行攻击,其目的是以代理服务器为“攻击跳板”,即使攻击目标的网络管理员发现了,也难以追踪到网络攻击者的真实身份或IP地址。为了增加追踪的难度,网络攻击者还会用多级代理服务器或者“跳板主机”来攻击目标。在黑客中,代理服务器被叫做“肉鸡”,黑客常利用所控制的机器进行攻击活动,如DDOS攻击。
14. 数据加密
数据加密:网络攻击者常常采用数据加密技术来逃避网络安全管理人员的追踪。加密使网络攻击者的数据得到有效保护,即使网络安全管理人员得到这些加密的数据,没有密钥也无法读懂,这样就实现了攻击者的自身保护。攻击者的安全原则是,任何与攻击有关的内容都必须加密或者立刻销毁。---防御技术,其实也是攻击技术
4. 黑客常用工具
1. 扫描器
扫描器:通过扫描程序,黑客可以找到攻击目标的IP地址、开放的端口号、服务器运行的版本、程序中可能存在的漏洞等。根据不同的扫描目的,扫描类软件又分为地址扫描器、端口扫描器、漏洞扫描器三个类别
常用扫描软件
NMAP (Network Map)即网络地图,通过NMap可以检测网络上主机的开放端口号、主机的操作系统类型以及提供的网络服务。
Nessus:可运行在Linux操作系统平台上,支持多线程和插件。
SuperScan:是一款具有TCP connect端口扫描、Ping和域名解析等功能的工具,能较容易地对指定范围内的IP地址进行Ping和端口扫描。
2. 远程监控
远程监控:实际上是在受害机器上运行一个代理软件,而在黑客的电脑中运行管理软件,受害机,器受控于黑客的管理端。受害及其通常被称为“肉鸡”,其经常被用于发起DDos拒绝服务攻击或作为攻击跳板。常见的远程监控工具有冰河、网络精灵、Netcat。
3. 密码破解
密码破解:是安全渗透常用的工具,常见的密码破解方式有口令猜测(针对用户的弱口令)、穷举搜索(针对用户密码的选择空间,使用高性能计算机,逐个常识可能的密码)、撞库(根据已经收集到的用户密码的相关数据集,通过用户关键词搜索匹配,与目标系统的用户信息进行碰撞,以获取用户的密码)等。
常见密码破解工具
John the Ripper:用户检查Unix/Linux系统的弱口令,支持几乎所有Unix平台上经crypt函数加密后的口令哈希类型。
LOphtCrack:常用于破解Windows系统口令,含有词典攻击、组合攻击、强行攻击等多种口令猜解方法。
4. 网络嗅探器
网络嗅探器(Network Sniffer) :通过网络嗅探,黑客可以截获网络的信息包,之后对加密的信息包进行破解,进而分析包内的数据,获得有关系统的信息。
常见的网络嗅探器工具
Tcpdump/WireShark:基于命令行的网络数据包分析软件,可以作为网络嗅探工具,能把匹配规则的数据包内容显示出来。
WireShark:提供图形化的网络数据包分析功能,可视化地展示网络数据包的内容。
DSniff:可以获取口令、邮件、文件等信息。
5. 安全渗透工具箱
Metasploit:是一个开源渗透测试工具,提供漏洞查找、漏洞利用、漏洞验证等服务功能,支持1500多个漏洞挖掘利用,提供OWASP TOP10漏洞测试。
BackTrack5:集成了大量的安全工具软件,支持信息收集、漏洞评估、漏洞利用、特权提升、保持访问、逆向工程、压力测试。
5. 网络攻击案例分析
1. DDoS 攻击
攻击过程
第一步,通过探测扫描大量主机,寻找可以进行攻击的目标;
第二步,攻击有安全漏洞的主机,并设法获取控制权;
第三步,在已攻击成功的主机中安装客户端攻击程序;
第四步,利用已攻击成功的主机继续进行扫描和攻击;
第五步,当攻击客户端达到一定的数目后,攻击者在主控端给客户端攻击程序发布向特定目标进行攻击的命令。
DDoS 常用的攻击技术手段
HTTP Flood攻击是利用僵尸主机向特定目标网站发送大量的HTTP GET请求,以导致网站瘫痪。
SYN Flood攻击利用TCP/IP协议的安全缺陷,伪造主机发送大量的SYN包到目标系统,导致目标系统的计算机网络瘫痪。
DNS放大攻击是攻击者假冒目标系统向多个DNS解析服务器发送大量请求,而导致DNS解析服务器同时应答目标系统,产生大量网络流量,形成拒绝服务。
2. W32.Blaster.Worm
Worm就是“蠕虫”
W32. Blaster. Worm:是一种利用DCOM RPC漏洞进行传播的网络蠕虫,其传播能力很强,感染蠕虫的计算机系统运行不稳定,系统会不断重启,并且该蠕虫还将对windowsupdate. com进行拒绝服务攻击(---不让他修复漏洞),使得受害用户不能及时地得到这个漏洞的补丁
当W32.Blaster.Worm 运行时,会进行以下操作
(1)创建一个名为BILLY的互斥体,如果这个互斥体存在,蠕虫将放弃感染并推出。
(2)在注册表中添加下列键值: " windows auto update" =" msblast. exe",并且将其添加至: HKEY_LOCAL_MACH I NE\ SOFTWAREYMicrosoft Windows Cur rentVersion\Run,这样就可以使蠕虫在系统被重启的时候能够自动运行。
(3)蠕虫生成攻击IP地址列表,尝试去感染列表中的计算机,蠕虫对有DCOM RPC漏洞的机器发起TCP 135端口的连接,进行感染。
(4)在TCP 4444端口绑定一个cmd. exe的客户端。
(5)在UDP port 69口上进行监听。如果收到了一个请求,将把Msblast.exe发送给目标机器。
(6)发送命令给远端的机器使它回联已经受到感染的机器并下载Msblast. exe。
(7)检查当前日期及月份,若当前日期为16日或以后,或当前月份处在9月到12月之间,则W32. Blaster. Worm.虫将对windowsupdate. com发送TCP同步风暴拒绝服务攻击。
3. 网络安全导致停电事件
乌克兰电厂停电是因网络攻击导致电力基础设施被破坏。分析报告:黑客首先利用钓鱼邮件,欺骗电力公司员工下载了带有BlackEnergy 的恶意代码文件,然后诱导用户打开这个文件,激活木马,安装SSH 后门和系统自毁工具Killdisk, 致使黑客最终获得了主控电脑的控制权。最后,黑客远程操作恶意代码将电力公司的主控计算机与变电站断连并切断电源;同时,黑客发动DDoS 攻击电力客服中心,致使电厂工作人员无法立即进行电力维修工作。