☆ 第二章 网络攻击原理与常用方法
2.1 网络攻击基础与模型
2.1.1 网络攻击原理表
2.1.2 网络攻击模型 - 攻击树模型
攻击树模型:起源于故障树分析方法,经过扩展用AND-OR形式的树结构对目标对象进行网络安全威胁分析。可以被Red Team用来进行渗透测试,同时也可以被Blue Team用来研究防御机制。 优点:能够采取专家头脑风暴法,并且将这些意见融合到攻击树中去;能够进行费效分析或者概率分析;能够建模非常复杂的攻击场景。 缺点:由于树结构的内在限制,攻击树不能用来建多重常识攻击、时间依赖及访问控制等场景;不能用来建模循环事件;对于现实中的大规模网络,攻击树方法处理起来将会特别复杂。
2.1.3 网络攻击模型-MITRE ATT&CK模型
MITRE ATT&CK模型:根据真实观察到的网络攻击数据提炼形成的攻击矩阵模型;该模型把攻击活动抽象为初始访问、执行、持久化、特权提升、躲避防御、凭据访问、发现、横向移动、收集、指挥和控制、外泄、影响,然后给出攻击活动的具体实现方式。主要应用场景有网络红蓝对抗模拟、网络安全渗透测试、网络防御差距评估、网络威胁情报收集等。
网络杀伤链(Kill Chain)模型:将网络攻击活动分成目标侦察、武器构造、载荷投送、漏洞利用、安装植入、指挥和控制、目标行动等七个阶段。【七伤剑】
2.1.4 网络攻击发展趋势
网络攻击攻击智能化、自动化
网络攻击者群体普适化
网络攻击目标多样化和隐蔽性
网络攻击计算资源获取方便(DDOS/利用云计算进行口令破解)
网络攻击活动持续化强(APT攻击)
网络攻击速度加快
☆ 2.1.5 网络攻击一般过程(八部曲)
(1)隐藏攻击源:利用被侵入的主机作为跳板;免费代理网关;伪造IP地址;假冒用户账号。
(2)收集攻击目标信息:收集目标系统一般信息、配置信息、安全漏洞信息、安全措施信息、用户信息。
(3)挖掘漏洞信息:系统或应用服务软件漏洞;主机信任关系漏洞;目标网络的使用者漏洞;通信协议漏洞;\n网络业务系统漏洞。
(4)获取目标访问权限:获得系统管理员的口令;利用系统管理上的漏洞;让系统管理员运行一些特洛伊木马;\n窃听管理员口令。
(5)隐蔽攻击行为:连接隐藏;进程隐藏;文件隐蔽。
(6)实施攻击:攻击其他被信任的主机和网络、修改或删除重要数据、窃听敏感数据、停止网络服务、\n下载敏感数据、删除数据账号、修改数据记录。
(7)开辟后门:放宽文件许可权;重新开放不安全的服务;修改系统的配置;替换系统本身的共享库文\n件;修改系统的源代码,安装各种特洛伊木马;安装嗅探器;建立隐蔽信道。
(8)清除攻击痕迹:篡改日志文件中的审计信息;改变系统时间造成日志文件数据紊乱以迷惑系统管理员;\n删除或停止审计服务进程;干扰入侵检测系统的正常运行;修改完整性检测标签。
2.2 网络攻击常见技术方法
2.2.1 端口扫描
2.2.1.1 tcp三次握手

2.2.1.2 四次挥手

2.2.1.3 端口扫描
目的:逐个尝试与TCP/UDP端口连接,然后根据端口与服务的对应关系,结合服务器的反馈,推断目标系统上是否运行了某项服务。
完全连接扫描:利用TCP协议的三次握手连接机制,使源主机和目的主机的某个端口建立一次完整的连接。如果建立成功,则表明该端口开放。否则,表明该端口关闭。
半连接扫描/SYN扫描:源主机和目的主机的三次握手连接过程中,只完成前两次握手,不建立一次完整的连接。
ID头信息扫描:需要用一台第三方机器配置扫描,并且这台机器的网络通信量要非常少,即dumb主机。
隐藏扫描:是指能够成功地绕过IDS、防火墙和监视系统等安全机制,取得目标主机端口信息的一种扫描方式。
SYNIACK扫描:由源主机向目标主机的某个端口直接发送SYNIACK数据包,而不是先发送SYN数据包。由于这种方法不发送SYN数据包,目标主机会认为这是一次错误的连接,从而会报错。如果目标主机的该端口没有开放,会返回RST信息;如果该端口开放(LISTENING),则不会返回任何信息,而是直接将这个数据包抛弃掉。
FIN扫描:源主机A向目标主机B发送FIN数据包,然后查看反馈消息。如果端口返回RESET信息,则说明该端口关闭。如果端口没有返回任何消息,则说明端口开放。
ACK扫描:首先由主机A向目标主机B发送FIN数据包,然后查看反馈数据包的TTL值和WIN值,开放端口所返回的数据包的TTL值一般小于64,而关闭端口的返回值一般大于64,开放端口所返回的WIN值一般大于0,而关闭端口的返回值一般等于0。
NULL扫描:将源主机发送的数据包中的ACK, FIN, RST, SYN, URG, PSH等标志位全部置空。如果目标主机没有返回任何信息,则表明该端口是开放的。如果返回RST信息,则表明该端口是关闭的。
XMAS扫描:原理和NULL扫描相同,将要发送的数据包中的ACK, FIN, RST, SYN, URG, PSH等标志位全部置1,如果目标主机没有返回任何信息,则表明该端口是开放的。如果返回RST信息,则表明该端口是关闭的。
2.2.2 口令破解
网络攻击者常常以破解用户的弱口令作为突破口,获取系统的访问权限。主要流程:
①建立与目标网络服务的网络连接;
②选取一个用户列表文件及字典文件;
③在用户列表文件及字典文件中,选取一组用户和口令,按网络服务协议规定,将用户名及口令发送给目标网络服务端口;
④检测远程服务返回信息,确定口令尝试是否成功;
⑤再取另一组用户和口令,重复循环试验,直至口令用户列表文件及字典文件选取完毕。
☆ 2.2.3 缓冲区溢出攻击
缓冲区溢出攻击是一种通过往程序的缓冲区写超出其长度的内容,造成缓冲区溢出,从而破坏程序的堆栈,使程序转而执行其他预设指令,以达到攻击目的的攻击方法。
基本原理:向缓冲区中写入超长的、预设的内容,导致缓冲区溢出,覆盖其他正常的程序或数据,然后让计算机转去运行这行预设的程序,达到执行非法操作、实现攻击的目的。
2.2.4 恶意代码
恶意代码是指为达到恶意目的而专门设计的程序或代码,指一切旨在破坏计算机或者网络系统可靠性、可用性、安全性和数据完整性或者损耗系统资源的恶意程序。常见的恶意代码类型有计算机病毒、网络蠕虫、特洛伊木马、后门、逻辑炸弹、僵尸网络等。
·网络蠕虫特点:具有复制传播功能,代表:红色代码、震网。
☆2.2.5 拒绝服务攻击DOS
拒绝服务攻击DOS(Denial of Service)原理:攻击者恶意消耗系统资源(CPU、内存、硬盘、网络带宽等),导致目标系统不能为正常用户提供服务。
同步包风暴(SYN Flood):利用TCP协议缺陷发送大量伪造的TCP连接请求,使得被攻击者资源耗尽。三次握手,进行了两次,不进行第三次握手,连接队列处于等待状态,大量这样的等待,会占满全部队列空间,使得系统挂起。
UDP Flood:攻击主机持续发送海量UDP报文,消耗完目标主机端的网络带宽。
Smurf攻击:攻击者伪装目标主机向局域网的广播地址发送大量欺骗性的ICMP请求,这些包被放大,并发送到被欺骗的地址,大量的计算机向一台计算机回应ECHO包,目标系统会崩溃。
垃圾邮件:攻击者通过邮件炸弹程序给受害者发送垃圾信息,耗尽用户信箱的磁盘空间。
消耗CPU和内存资源的DOS:利用目标系统的计算算法漏洞,构造恶意输入数据集,导致目标系统的CPU或内存资源耗尽,从而使目标系统瘫痪,如Hash Dos。
Ping of Death攻击:攻击者故意发送大于65535字节的IP数据包给对方,导致内存溢出这时主机会出现内存分配错误而导致TCP/IP堆栈崩溃,导致死机。
Teardrop泪滴攻击:分段攻击,伪造数据报文向目标主机发送含有重叠偏移的数据分段,通过将各个分段重叠来使目标系统崩溃或挂起。
DDoS分布式拒绝服务攻击:攻击者从多个已入侵的跳板主机控制数个代理攻击主机,所以攻击者可同时对已控制的代理攻击主机激活干扰命令,对受害主机大量攻击。
Winnuke攻击:针对windows139端口,只要向该端口发送1字节的TCPOOB数据(TCP连接的一种特殊数据,设置了URG标志,优先级更高),就可以使windows系统出现蓝屏错误,并且网络功能完全瘫痪。
Land攻击:利用三次握手的缺陷进行攻击,将SYN数据包的源地址和目的地址都设置为目标主机的地址,目标主机向自己回以SYN+ACK包,导致自己又给自己回一个ACK并建立自己与自己的连接,当这种无效连接达到一定的数量,目标主机将会拒绝新的连接请求。
2.2.6 网络钓鱼
网络钓鱼 (Phishing,与fishing发音相近得名)是一种通过假冒可信方 (知名银行、在线零售商和信用卡公司等可信的品牌)提供网上服务,以欺骗手段获取敏感个人信息 (如口令、信用卡详细信息等)的攻击方式。网络钓鱼者利用欺骗性的电子邮件和伪造的网站来进行诈骗活动,诱骗访问者提供一些个人信息,以谋求不正常的利益。
2.2.7 网络窃听
网络窃听:是指利用网络通信技术缺陷,使得攻击者能够获取到其他人的网络通信信息。常见的网络窃听技术手段主要有网络嗅探、中间人攻击。网络攻击者将主机网络接口的方式设成“杂乱”模式,就可以接收整个网络上的信息包,从而可以获取敏感口令,甚至将其重组,还原为用户传递的文件。
2.2.8 sql注入攻击
SQL注入攻击:在Web服务中,一般采用三层架构模式,浏览器+ Web服务器+数据库。其中,WEB脚本程序负责处理来自浏览器端提交的新东西。但是由于WEB脚本程序的编程漏洞,对来自浏览器端的信息缺少输入安全合法性检查,网络攻击者利用这个漏洞,把SQL命令插入WEB表单的输入域或页面的请求查找字符串,欺骗服务器执行恶意的SQL命令。
2.2.9 社交攻击
社交工程:网络攻击者通过一系列的社交活动,获取需要的信息。例如伪造系统管理员的身份,给特定的用户发电子邮件骗取他的密码口令。有的攻击者会给用户送免费实用程序,不过该程序除了完成用户所需的功能外,还隐藏了一个将用户的计算机信息发送给攻击者的功能。(杀猪盘)
2.2.10 电子监听
电子监听:网络攻击者采用电子设备远距离地监视电磁波的传送过程。灵敏的无线电接收装置能够在远处看到计算机操作者输入的字符或屏幕显示的内容。
2.2.11 会话劫持
会话劫持:是指攻击者在初始授权之后建立一个连接,在会话劫持以后,攻击者具有合法用户的特权权限。如“TCP会话劫持”。
2.2.12 漏洞扫描
漏洞扫描:是一种自动检测远程或本地主机安全漏洞的软件,通过漏洞扫描器可以自动发现系统的安全漏洞。常见的漏洞扫描技术有CGI漏洞扫描、弱口令扫描、操作系统漏洞扫描、数据库漏洞扫描等。
2.2.13 代理技术
代理技术:网络攻击者通过免费代理服务器进行攻击,其目的是以代理服务器为“攻击跳板”,即使攻击目标的网络管理员发现了,也难以追踪到网络攻击者的真实身份或IP地址。为了增加追踪的难度,网络攻击者还会用多级代理服务器或者“跳板主机”来攻击目标。代理服务器被叫做“肉鸡”,黑客常利用所控制的机器进行攻击活动,如DDOS攻击。
2.2.14 数据加密
数据加密:网络攻击者常常采用数据加密技术来逃避网络安全管理人员的追踪。加密使网络攻击者的数据得到有效保护,即使网络安全管理人员得到这些加密的数据,没有密钥也无法读懂,这样就实现了攻击者的自身保护。攻击者的安全原则是,任何与攻击有关的内容都必须加密或者立刻销毁。
2.3 黑客常用工具分析
扫描器:通过扫描程序,黑客可以找到攻击目标的IP地址、开放的端\n口号、服务器运行的版本、程序中可能存在的漏洞等。根据不同的扫描目的,扫描类软件又分为地址扫描器、端口扫描器、漏洞扫描器三个类别。 Nmap、Nessus、SuperScan
远程监控:黑客的电脑中运行管理软件,受害机器受控于黑客的管理端,受害机器通常被称为“肉鸡”,其经常被用于发起DDoS拒绝服务攻击或作为攻击跳板。 冰河、网络精灵、Netcat
密码破解:常见的密码破解方式有口令猜测(针对用户的弱口令)、穷\n举搜索(针对用户密码的选择空间,使用高性能计算机,逐个尝试可能的密码)、撞库(根据已经收集到的用户密码的\n相关数据集,通过用户关键词搜索匹配,与目标系统的用户信息进行碰撞,以获取用户的密码)。 John the Ripper:用户检查Unix/Linux系统的弱口令,支持几乎所有Unix平台上经crypt函数加密后的口令哈希类型。LOphtCrack:常用于破解Windows系统口令,含有词典攻击、组合攻击、强行攻击等多种口令猜解\n方法。
网络嗅探器(Network Sniffer):通过网络嗅探,黑客可以截获网络的信息包,之后对加密的信息包进行破解,进而分析包内的数据,获得有关系统的信息。 Tcpdump:基于命令行的网络数据包分析软件,可以作为网络嗅探工具,能把匹配规则的数据包内容显示出来。WireShark:提供图形化的网络数据包分析功能,可视化地展示网络数据包的内容。DSniff:可以获取口令、邮件、文件等信息。
安全渗透工具箱:网络攻击一体化服务 Metaplot:是一个开源渗透测试工具,提供漏洞查找、漏洞利用、漏洞验证等服务功能,支持1500多个漏洞挖掘利用,提供OWASP TOP10漏洞测试。BackTrack5:集成了大量的安全工具软件,支持信息收集、漏洞评估、漏洞利用、特权提升、保持访问、逆向工程、压力测试。
2.4 网络攻击案例分析
2.4.1 DDOS攻击
DDOS攻击:分布式拒绝服务攻击,整个攻击过程可以分为下面五个步骤:
①通过探测扫描大量主机,寻找可以进行攻击的目标。
②攻击有安全漏洞的主机,并设法获取控制权。
③在已攻击成功的主机中安装客户端攻击程序。
④利用已攻击成功的主机继续进行扫描和攻击。
⑤当攻击客户端达到一定的数目后,攻击者在主控端给客户端攻击程序发布攻击命令。
DDoS常用的攻击技术手段有HTTP Flood攻击、SYN Flood攻击、DNS放大攻击等。
·HTTP Flood攻击是利用僵尸主机向特定目标网站发送大量的HTTP GET请求,以导致网站瘫痪。
·SYN Flood攻击利用TCP/IP协议的安全缺陷,伪造主机发送大量的SYN包到目标系统,导致目标系统的计算机网络瘫痪。

DNS放大攻击是攻击者假冒目标系统向多个DNS解析服务器发送大量请求,而导致DNS解析服务器同时应答目标系统,产生大量网络流量,形成拒绝服务,如图2-6所示。

2.4.2 W32.Blaster.Worm
W32. Blaster. Worm是一种利用DCOMRPC漏洞进行传播的网络蠕虫,其传播能力很强,感染蠕虫的计算机系统运行不稳定,系统会不断重启,并且该蠕虫还将对 windowsupdate.com 进行拒绝服务攻击,使得受害用户不能及时地得到这个漏洞的补丁,如图所示:

2.4.3 网络安全导致停电事件
乌克兰电力攻击事件:
·①黑客首先利用钓鱼邮件,欺骗电力公司员工下载了带有BlackEnergy的恶意代码文件
·②然后诱导用户打开这个文件,激活木马
·③安装SSH后门和系统自毁工具Killdisk,致使黑客最终获得了主控电脑的控制权
·④最后,黑客远程操作恶意代码将电力公司的主控计算机与变电站断连并切断电源
·⑤同时,黑客发送DDOS攻击电力客服中心,致使电厂工作人员无法立即进行电力维修工作

2.4.4 APT攻击
APT攻击(Advanced Persistent Threat, 高级持续性威胁)
A:技术高级。攻击者掌握先进的攻击技术,使用多种攻击途径,包括购买或自己开发的0Day漏洞,而且,攻击过程复杂,攻击持续过程中攻击者能够动态调整攻击方式,从整体上控制攻击过程。
P:持续时间长。与传统黑客进行网络攻击的目的不同,实施APT攻击的黑客组织通常具有明确的攻击目标和目的,通过长期不断的信息搜集、信息监控、渗透入侵实施攻击步骤,攻击成功后一般还会继续留在网络中,等待时机执行进行后续攻击。
T:威胁性大。APT攻击通常拥有雄厚的资金支持,由经验丰富的黑客团队发起,一般以破坏国家或是大型企业的关键基础设施为目标,窃取内部核心机密信息,危害国家安全和社会稳定。
APT防范措施:通过安全沙箱、安全大数据和态势感知等平台,联动全网安全设备,进行统一分析,及时检测和预防APT攻击。[核心体现综合分析,多设备联动,不要单纯说某个安全设备]
第二章要点总结
2.1 网络攻击基础与模型
2.1.2-3 网络攻击模型
攻击树模型:将这些意见融合到攻击树中去;能够进行费效分析或者概率分析,对于现实中的大规模网络,攻击树方法处理起来将会特别复杂。
MITRE ATT&CK模型:根据真实观察到的网络攻击数据提炼形成的攻击矩阵模型
网络杀伤链(Kill Chain)模型:将网络攻击活动分成目标侦察、武器构造、载荷投送、漏洞利用、安装植入、指挥和控制、目标行动等七个阶段。【七伤剑】
☆ 2.1.5 网络攻击一般过程(八部曲)
隐藏攻击源、收集攻击目标信息、挖掘漏洞信息、获取目标访问权限、隐蔽攻击行为、实施攻击、开辟后门、清除攻击痕迹
2.2 网络攻击常见技术方法
2.1.1 端口扫描
完全连续扫描、半连接扫描、SYN扫描、ID头扫描、隐蔽扫描、SYN|ACK扫描、FIN扫描、ACK扫描、NULL扫描、XMAS扫描。
2.2.2 口令破解
网络攻击者常常以破解用户的弱口令作为突破口,获取系统的访问权限。
2.2.3 缓冲区溢出攻击
基本原理:向缓冲区中写入超长的、预设的内容,导致缓冲区溢出,覆盖其他正常的程序或数据,然后让计算机转去运行这行预设的程序,达到执行非法操作、实现攻击的目的。
2.2.4 恶意代码
2.2.5 拒绝服务攻击DOS
拒绝服务攻击DOS(Denial of Service)原理:攻击者恶意消耗系统资源(CPU、内存、硬盘、网络带宽等),导致目标系统不能为正常用户提供服务。
同步包风暴(SYN Flood):利用TCP协议缺陷发送大量伪造的TCP连接请求,使得被攻击者资源耗尽。三次握手,进行了两次,不进行第三次握手,连接队列处于等待状态,大量这样的等待,会占满全部队列空间,使得系统挂起。
UDP Flood:攻击主机持续发送海量UDP报文,消耗完目标主机端的网络带宽。
Smurf攻击:攻击者伪装目标主机向局域网的广播地址发送大量欺骗性的ICMP请求,这些包被放大,并发送到被欺骗的地址,大量的计算机向一台计算机回应ECHO包,目标系统会崩溃。
垃圾邮件:攻击者通过邮件炸弹程序给受害者发送垃圾信息,耗尽用户信箱的磁盘空间。
消耗CPU和内存资源的DOS:利用目标系统的计算算法漏洞,构造恶意输入数据集,导致目标系统的CPU或内存资源耗尽,从而使目标系统瘫痪,如Hash Dos。
Ping of Death攻击:攻击者故意发送大于65535字节的IP数据包给对方,导致内存溢出这时主机会出现内存分配错误而导致TCP/IP堆栈崩溃,导致死机。
Teardrop泪滴攻击:分段攻击,伪造数据报文向目标主机发送含有重叠偏移的数据分段,通过将各个分段重叠来使目标系统崩溃或挂起。
DDoS分布式拒绝服务攻击:攻击者从多个已入侵的跳板主机控制数个代理攻击主机,所以攻击者可同时对已控制的代理攻击主机激活干扰命令,对受害主机大量攻击。
Winnuke攻击:针对windows139端口,只要向该端口发送1字节的TCPOOB数据(TCP连接的一种特殊数据,设置了URG标志,优先级更高),就可以使windows系统出现蓝屏错误,并且网络功能完全瘫痪。
Land攻击:利用三次握手的缺陷进行攻击,将SYN数据包的源地址和目的地址都设置为目标主机的地址,目标主机向自己回以SYN+ACK包,导致自己又给自己回一个ACK并建立自己与自己的连接,当这种无效连接达到一定的数量,目标主机将会拒绝新的连接请求。
2.2.6 网络钓鱼
2.2.7 网络窃听
2.2.8 sql注入攻击
2.2.9 社交攻击
2.2.10 电子监听
2.2.11 会话劫持
2.2.12 漏洞扫描
2.2.13 代理技术
2.2.14 数据加密
2.3 黑客常用工具分析
扫描器:地址扫描器、端口扫描器、漏洞扫描器
远程监控、密码破解、网络嗅探器、安全渗透工具箱
2.4 网络攻击案例分析
2.4.1 ddos
五个步骤:探测主机找目标、获取控制权、安装攻击程序、利用攻击成功主机继续扫描攻击、控制所有客户端发布攻击命令。
DDoS常用的攻击技术手段有HTTP Flood攻击、SYN Flood攻击、DNS放大攻击等。
2.4.2 W32.Blaster.Worm
W32. Blaster. Worm是一种利用DCOMRPC漏洞进行传播的网络蠕虫,其传播能力很强 带worm的是蠕虫
2.4.3 网络安全导致停电事件
钓鱼邮件、激活木马、获得了主控电脑的控制权、切断电源、黑客发送DDOS攻击电力客服中心。
2.4.4 APT攻击
技术高级,持续时间长、威胁性大。
APT防范措施:通过安全沙箱、安全大数据和态势感知等平台,联动全网安全设备,进行统一分析,及时检测和预防APT攻击。[核心体现综合分析,多设备联动,不要单纯说某个安全设备]