网络攻击类型概览.docx

上传人:b****8 文档编号:30139636 上传时间:2023-08-05 格式:DOCX 页数:28 大小:253.25KB
下载 相关 举报
网络攻击类型概览.docx_第1页
第1页 / 共28页
网络攻击类型概览.docx_第2页
第2页 / 共28页
网络攻击类型概览.docx_第3页
第3页 / 共28页
网络攻击类型概览.docx_第4页
第4页 / 共28页
网络攻击类型概览.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

网络攻击类型概览.docx

《网络攻击类型概览.docx》由会员分享,可在线阅读,更多相关《网络攻击类型概览.docx(28页珍藏版)》请在冰豆网上搜索。

网络攻击类型概览.docx

网络攻击类型概览

 

网络攻击类型概览

1引言

随着计算机网络的飞速发展,网络信息的安全问题也日渐突出,它已经成为了计算机领域的一个重大课题。

现阶段,网络攻击的手段花样不断更新,层出不穷,大致来说,可以分为如下六类:

信息收集型攻击、访问类攻击、Web攻击、拒绝服务类攻击、病毒类攻击、溢出类攻击。

古语有云“知己知彼,百战不殆”。

对黑客来说,这个“知彼”指的是对入侵目标的了解,它不仅要掌握大量的计算机网络技术、编程技术,而且在某些时候还要懂得社会工程学,只有完美的利用这些东西,充分发挥自己的想象力,才能增加入侵的成功率;对攻击防护者来说,这个“知彼”指的是我们要充分了解黑客有哪些攻击方法,只有充分了解网络攻击类型有哪些,才能针对这些攻击产生相应的防御和检测措施,从而保证网络的完全。

攻击检测的有效性和全面性都非常重要,网络安全是整体的安全。

若检测了但没有检测出来,那这个检测就是个鸡肋食之无味弃之可惜,但若检测的不全面,相当于又为攻击者提供了一个安全漏洞。

本文作者不是网络攻防方面的技术专家,也是出于想学习这方面的知识,从XX百科、微博、XX文库、知网空间、公司内部的攻防书籍等等地方,收罗各种资料并进行学习和整理,而编写了这篇文档。

如果继续深入研究一下,比如每种攻击的工具使用方法、每种攻击的防范技术等,都可以单独作为一篇学习文档。

本文档将常见的网络攻击进行了分类,并分别介绍了这些攻击类型的原理,有些还介绍了具体的实例,为大家了解网络攻击相关知识提供一个敲门砖,若能为读者起到抛砖引玉的效果,本篇文档也就实现了它的价值。

本文主要内容包括:

⏹网络攻击类型分类

⏹各类网络攻击的相关介绍

⏹部分网络攻击的具体实例

⏹常见攻击工具

1.1目的

本文档旨在为刚接触网络攻击相关产品的测试和技术人员,提供一个整体的网络攻击领域的宏观视角。

通过阅读本文档,大家可以了解到目前流行哪些攻击方法,这些攻击方法的原理,以及使用什么工具可以实现这些攻击。

1.2名词解释

⏹DDoS

DistributedDenialofService,分布式拒绝服务,简称DDoS。

指将多个计算机联合起来作为攻击平台,对一个或多个目标发动DoS(拒绝服务)攻击,从而成倍地提高拒绝服务攻击的威力。

⏹ICMP

ICMP是(InternetControlMessageProtocol)Internet控制报文协议。

它是TCP/IP协议族的一个子协议,属于网络层协议,主要用于在主机、路由器之间传递控制信息,包括网络通不通、主机是否可达、路由是否可用等网络本身的消息。

这些控制消息虽然不传输用户数据,但是对于用户数据的传递起着重要的作用。

⏹Tracert

Tracert(路由跟踪)用于确定IP数据包访问目标所采取的路径。

Tracert命令用IP生存时间(TTL,timetolive)字段和ICMP错误消息来确定从一个主机到网络上其它主机的路由。

2侦察/信息收集型攻击

侦察是XX的发现和扫描系统、服务或漏洞,也被称为信息收集。

信息收集型攻击是一种基础的网络攻击方式,并不对目标本身造成危害,在大多数情况下,它是其它攻击方式的先导,被用来为进一步入侵提供有用的信息。

通过向目标主机发送数据包,然后根据响应来搜集系统信息,发现服务器的端口分配及所提供服务和软件版本,可以进一步检测远程或者本地主机安全脆弱性。

此类攻击通常包含地址扫描、网络端口扫描、操作系统探测、漏洞扫描。

2.1地址扫描

地址扫描指的是攻击者利用ping、tracert或firewalk等攻击或者直接利用ICMP消息发向目标网络,请求应答,如果请求和应答没有被网络边界过滤掉,攻击者就可以借此来获得目的网络地址分配信息,进而分析目的网络的拓扑结构。

防御方法是在防火墙上过滤掉ICMP应答消息。

此类工具非常多,网上随便都可以下载到,我这里有一个非常好用的IPMAC.exe小工具,该工具可以在指定的IP地址范围内扫描活跃的IP地址以及对应的MAC地址。

2.2端口扫描

端口扫描就是通过连接到目标系统的TCP或UDP端口,来确定哪些端口开放?

什么服务正在运行?

一般来说端口扫描有三个用途:

识别目标系统上正在运行的TCP和UDP服务;识别目标系统的操作系统类型;识别某个应用程序或某个特定服务的版本号。

端口扫描方法有全连接扫描、半连接扫描、秘密扫描、UDPICMP端口不可到达扫描。

全连接扫描是最基本的TCP扫描,它调用操作系统提供的connect()函数,通过完整的TCP三次握手,与目标计算机的端口进行尝试性的连接。

如果connect()返回成功说明该端口打开,否者没有打开。

半连接扫描指的是不使用完整的TCP三次握手来进行连接尝试。

此类扫描方式比全连接扫描隐蔽且速度快,但是需要自己构造IP包,因此需要root权限,并且需要防火墙可以过滤掉此类扫描包。

秘密扫描方法有TCPFIN扫描和TCPACK扫描两种。

TCPFIN(FalsePositives)扫描的指的是反向确定结果,即攻击者向主机发送虚假消息,当对方没有任何响应时认为目标端口是开放的,而如果返回数据包则认为目标端口是关闭的,这种方法在区分Unix和NT时,是十分有用的;TCPACK扫描的原理是,当申请主机向目标主机一个端口发送一个只有ACK标志的TCP数据包,如果目标主机该端口是“开”状态,则返回一个TCPRST数据包,否则不回复,根据这一原理可以判断对方端口是处于开还是关状态。

以上两种秘密扫描方式的优点是比较难记录,可以绕过某些防火墙,且不包含TCP三步握手建立连接中的任何一步,有很多的实现方法。

但是需要用户具备root权限来构造IP包,另外,对WinNT系统,不管端口是否打开,都回复RST,TCPFIN扫描方法就失效了。

UDPICMP端口不可到达扫描的扫描方法与上面几种方法的不同之处在于使用的是UDP协议,由于这个协议简单,扫描变得相对比较困难。

这是由于打开的端口对扫描探测并不发送一个确认,关闭的端口也并不需要发送一个错误数据包。

幸运的是,许多主机在你向一个未打开的UDP端口发送一个数据包时,会返回一个ICMP_PORT_UNREACH错误。

这样你就能发现哪个端口是关闭的。

UDP和ICMP错误都不保证能到达,因此这种扫描器必须还实现在一个包看上去是丢失的时候能重新传输。

这种扫描方法是很慢的,因为RFC对ICMP错误消息的产生速率做了规定。

同样,这种扫描方法需要具有root权限。

下方是三种端口扫描技术的优缺点总结:

表2-1端口扫描技术优缺点对比

优缺点

端口扫描技术

优点

缺点

全连接扫描

扫描迅速、准确而且不需要任何权限

易被目标主机发觉而被过滤掉

半连接扫描

一般不会被目标主机记录连接,有利于扫描的不被发现

在大部分操作系统下,扫描主机需要构造适用于这种扫描的IP包,而通常情况下,构造自己的SYN数据包必须要有root权限

秘密扫描

能躲避IDS、防火墙、包过滤器和日志审计,从而获取目标端口的开放或关闭的信息。

没有包含TCP三次握手协议的任何部分,所以无法被记录下来,比半连接扫描要更为隐蔽

扫描结果的不可靠性增加,而且扫描主机也需要自己构造IP包

UDPICMP端口不可到达扫描

可以扫描非TCP端口,避免了TCP的IDS

由于是基于简单的UDP协议,扫描相对困难,速度很慢而且需要root权限

管他如何实现的端口扫描,只要能成功获得端口扫描结果才是王道,下面是一个scanport.exe小工具的端口扫描效果图。

Nmap工具也可以实现主机端口扫描,如下图,在命令行下进入nmap软件目录,然后输入下方红框里的命令,执行即可。

2.3操作系统探测

操作系统探测指的是攻击者使用具有已知响应类型的数据库的自动工具,对来自目标主机的、对坏数据包传送所作出的响应进行检查。

由于每种操作系统都有其独特的响应方法(例如NT和Solaris的TCP/IP堆栈具体实现有所不同),通过将此独特的响应与数据库中的已知响应进行对比,黑客经常能够确定出目标主机所运行的操作系统。

另外,攻击者可以通过DNS域转换、Finger服务、LDAP服务获取操作系统的主机名或用户信息。

DNS协议不对转换或信息性的更新进行身份认证,这使得该协议被人以一些不同的方式加以利用,如果你维护着一台公共的DNS服务器,黑客只需实施一次域转换操作就能得到你所有主机的名称以及内部IP地址。

Finger服务指的是黑客使用finger命令来刺探一台finger服务器以获取关于该系统的用户信息。

LDAP服务指的是黑客使用LDAP协议窥探网络内部的系统和它们的用户的信息。

可以使用nmap工具查看主机的操作系统信息,包括主机状态、主机名等信息。

可以使用NMAP工具探测主机的操作系统:

2.4漏洞扫描

网络漏洞扫描技术建立在上述三种扫描技术的基础之上,通过上述三种方法可以收集到很多目标主机的各种信息,例如是否能用匿名登录、是否有可写的FTP目录、是否能用telnet、httpd是否用root在运行等。

在获得目标主机TCP/IP端口和其对应的网络访问服务相关信息后,与网络漏洞扫描系统提供的漏洞库进行匹配,如果满足匹配条件,则视为漏洞存在。

基于上述三种扫描技术形成的漏洞扫描工具有Nmap、Nessus、X-scan。

nmap基本功能有三个,一是探测一组主机是否在线;其次是扫描主机端口,嗅探所提供的网络服务;还可以推断主机所用的操作系统。

允许系统管理员察看一个大的网络系统有哪些主机以及其上运行何种服务。

它支持多种协议的扫描如UDP,TCPconnect(),TCPSYN(halfopen),ftpproxy(bounceattack),Reverse-ident,ICMP(pingsweep),FIN,ACKsweep,XmasTree,SYNsweep,和Null扫描。

你可以从SCANTYPES一节中察看相关细节。

nmap还提供一些实用功能如通过tcp/ip来甄别操作系统类型、秘密扫描、动态延迟和重发、平行扫描、通过并行的PING侦测下属的主机、欺骗扫描、端口过滤探测、直接的RPC扫描、分布扫描、灵活的目标选择以及端口的描述。

nmap-oX---system-dns192.168.76.201–sn

nmap-oX---system-dns192.168.76.201-P0–O

nmap-oX---system-dns192.168.76.201-sP

Nessus是一个功能强大而又易于使用的远程安全扫描器,它不仅免费而且更新极快。

安全扫描器的功能是对指定网络进行安全检查,找出该网络是否存在有导致对手攻击的安全漏洞。

该系统被设计为client/sever模式,服务器端负责进行安全检查,客户端用来配置管理服务器端。

在服务端还采用了plug-in的体系,允许用户加入执行特定功能的插件,这插件可以进行更快速和更复杂的安全检查。

在Nessus中还采用了一个共享的信息接口,称之知识库,其中保存了前面进行检查的结果。

检查的结果可以HTML、纯文本、LaTeX(一种文本文件格式)等几种格式保存。

X-scan是Xfocus小组自己写的一款扫描软件,有图形界面和命令行两种形式,运行在windows平台,实际上使用的是nmap的核心内容,采用多线程方式对指定IP地址段进行安全漏洞检测,支持插件功能,提供了图形界面和命令行两种操作方式,扫描内容包括远程服务类型、操作系统类型及版本、各种弱口令漏洞、后门、应用服务漏洞、网络设备漏洞、拒绝服务漏洞等等。

3访问类攻击

访问类攻击指的是攻击者在获得或者拥有访问主机、网络的权限后,肆意滥用这些权限进行信息篡改、信息盗取等攻击行为。

我通过在网络上搜集资料,暂介绍三种访问类攻击行为:

口令攻击、端口重定向、中间人攻击,下面分别对其做个具体描述。

3.1口令攻击

攻击者攻击目标时常常把破译用户的口令作为攻击的开始,只要攻击者能猜测或者确定用户的口令,他就能获得机器或者网络的访问权,并能访问到用户能访问到的任何资源。

特别是若这个用户有域管理员或root用户权限,这是极其危险的。

口令攻击的原理是先得到该主机上的某个合法用户的账号,然后再进行合法用户口令的破译。

获得普通用户账号的方法很多,比如:

1)利用目标主机的Finger功能:

当用Finger命令查询时,主机系统会将保存的用户资料显示在终端或计算机上。

2)从电子邮件地址中收集:

有些用户电子邮件地址会透漏其在目标主机上的账号,很多系统会使用一些习惯性的账号,造成账号的泄漏。

获取用户口令有三种方法:

1)利用网络监听非法得到用户口令。

当前,很多协议根本就没有采用任何加密或身份认证技术,如在Telnet、FTP、HTTP、SMTP等传输协议中,用户帐户和密码信息都是以明文格式传输的,攻击者利用数据包截取工具便可很容易收集到帐户和密码。

2)在知道用户账号后,利用一些专门软件强行破解用户口令。

例如,攻击者采用字典穷举法来破解用户的密码,这个破译过程完全可以由计算机程序来自动完成,因而几个小时就可以把上万条记录的字典里所有单词都尝试一遍。

3)利用系统管理员的失误。

在UNIX操作系统中,用户的基本信息存放在password文件中,而所有的口令经过DES加密方法加密后专门存放在一个叫shadow的文件中。

攻击者获取口令文件后,就会使用专门的摩羯DES加密法的程序来解口令。

3.2端口重定向

端口重定向指的是攻击者对指定端口进行监听,把发给这个端口的数据包转发到指定的第二目标。

一旦攻陷了某个关键的目标系统,比如防火墙,攻击者就可以使用端口重定向技术把数据包转发到一个指定地点去,这种攻击的潜在威胁非常大,能让攻击者访问到防火墙后面的任何一个系统。

fpipe是Foundstone公司开发的一个TCP源端口转发/重定向工具,它可以创建一个TCP数据流,并允许指定一个源端口,此种攻击可以绕过一些阻断特定通信进入内部网络的防火墙的限制。

fpipe工具的基本功能就是端口重定向,在启动fpipe时需要指定一个服务器端的监听端口、一个远程目的地端口(即实际想要连接的、躲在防火墙后面的那个端口)和一个(可选的)本地源端口。

当fpipe启动时,它将等待客户来连接到它的监听端口。

在建立起监听连接之后,目标机器(被攻击者)上的目的地端口与本地机器(攻击者)上的指定源端口之间就会建立起一个新的连接,这样就创建出了一个完备的通信通道。

建立起这条完整通道之后,fpipe就能把它从外来连接上接收到的所有数据转发到防火墙后面的远程目的地端口、把应答信息返回给发起这次连接的系统。

3.3中间人攻击(会话劫持)

中间人攻击是一种“间接”的入侵攻击,这种攻击模式,是通过各种技术手段将受入侵者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间,而这台计算机就称为“中间人”,然后入侵者把这台计算机模拟成一台或两台原始计算机,使“中间人”能够与原始计算机建立活动连接,并允许其读取或修改传递的信息,两个原始计算机用户却认为他们是在互相通信。

通常,这种“拦截数据-修改数据-发送数据”的过程就被称为“会话劫持”。

通过中间人攻击,攻击者可以实现信息篡改、信息盗取等目的。

下面一个具体实例来形象地描述通过中间人攻击来进行信息篡改的过程。

假设a希望与b通信。

同时,c希望拦截窃会话以进行窃听并可能在某些时候传送给b一个虚假的消息。

首先,a会向b索取他的公钥。

如果b将他的公钥发送给a,并且此时c能够拦截到这个公钥,一个中间人攻击就可以开展。

c发送给a一个伪造的消息,声称自己是b,并且附上了c自己的公钥(而不是b的)。

a收到公钥后相信这个公钥是b的,于是a将她的消息用c的公钥(a以为是b的)加密,并将加密后的消息回给b。

c再次截获a回给b的消息,并使用c自己的私钥对消息进行解密,如果c愿意,她也可以对消息进行修改,然后c使用b原先发给a的公钥对消息再次加密。

当b收到新加密后的消息时,他会相信这是从a那里发来的消息。

1.a发送给b一条消息,被c截获:

a“嗨,b,我是a。

给我你的公钥”-->c、b

2.c将这条截获的消息转送给b;此时b不能分辨这条消息是否真的是从a那里发来的:

a、c“嗨,b,我是a。

给我你的公钥”-->b

3.b回应a的消息,并附上了他的公钥:

ac<--[b的公钥]--b

4.c用自己的密钥替换了消息中b的密钥,并将消息转发给a,声称这是b的公钥:

a<--[c的公钥]--cb

5.a用她以为是b的公钥加密了她的消息,以为只有b才能读到它:

a“我们在公共汽车站见面!

”--[使用c的公钥加密]-->cb

6.然而,由于这个消息实际上是用c的密钥加密的,所以c可以解密它,阅读它,并在愿意的时候修改它,然后使用b的密钥重新加密,并将重新加密后的消息转发给b:

ac“在家等我!

”--[使用b的公钥加密]-->b

7.b认为,这条消息是经由安全的传输通道从a那里传来的。

这个例子显示了a和b需要某种方法来确定他们是真正拿到了属于对方的公钥,而不是拿到来自攻击者的公钥。

否则,这类攻击一般都是可行的,在原理上,可以针对任何使用公钥——密钥技术的通讯消息发起攻击。

幸运的是,有各种不同的技术可以帮助抵御MITM攻击。

4Web攻击

Web这种应用的可操作性很大,用户使用的自由度也很高,同时,此应用也非常脆弱,遭遇的攻击也非常普遍。

当攻击者在Web站点或应用程序后端“描绘”某个目标时,通常出于以下两个目的之一:

阻碍合法用户对站点的访问,或者降低站点的可靠性。

而根据国内某IT网站对网友和Web安全专家调查,以下是当前较“流行”和威胁排名靠前的攻击方式:

SQL注入式攻击、跨站脚本攻击、CC攻击、Script/ActiveX攻击以及DDos攻击。

DDoS攻击会在后面有一章专门讲述,本章节具体介绍一下SQL注入攻击、跨站脚本攻击、CC攻击、Script/ActiveX攻击。

4.1SQL注入攻击

4.1.1SQL注入原理

SQL注入和缓冲区溢出都是一种依赖于开发人员没测试输入数据的疏漏的攻击。

SQL注入攻击的基本原理是在用户输入中注入一些额外的特殊符号或SQL语句,使系统构造出来的SQL语句在执行时或者改变了查询条件,或者附带执行了攻击者注入的整个SQL语句,从而让攻击者达到了非法的目的。

由于SQL注入攻击利用的是SQL语法,使得这种攻击具有广泛性。

理论上说,对于所有基于SQL语言标准的数据库软件都是有效的,包括MSSQLServer、Oracle、DB2、Sybase、MySQL等。

只要这个恶意代码负荷SQL语句的规则,则在代码编译与执行的时候,就不会被系统所发现。

它的产生主要是由于程序对用户输入的数据没有进行细致的过滤,导致非法数据导入查询。

这种类型的脆弱点是对Web应用程序最有效的攻击类型之一,并且随着对Web应用程序的信任的增加,这种利用的力量甚至将更令人畏缩。

幸运的消息是,像溢出类型的攻击一样,可以通过清洁输入数据,并且从不立即相信用户输入(至少对于输入的数据)来防止大部分这种脆弱点。

4.1.2SQL注入具体实例

对一些存在SQL注入漏洞的应用系统来说,利用这些漏洞,攻击者可以窃取用户数据,提升权限等,根据注入方式的不同,注入方法主要有以下几种:

1、没有正确或不严格过滤转义字符

在用户的输入没有对转义字符过滤时,就会发生这种形式的注入式攻击,它会被传递给一个SQL语句。

这样就会导致应用程序的终端用户对数据库上的语句实施操纵。

比方说,下面的这行代码就会演示这种漏洞:

SELECT*FROMusersWHERE'username'='$USER'AND'password'='$PASS';

$USER和$PASS会用用户提供的用户名和密码来代替。

那么如果用户输入‘bob’和‘1234’,那么结果的查询是:

SELECT*FROMusersWHERE'username'='bob'AND'password'='1234';

而来自数据库的返回值会是所有用bob作为用户名且用1234作为密码的数据元组。

但是如果黑客输入admin和hi'OR1=1--,那么查询是:

SELECT*FROMusersWHERE'username'='admin'and`password`='hi'OR1=1--'

注意用户输入的引号如何与原始查询中的第三个引号匹配。

数据库现在会返回用户名为admin的所有元组,并且会取消对密码的检查,因为'password'='hi'OR1=1命令数据库寻找密码是hi的元组或1=1的元组,而由于1总是1,所以每行都是候选。

--是SQL注释标志,取消查询中原始的其他引号,并且还将取消任何额外的检查,因此如果有额外的凭证也会被忽略。

在一些SQL服务器上,如在SQLServer中,任何一个SQL命令都可以通过这种方法被注入,包括执行多个语句。

下面语句中的username的值将会导致删除“users”表,又可以从“data”表中选择所有的数据(实际上就是透露了每一个用户的信息)。

  a';DROPTABLEuserTable;SELECT*FROMdataWHEREnameLIKE'%

这就将最终的SQL语句变成下面这个样子:

SELECT*FROMuserTableWHEREname='a';DROPTABLEuserTable;SELECT*FROMDATAWHEREnameLIKE'%';

其它的SQL执行不会将执行同样查询中的多个命令作为一项安全措施。

这会防止攻击者注入完全独立的查询,不过却不会阻止攻击者修改查询。

2、类型不正确的处理

  如果一个用户提供的字段并非一个强类型,或者没有实施类型强制,就会发生这种形式的攻击。

当在一个SQL语句中使用一个数字字段时,如果程序员没有检查用户输入的合法性(是否为数字型)就会发生这种攻击。

例如:

  SELECT*FROMdataWHEREid="+a_variable+";

从这个语句可以看出,作者希望a_variable是一个与“id”字段有关的数字。

不过,如果终端用户选择一个字符串,就绕过了对转义字符的需要。

例如,将a_variable设置为:

1;DROPTABLEuserTable,它会将“userTable”表从数据库中删除,SQL语句变成:

SELECT*FROMDATAWHEREid=1;DROPTABLEusers;

3、数据库服务器中的漏洞

  有时,数据库服务器软件中也存在着漏洞,如SQLServer服务器漏洞。

例如:

分别由NameTxt,PwdTxt接受页面输入用户名和密码,然后构造如下sql语句:

  select*from[User]whereuserName='"+NameTxt+"'anduserPassword='"+PwdTxt+"'";

比如你的用户名为your,我不知道密码,但是我在"用户名"处输入your'--",SQL语句变成:

select*from[User]whereuserName='your'--'anduserPassword=....

注意"--",会把后边的s

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1