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