网络安全:网络攻击原理与方法.
网络攻击:是损害网络系统安全属性的危害行为。危害行为导致网络系统的机密性、完整性、可控性、真实性、抗抵赖性等受到不同程度的破坏。
目录:
常见的危害行为有四个基本类型:
网络攻击模型:
网络攻击会发展的趋势:
网络攻击一般过程:
网络攻击常见技术方法
(1)端口扫描:
(2)口令破解:
(3)缓冲区溢出攻击:
(4)恶意代码:
(5)拒绝服务攻击DOS:
(6)网络钓鱼:
(7)网络窃听:
(8)SQL注入攻击:
(9)社交工程:
(10)电子监听:
(11)会话劫持:
(12)漏洞扫描:
(13)代理技术:
(14)数据加密:
黑客常用工具
(1)扫描器:
(2)远程监控:
(3)密码破解:
(4)密码破解工具大多数是由高级黑客编写,供初级黑客使用,常见工具如下:
(5)网络嗅探器:
(6)安全渗透工具箱:
网络攻击案例分析:
(1)DDoS攻击:分布式拒绝服务攻击,整个攻击过程可以分为下面五个步骤:
(2)DNS放大攻击:
(3)网络安全导致停电事件:
常见的危害行为有四个基本类型:
(1)信息泄露攻击;(2)完整性破坏攻击;(3)拒绝服务攻击;(4)非法使用攻击。
网络攻击者由攻击者发出,攻击者应用一定的攻击工具,对目标网络系统进行的攻击操作,达到一定的攻击效果,实现攻击者一定的攻击意图。其中网络攻击原理表:
攻击者:间谍、恐怖主义者、黑客、职业犯罪分子、公司职员和破坏者。
攻击工具:用户命令、脚本或程序、自治主体、电磁泄露。
攻击访问:本地访问、远程访问。
攻击效果:破坏信息、信息泄密、窃取服务、拒绝服务。
攻击意图:获取情报信息;获取恐怖主义集团的利益;表现自己或技术挑战;获取经济利益;好奇;报复或发泄不满情绪;
网络攻击模型:
(1)攻击树模型:起源于故障树分析方法,经过扩展用AND-OR形式的树结构对目标对象进行网络安全威胁分析。可以被Red Team用来进行渗透测试,同时也可以被Blue Team用来研究防御机制。
★ 优点:能够采取专家头脑风暴法,并且将这些意见融合到攻击树中去;能够进行费效分析或者概率分析;能够建模非常复杂的攻击场景。
★ 缺点:由于树结构的内在限制,攻击树不能用来建模多重常识攻击、时间依赖及访问控制等场景;不能用来建模循环事件;对于现实中的大规模网络,攻击树方法处理起来将会特别复杂。
(2)MITRE ATT&CK模型:根据真实观察到的网络攻击数据提炼形成的攻击矩阵模型。该模型把攻击活动抽象为初始访问、执行、持久化、特权提升、躲避防御、凭据访问、发现、横向移动、收集、指挥和控制、外泄、影响,然后给出攻击活动的具体实现方式。主要应用场景有网络红蓝对抗模拟、网络安全渗透测试、网络防御差距评估、网络威胁情报收集等。
(3)网络杀伤链(Kill Chain)模型:将网络攻击活动分成目标侦察、武器构造、载荷投送、漏洞利用、安装植入、指挥和控制、目标行动等七个阶段。
网络攻击会发展的趋势:
(1)网络攻击工具智能化、自动化;
(2)网络攻击者群体普适化;
(3)网络攻击目标多样化和隐蔽性;
(4)网络攻击计算资源获取方便;
(5)网络攻击活动持续性强化;
(6)网络攻击速度加快;网络攻击影响扩大;
(7)网络攻击主体组织化;
网络攻击一般过程:
(1)隐藏攻击源:方法---利用被侵入的主机作为跳板;免费代理网关;伪造IP地址;假冒用户账号.
(2)收集攻击目标信息:方法---收集目标系统一般信息、配置信息、安全漏洞信息、安全措施信息、用户信息.
(3)挖掘漏洞信息:方法-----系统或应用服务软件漏洞;主机信任关系漏洞;目标网络的使用者漏洞;通信协议漏洞;网络业务系统漏洞.
(4)获取目标访问权限:方法-----获得系统管理员的口令;利用系统管理上的漏洞;让系统管理员运行一些特洛伊木马;窃听管理员口令.
(5)隐蔽攻击行为:方法-----连接隐藏;进程隐藏;文件隐蔽.
(6)实施攻击:方法-----攻击其他被信任的主机和网络、修改或删除重要数据、窃听敏感数据、停止网络服务、下载敏感数据、删除数据账号、修改数据记录.
(7)开辟后门:方法-----放宽文件许可权;重新开放不安全的服务;修改系统的配置;替换系统本身的共享库文件;修改系统的源代码,安装各种特洛伊木马;安装嗅探器;建立隐蔽信道.
(8)清除攻击痕迹:方法-----篡改日志文件中的审计信息;改变系统时间造成日志文件数据紊乱以迷惑系统管理员;删除或停止审计服务进程;干扰入侵检测系统的正常运行;修改完整性检测标签.
网络攻击常见技术方法
(1)端口扫描:目的是找出目标系统上提供的服务列表。挨个尝试与TCP/UDP端口连接,然后根据端口与服务的对应关系,结合服务器端的反映推断目标系统上是否运行了某项服务,攻击者通过这些服务可能获得关于目标系统的进一步的知识或通往目标系统的途径。扫描类型包括:
★ 完全连接扫描:利用TCP/IP协议的三次握手连接机制,使源主机和目的主机的某个端口建立一次完整的连接。如果建立成功,则表明该端口开放。否则,表明该端口关闭。
★ 半连接扫描:在源主机和目的主机的三次握手连接过程中,只完成前两次握手,不建立一次完整的连接。
★ SYN扫描:首先向目标主机发送连接请求,当目标主机返回响应后,立即切断连接过程,并查看响应情况。如果目标主机返回ACK信息,表示目标主机的该端口开放。如果目标主机返回RESET信息,表示该端口没有开放。
★ ID头信息扫描:需要用一台第三方机器配置扫描,并且这台机器的网络通信量要非常少,即dumb主机。首先由源主机A向dumb主机B发出连续的PING数据包,并且查看主机B返回的数据包的ID头信息。主机C向主机B发送的数据包有两种可能的结果:
(1)SYN|ACK:表示该端口处于监听状态。
(2)RST|ACK:表示该端口处于非监听状态。
然后查看PING数据包的响应信息的ID头信息,ID头的值不是递增1,而是大于1,为端口是开放。ID头的值递增1,端口是非开放的。
★ 隐蔽扫描:是指能够成功地绕过IDS、防火墙和监视系统等安全机制,取得目标主机端口信息的一种扫描方式。
★ SYN|ACK扫描:由源主机向目标主机的某个端口直接发送SYN|ACK数据包,而不是先发送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)口令破解:口令机制是资源访问控制的第一道屏障,网络攻击者常常以破解用户的弱口令作为突破口,获取系统的访问权限。主要工作流程:
第一步,建立与目标网络服务的网络连接;
第二步,选取一个用户列表文件及字典文件;
第三步,在用户列表文件及字典文件中,选取一组用户和口令,按网络服务协议规定,将用户名及口令发送给目标网络服务端口;
第四步,检测远程服务返回信息,确定口令尝试是否成功;
第五步,再取另一组用户和口令,重复循环试验,直至口令用户列表文件及字典文件选取完毕。
(3)缓冲区溢出攻击:是一种通过往程序的缓冲区写超出其长度的内容,造成缓冲区溢出,从而破坏程序的堆栈,使程序转而执行其他预设指令,以达到攻击目的的攻击方法。
★ 缓冲区溢出攻击的基本原理是向缓冲区中写入超长的、预设的内容,导致缓冲区溢出,覆盖其他正常的程序或数据,然后让计算机转去运行这行预设的程序,达到执行非法操作、实现攻击的目的。
(4)恶意代码:是指为达到恶意目的而专门设计的程序或代码,是指一切旨在破坏计算机或者网络系统可靠性、可用性、安全性和数据完整性或者损耗系统资源的恶意程序。常见的恶意代码类型有计算机病毒、网络蠕虫、特洛伊木马、后门、逻辑炸弹、僵尸网络等。
(5)拒绝服务攻击DOS:主要企图是借助于网络系统或网络协议的缺陷和配置漏洞进行网络攻击,使网络拥塞、系统资源耗尽或者系统应用死锁,妨碍目标主机和网络系统对正常用户服务请求的及时响应,造成服务的性能受损甚至导致服务中断。
★ 原理:消耗系统资源、导致目标主机宕机,从而阻止授权用户正常访问服务。
要对服务器实施拒绝服务攻击,实质上的方式就是有两个:
★ 服务器的缓冲区满,不接收新的请求。
★ 使用IP欺骗,迫使服务器把合法用户的连接复位,影响合法用户的连接。这也是DoS攻击实施的基本思想。
DoS攻击方式:
①同步包风暴:利用TCP协议缺陷发送大量伪造的TCP连接请求,使得被攻击者资源耗尽。三次握手,进行了两次,不进行第三次握手,连接队列处于等待状态,大量这样的等待,会占满全部队列空间,使得系统挂起。
②Smurf攻击:攻击者伪装目标主机向局域网的广播地址发送大量欺骗性的ICMP请求,这些包被放大,并发送到被欺骗的地址,大量的计算机向一台计算机回应ECHO包,目标系统会崩溃。
③UDP洪水攻击(UDP Flood):利用简单的TCP/IP服务,如用Chargen和Echo传送毫无用处的占满带宽的数据,通过伪造与某一主机Chargen服务之间的一次UDP连接,回复地址指向开放Echo服务的一台主机,生成两台主机之间足够多的无用数据流.
④垃圾电子邮件轰炸:针对服务端口(SMTP端口,端口号25)的攻击,攻击者通过连接到邮件服务器的25端口,按照SMTP协议发送几行头信息加上一堆文字垃圾,反复发送形成邮件轰炸。
⑤Winnuke攻击:针对windows系统开放的139端口,只要向该端口发送1字节的,TCPOOB数据(TCP连接的一种特殊数据,设置了URG标志,优先级更高),就可以使windows系统出现蓝屏错误,并且网络功能完全瘫痪。
⑥死亡之Ping(Ping of Death)攻击:攻击者故意发送大于65535字节的IP数据包给对方,导致内存溢出,这时主机会出现内存分配错误而导致TCP/IP堆栈崩溃,导致死机。
⑦泪滴攻击(Teardrop Attack):暴露出IP数据包分解与重组的弱点。进行分段攻击,伪造数据报文向目标主机发送含有重叠偏移的数据分段,通过将各个分段重叠来使目标系统崩溃或挂起。
⑧分布式拒绝服务攻击DDoS(DistributedDenialofService) :是对传统DoS攻击的发展,攻击者首先侵入并控制一些计算机,然后控制这些计算机同时向一个特定的目标发起拒绝服务攻击。引入了分布式攻击和C/S结构,Client(客户端)运行在攻击者的主机上,用来发起和控制DDoS攻击; Handler(主控端)运行在已被攻击者侵入并获得控制的主机上,用来控制代理端;Agent(代理端)运行在已被攻击者侵入并获得控制的主机上,从主控端接收命令,负责对目标实施实际的攻击。
⑨耗尽CPU和内存资源的拒绝服务攻击:利用目标系统的计算算法漏洞,构造恶意输入数据集,导致目标系统的CPU或内存资源耗尽,从而使目标系统瘫痪。
(6)网络钓鱼:是一种通过假冒可信方(知名银行、在线零售商和信用卡公司等可信的品牌)提供网上服务,以欺骗手段获取敏感个人信息(如口令、信用卡详细信息等)的攻击方式。网络钓鱼者利用欺骗性的电子邮件和伪造的网站来进行诈骗活动,诱骗访问者提供一些个人信息,以谋求不正常的利益。
(7)网络窃听:是指利用网络通信技术缺陷,使得攻击者能够获取到其他人的网络通信信息。常见的网络窃听技术手段主要有网络嗅探、中间人攻击。网络攻击者将主机网络接口的方式设成“杂乱”模式,就可以接收整个网络上的信息包,从而可以获取敏感口令,甚至将其重组,还原为用户传递的文件。
(8)SQL注入攻击:在Web服务中,一般采用三层架构模式,浏览器+Web服务器+数据库。其中,WEB脚本程序负责处理来自浏览器端提交的新东西。但是由于WEB脚本程序的编程漏洞,对来自浏览器端的信息缺少输入安全合法性检查,网络攻击者利用这个漏洞,把SQL命令插入WEB表单的输入域或页面的请求查找字符串,欺骗服务器执行恶意的SQL命令。
(9)社交工程:网络攻击者通过一系列的社交活动,获取需要的信息。例如伪造系统管理员的身份,给特定的用户发电子邮件骗取他的密码口令。有的攻击者会给用户送免费实用程序,不过该程序除了完成用户所需的功能外,还隐藏了一个将用户的计算机信息发送给攻击者的功能。
(10)电子监听:网络攻击者采用电子设备远距离地监视电磁波的传送过程。灵敏的无线电接受装置能够在远处看到计算机操作者输入的字符或屏幕显示的内容。
(11)会话劫持:是指攻击者在初始授权之后建立一个连接,在会话劫持以后,攻击者具有合法用户的特权权限。如“TCP会话劫持”。
(12)漏洞扫描:是一种自动检测远程或本地主机安全漏洞的软件,通过漏洞扫描器可以自动发现系统的安全漏洞。常见的漏洞扫描技术有CCI漏洞扫描、弱口令扫描、操作系统漏洞扫描、数据库漏洞扫描等。
(13)代理技术:网络攻击者通过免费代理服务器进行攻击,其目的是以代理服务器为“攻击跳板”,即使攻击目标的网络管理员发现了,也难以追踪到网络攻击者的真实身份或IP地址。为了增加追踪的难度,网络攻击者还会用多级代理服务器或者“跳板主机”来攻击目标。在黑客中,代理服务器被叫做“肉鸡”,黑客常利用所控制的机器进行攻击活动,如DDOS攻击。
(14)数据加密:网络攻击者常常采用数据加密技术来逃避网络安全管理人员的追踪。加密使网络攻击者的数据得到有效保护,即使网络安全管理人员得到这些加密的数据,没有密钥也无法读懂,这样就实现了攻击者的自身保护。攻击者的安全原则是,任何与攻击有关的内容都必须加密或者立刻销毁。
黑客常用工具
(1)扫描器:通过扫描程序,黑客可以找到攻击目标的IP地址、开放的端口号、服务器运行的版本、程序中可能存在的漏洞等。根据不同的扫描目的,扫描类软件又分为地址扫描器、端口扫描器、漏洞扫描器三个类别。下面列出几种经典的扫描软件:
★ NMAP :即网络地图,通过NMap可以检测网络上主机的开放端口号、主机的操作系统类型以及提供的网络服务。
★ Nessus:可运行在Linux操作系统平台上,支持多线程和插件。
★ SuperScan:是一款具有TCP connect端口扫描、Ping和域名解析等功能的工具,能较容易地对指定范围内的IP地址进行Ping和端口扫描。
(2)远程监控:实际上是在受害机器上运行一个代理软件,而在黑客的电脑中运行管理软件,受害机器受控于黑客的管理端。受害及其通常被称为“肉鸡”,其经常被用于发起DDoS拒绝服务攻击或作为攻击跳板。常见的远程监控工具有冰河、网络精灵、Netcat。
(3)密码破解:是安全渗透常用的工具,常见的密码破解方式有口令猜测(针对用户的弱口令)、穷举搜索(针对用户密码的选择空间,使用高性能计算机,逐个常识可能的密码)、撞库(根据已经收集到的用户密码的相关数据集,通过用户关键词搜索匹配,与目标系统的用户信息进行碰撞,以获取用户的密码)等。
(4)密码破解工具大多数是由高级黑客编写,供初级黑客使用,常见工具如下:
★ John the Ripper:用户检查Unix/Linux系统的弱口令,支持几乎所有Unix平台上经crypt函数加密后的口令哈希类型。
★ LOphtCrack:常用于破解Windows系统口令,含有词典攻击、组合攻击、强行攻击等多种口令猜解方法。
(5)网络嗅探器:通过网络嗅探,黑客可以截获网络的信息包,之后对加密的信息包进行破解,进而分析包内的数据,获得有关系统的信息。常见的网络嗅探器工具有:
★ Tcpdump/WireShark:基于命令行的网络数据包分析软件,可以作为网络嗅探工具,能把匹配规则的数据包内容显示出来。
★ WireShark:提供图形化的网络数据包分析功能,可视化地展示网络数据包的内容。
★ DSniff:可以获取口令、邮件、文件等信息。
(6)安全渗透工具箱:
★ Metasploit:是一个开源渗透测试工具,提供漏洞查找、漏洞利用、漏洞验证等服务功能,支持1500多个漏洞挖掘利用,提供OWASP TOP10漏洞测试。
★ BackTrack5:集成了大量的安全工具软件,支持信息收集、漏洞评估、漏洞利用、特权提升、保持访问、逆向工程、压力测试。
网络攻击案例分析:
(1)DDoS攻击:分布式拒绝服务攻击,整个攻击过程可以分为下面五个步骤:
第一步,通过探测扫描大量主机,寻找可以进行攻击的目标。
第二步,攻击有安全漏洞的主机,并设法获取控制权。
第三步,在已攻击成功的主机中安装客户端攻击程序。
第四步,利用已攻击成功的主机继续进行扫描和攻击。
第五步,当攻击客户端达到一定的数目后,攻击者在主控端给客户端攻击程序发布向特定目标进行攻击的命令。
DDoS常用的攻击技术手段有HTTP Flood攻击、SYN Flood攻击、DNS放大攻击等。其中:
HTTP Flood攻击是利用僵尸主机向特定目标网站发送大量的HTTP GET请求,以导致网站瘫痪。
(2)DNS放大攻击:是攻击者假冒目标系统向多个DNS解析服务器发送大量请求,而导致DNS解析服务器同时应答目标系统,产生大量网络流量,形成拒绝服务。
(3)网络安全导致停电事件:
乌克兰电力系统遭到攻击事件:黑客首先利用钓鱼邮件,欺骗电力公司员工下载了带有BlackEnergy的恶意代码文件,然后诱导用户打开这个文件,激活木马,安装SSH后门和系统自毁工具Killdisk,致使黑客最终获得了主控电脑的控制权。最后,黑客远程操作恶意代码将电力公司的主控计算机与变电站断连并切断电源。同时,黑客发送DDoS攻击电力客服中心,致使电厂工作人员无法立即进行电力维修工作。
学习:信息安全工程师...