网络安全--入侵攻击类型

安全咨询 0 1301

1.入侵攻击类型介绍

随着计算机网络的飞速发展,网络信息的安全问题也日渐突出,它已经成为了计算机领域的一个重大课题。现阶段,网络攻击的手段花样不断更新,层出不穷,大致来说,可以分为如下六类:信息收集型攻击、访问类攻击、Web攻击、拒绝服务类攻击、病毒类攻击、溢出类攻击。


2.侦察/信息收集型

侦察是未授权的发现和扫描系统、服务或漏洞,也被称为信息收集。信息收集型攻击是一种基础的网络攻击方式,并不对目标本身造成危害,在大多数情况下,它是其他攻击方式的先导,被用来为进一步入侵提供有用的信息。通过向目标主机发送数据包。然后根据响应来收集系统信息,发现服务器的端口分配及所提供服务和软件版本,可以进一步检测远程或本机主机安全的脆弱性。此类攻击通常包括地址扫描、网络端口扫描、操作系统探测、漏洞扫描。


2.1地址扫描

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


2.2端口扫描

端口扫描能够用来查找目标主机已开放的端口,包括TCP和UDP端口。当前针对TCP端口的扫描技术有三种,分别为:全连接扫描,SYN扫描和FIN扫描。针对UDP端口的扫描技术一般是采用ICMP报文中端口不可达的信息来识别UDP端口是否开放。


全连接扫描


作为最基本的TCP扫描方式,它利用connect()函数,向每一个目标主机的端口发起连接,若端口处于侦听状态,则函数返回成功;否则可以判断出该端口没有开放。


SYN扫描


SYN扫描通常认为是“半开放”的扫描,这是因为扫描程序不必打开一个完全的TCP连接。扫描程序构造并发送一个SYN数据包,执行TCP三次握手的第一步,若返回一个SYN|ACK数据包,则表示端口处于侦听状态,否则返回一个RST数据包,表示端口没有开放。这种方式需要root权限,并且它不会在主机上留下记录。




FIN扫描


FIN扫描与SYN扫描类似,也是构造数据包,通过识别回应来判断端口状态。发送FIN数据包后,如果返回一个RST数据包,则表示端口没有开放,处于关闭状态,否则,开放端口会忽略这种报文。这种方式难以被发现,但是这种方式可能不准确。


UDP的ICMP端口不可到达扫描


UDP扫描的方法并不常见。虽然UDP协议相对比较简单,无论UDP端口是否开放,对于接受到的探测包,他本身默认是不会发送回应信息的。不过UDP扫描有一种方法,就是利用主机ICMP报文的回应信息来识别,当一个关闭的UDP端口发送一个数据包时,会返回一个ICMP_PORT_UNREACH的错误。但由于UDP不可靠,ICMP报文也是不可靠,因此存在数据包中途丢失的可能




具体流程:


1.判断端口是否处于扫描范围


2.初始化套接字,发起连接


3.调用getservbyport函数,获取端口映射的TCP服务


4.输出结果


5.退出程序


具体实现



2.3系统探测

操作系统探测指的是攻击者使用具有已知相应类型的数据库的自动工具,对来自目标主机的、对坏数据包传送所做出的相应进行检查。由于每种操作系统都有其独特的响应方法(例如NT和Solaris的TCP/AP堆栈具体实现有所不同),通过将此独特的响应与数据库中的已知响应进行对比,黑客经常能够确定出目标主机所运行的操作系统


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



2.4漏洞扫描

网络漏洞扫描技术建立在上述三种扫描技术的基础之上,通过上述三种方法可以收集到很多目标主机的各种信息。在获得目标主机TCP/IP端口和其对应的网络访问服务相关信息后,与网络漏洞扫描系统提供的漏洞库进行匹配,如果满足匹配条件,则视为漏洞存在。


基于上述三种扫描技术形成的漏洞扫描工具有Nmap、Nessus、X-scan。Nmap基本功能有三个,一是探测一组主机是否在线;其次是扫描主机端口,嗅探所提供的网络服务;还可以推断主机所用的操作系统。


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


X-scan是Xfocus小组自己写的一款扫描软件,有图形界面和命令行两种形式,运行在Windows平台。


3.访问类攻击

3.1口令攻击

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


获得普通用户账号的方法很多


1)利用目标主机的Finger功能;当用Finger命令查询时,主机系统会将保存的用户资料显示在终端或计算机上。


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


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


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


2)在知道用户账户后,利用一些专门软件强行破解用户口令。例如,攻击者采用字典穷举法来破解用户的密码,这个破译过程完全可以由计算机程序来自动完成,因而几小时就可以把上万条记录的字典里所有单词都尝试一遍。


3)利用系统管理员的失误。在UNIX操作系统中,用户的基本信息存放在password文件中,而所有的口令经过DES加密方法加密后专门存放在一个叫shadow的文件中。攻击者获取口令文件后,就会使用专门的破解DES加密法的程序来破解口令。


3.2端口重定向

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


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


3.3中间人攻击

中间人攻击是一种“间接”的入侵攻击,这种攻击模式,是通过各种技术手段将被入侵者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间,而这台计算机就称为“中间人

”,然后入侵者把这台计算机模拟成一台或两台原始计算机,使“中间人”能够与原始计算机建立活动连接,并允许其读取或修改传递的信息,两个原始计算机用户却认为他们是在互相通信。通常,这种“拦截数据-修改数据发送数据”的过程就被称为“会话劫持”。


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




3.4Web攻击

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


Web攻击会阻碍合法用户对站点的访问,或者降低站点的可靠性。根据国内某IT网站对网友和Web安全专家调查,以下是当前较“流行”和威胁排名靠前的攻击方式:SQL注入式攻击、跨站脚本攻击、CC攻击、Script/ActiveX攻击及DDos攻击。


4.Web类攻击

4.1SQL注入

SQL注入原理


SQL注入和缓冲区溢出都是一种依赖于开发人员没对输入数据进行测试的攻击。SQL注入攻击的基本原理是在用户输入中注入一些额外的特殊符号或SQL语句,使系统构造出来的SQL语句在执行时,改变了查询条件,或者附带执行了攻击者注入的整个SQL语句,从而让攻击者达到了非法的目的。由于SQL注入攻击利用的是SQL语法,使得这种攻击具有广泛性。


4.2跨站脚本攻击

跨站脚本攻击(Cross Site Scripting,安全专家们通常将其缩写为XSS),是指攻击者利用网站程序对用户输入过滤不足、输入可以显示在页面上对其它用户造成影响的HTML代码,从而盗取用户资料、利用用户身份进行某种动作或者对访问者进行侵害的一种攻击方式。


静态站点不会受到此类攻击影响,但是动态站点往往会,这是因为动态站点的网站中包含了大量的动态内容以便来提高用户体验,所谓的动态内容,就是根据用户环境和需要,Web应用程序能够输出相应的内容。


也许您对下面的内容还感兴趣:

留言0

评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。