黑客攻击的常用方法和攻击步骤

在网络科技时代,SOHOSmall Office Home
Office)或远程办公Tele-office)作为一种新的工作和生活方式,已经慢慢地被一些公司和个人所接受。借助无所不在的网络,很多人呆在自己的空间里工作,这是一种更加自由也更环保的生活,SOHO一方面可以让员工避免上下班拥挤的交通,另一方面也减少了公司昂贵的办公室房租支出,同时也给员工更多的自由空间以激发他们的创意,所以许多大型的企业机构也开始允许和和鼓励职员成为“SOHO族”。SOHO族们通过网络在公司FTP服务器上传或下载文件,通过QQ和Email与同事或领导、业务上的合作伙伴进行工作交流,通过IE浏览器在互联网上查找各种资料等过程中,应该注意哪些安全问题呢?作为与员工进行交流的桥梁的公司FTP服务器,管理员又该如何保障其安全呢?

从去年七、八月开始,拒绝服务攻击在网上风行一时,一年后的现在又有抬头之势。那么我们除了用防堵软件外,是否还有其它办法呢?

攻击的准备阶段

今天在这里我们主要讲如何保证上传FTP的安全。

服务过载

确保网络系统的信息安全是网络安全的目标,信息安全包括两个方面:信息的存储安全和信息的传输安全。信息的存储安全是指信息在静态存放状态下的安全,如是否会被非授权调用等。信息的传输安全是指信息在动态传输过程中安全。为了确保网络信息的传输安全,有以下几个问题:

作为员工上传和下载文件的公司FTP服务器必须与Internet相连,而且必须有一个公共的IP地址,才能方便员工正常访问。正是这固定的IP地址,方便了成天游荡于网络上不甘寂寞的黑客们,他们时时刻刻在寻找攻击的目标,哪怕这种攻击与破坏对他们没有丝毫的好处,但这些人仍乐此不彼,把攻击的机器多少作为炫耀他们黑客本事高低的标准。那么对于FTP服务器来说,可能面临哪些种类的攻击呢?

当大量服务请求发向同一台计算机的服务守护进程时,就会产生服务过载。这些请求通过各种方式发出,而且许多都是故意的。在分时机制中,计算机需要处理这些潮水般涌来的请求,十分忙碌,以至无法处理常规任务,就会丢弃许多新请求。如果攻击的对象是一个基于TCP协议的服务,这些请求还会被重发,进一步加重网络的负担。

(1)对网络上信息的监听

一、FTP服务器可能受到的攻击

通常,管理员可以使用网络监视工具来发现这种攻击,通过主机列表和网络地址列表来分析问题的所在,也可以登录防火墙或路由器来发现攻击究竟是来自于网络外部还是网络内部。

(2)对用户身份的仿冒

虽然Windows
操作系统类服务器,操作简单,配置方便,但是微软操作系统的漏洞层出不穷,如果服务器以Windows作为操作系统,管理员永远没有空闲的时候,要时刻关注微软是否又发布了什么新补丁,公布了什么新漏洞,然后在最快的时间内打上补丁,睹上漏洞,而且网上针对Windows的黑客工具也很多,稍微懂点计算机知识的人都可以操作,所以对于稍微重要的服务器,为了保证服务器的安全,管理员都不再愿意使用Windows系统了,而是采用Unix服务器。Unix操作系统的操作要比Windows操作系统要复杂得多,至少可以挡住那些只会使用Windows系统的一类人,而且它的安全性也要高得多。对unix服务器的攻击相对来说也就难些,但是这并不代表就没有攻击,对于这类服务器,可能受到下面两大类型的攻击。

消息流

(3)对网络上信息的篡改

1.拒绝服务攻击

消息流经常发生在用户向网络中的目标主机大量发送数据包之时,消息流会造成目标主机的处理速度缓慢,难以正常处理任务。这些请求以请求文件服务、要求登录或者要求响应的形式,不断涌向目标主机,加重了目标主机的处理器负载,使目标主机消耗大量资源来响应这些请求。在极端的情况下,消息流可以使目标主机因没有内存空间做缓冲或发生其他错误而死机。

(4)对发出的信息予以否认

DoSDenial of
Service,拒绝服务),是一种利用合理的服务请求占用过多的服务资源,从而使合法用户无法得到服务响应的网络攻击行为。由于典型的DoS攻击就是资源耗尽和资源过载,因此当一个对资源的合理请求大大超过资源的支付能力时,合法的访问者将无法享用合理的服务。

消息流主要针对网络服务器。一个被攻击的服务器可能在一段时间内无法响应网络请求。攻击者利用这个时机,编写程序来回答本来应该由服务器回答的请求。假设攻击者已经写了一个程序,每秒发送数千个echo请求到目标主机,借此来“轰炸”NIS服务器。同时,攻击者尝试登录到一台工作站的特权账户。这时,这台工作站将向真正的NIS服务器询问NIS口令。然而,真正的NIS服务器因正遭到攻击,不能迅速响应这个请求。这时,攻击者所在的主机便可以伪装成服务器,响应这个请求,并提供了一个错误的信息,例如,说没有口令。在正常情况下,真正的服务器会指出这个包是错误的,但是,由于服务器负载过重,以至于它没有收到这个请求或者没有及时收到,不能做出响应。于是,那个发出请求的客户机便根据这个错误的回答,处理攻击者的登录请求。

(5)对信息进行重发

www.hj8828.com,遭到DoS攻击时,会有大量服务请求发向同一台服务器的服务守护进程,这时就会产生服务过载。这些请求通过各种方式发出,而且许多都是故意的。在分时机制中,计算机需要处理这些潮水般涌来的请求,十分忙碌,以至无法处理常规任务,就会丢弃许多新请求。如果攻击的对象是一个基于TCP协议的服务,这些请求还会被重发,进一步加重网络的负担。

对付这种攻击有效的办法是配置一个监视器,将网络分隔成小的子网。监视器有助于发现和阻止这种攻击,但并不能完全消除这种攻击。

对于一般的常用入侵方法主要有:

大致说来,有以下几种类型的攻击:

“粘住”攻击

1.口令入侵

1)消息流

许多Unix系统中的TCP/IP实现程序,存在被滥用的可能。TCP连接通过三次握手来建立一个连接。如果攻击者发出多个连接请求,初步建立了连接,但又没有完成其后的连接步骤,接收者便会保留许多这种半连接,占用很多资源。通常,这些连接请求使用伪造的源地址,系统就没有办法去跟踪这个连接,只有等待这个连接因为超时而释放。对付这种攻击,最好的办法是拒绝防火墙外面的未知主机或网络的连接请求,或者对使用的协议增加限制,但是任何固定的限制都是不适当的。用户可以修改操作系统的源码,使之有一个超时值,在拒绝新到来的连接之前,对同时存在的半连接数目有一个限制,但是修改操作系统的源码并不容易进行。

所谓口令入侵,就是指用一些软件解开已经得到但被人加密的口令文档,不过许多黑客已大量采用一种可以绕开或屏蔽口令保护的程序来完成这项工作。对于那些可以解开或屏蔽口令保护的程序通常被称为“Crack”。由于这些软件的广为流传,使得入侵电脑网络系统有时变得相当简单,一般不需要很深入了解系统的内部结构,是初学者的好方法。

消息流经常发生在用户向网络中的目标主机大量发送数据包之时,消息流会造成目标主机的处理速度缓慢,难以正常处理任务。这些请求以请求文件服务、要求登录或者要求响应的形式,不断涌向目标主机,加重了目标主机的处理器负载,使目标主机消耗大量资源来响应这些请求。在极端的情况下,消息流可以使目标主机因没有内存空间做缓冲或发生其他错误而死机。

SYN-Flooding攻击

2.特洛伊木马术

2)“粘住”攻击

在SYN-Flooding攻击中,攻击者使用伪装地址向目标计算机尽可能多地发送请求,以达到多占用目标计算机资源的目的。当目标计算机收到这样的请求后,就会使用系统资源来为新的连接提供服务,接着回复一个肯定答复SYN-ACK。由于SYN-ACK被返回到一个伪装的地址,因此没有任何响应,于是目标计算机将继续设法发送SYN-ACK。一些系统都有缺省的回复次数和超时时间,只有回复一定的次数,或者超时时,占用的资源才会被释放。Windows
NT
3.5x和4.0缺省设置可以重复发送SYN-ACK5次。每次重新发送后,等待时间翻番。用户可以使用Netstat命令来检查连接线路的目前状况,查看是否处于SYN-Flood攻击中。只要在命令行中,输入Netstat-n-ptop,就显示出机器的所有连接状况。如果有大量的连接线路处于SYN-RECEIVED状态下,系统可能正遭受此类攻击。实施这种攻击的黑客无法取得系统中的任何访问权。但是对于大多数的TCP/IP协议栈,处于SYN-RECEIVED状态的连接数量非常有限。当到达端口的极限时,目标计算机通常作出响应,重新设置所有的额外连接请求,直到分配的资源被释放出来。

说到特洛伊木马,只要知道这个故事的人就不难理解,它最典型的做法可能就是把一个能帮助黑客完成某一特定动作的程序依附在某一合法用户的正常程序中,这时合法用户的程序代码已被该变。一旦用户触发该程序,那么依附在内的黑客指令代码同时被激活,这些代码往往能完成黑客指定的任务。由于这种入侵法需要黑客有很好的编程经验,且要更改代码、要一定的权限,所以较难掌握。但正因为它的复杂性,一般的系统管理员很难发现。

在Unix系统中,TCP连接通过三次握手来建立一个连接。如果攻击者发出多个连接请求,初步建立了连接,但又没有完成其后的连接步骤,接收者便会保留许多这种半连接,占用很多资源。通常,这些连接请求使用伪造的源地址,系统就没有办法去跟踪这个连接,只有等待这个连接因为超时而释放。

服…

3.监听法

3)SYN-Flooding攻击

这是一个很实用但风险也很大的黑客入侵方法,但还是有很多入侵系统的黑客采用此类方法,正所谓艺高人胆大。

攻击者使用伪装地址向目标计算机尽可能多地发送请求,以达到多占用目标计算机资源的目的。当目标计算机收到这样的请求后,就会使用系统资源来为新的连接提供服务,接着回复一个肯定答复SYN-ACK。由于SYN-ACK被返回到一个伪装的地址,因此没有任何响应,于是目标计算机将继续设法发送SYN-ACK。一些系统都有缺省的回复次数和超时时间,只有回复一定的次数,或者超时时,占用的资源才会被释放,而且每次重新发送后,等待时间翻番,最终耗尽系统资源,无法为新连接提供服务。实施这种攻击的黑客虽然无法取得系统中的任何访问权,但是却可以让服务器接受其他服务时速度变慢,甚至无法接受其他服务。

网络节点或工作站之间的交流是通过信息流的转送得以实现,而当在一个没有集线器的网络中,数据的传输并没有指明特定的方向,这时每一个网络节点或工作站都是一个接口。这就好比某一节点说:“嗨!你们中有谁是我要发信息的工作站。”

2.弱口令漏洞攻击

此时,所有的系统接口都收到了这个信息,一旦某个工作站说:“嗨!那是我,请把数据传过来。”联接就马上完成。

由于Unix操作系统本身的漏洞很少,不容易被利用,所以黑客们要想入侵,很多都是从帐号和密码上打主意。而用户的ID很容易通过一些现成的扫描器获得,所以口令就成为第一层和唯一的防御线。可是有些管理员为了方便,将有些服务器的一些帐号采用易猜的口令,甚至有的帐号根本没有口令,这无疑是虚掩房门等黑客进来。另外,很多系统有内置的或缺省的帐号也没有更改口令,这些都给黑客带来很多可乘之机,攻击者通常查找这些帐号。只要攻击者能够确定一个帐号名和密码,他或她)就能够进入目标计算机。

目前有网络上流传着很多嗅探软件,利用这些软件就可以很简单的监听到数据,甚至就包含口令文件,有的服务在传输文件中直接使用明文传输,这也是非常危险的。

Office Home
Office)或远程办公Tele-office)作为一种新的工作和生活方式,已经慢慢地被一些公司和个人所接受。借助…

4.E-mail技术

使用email加木马程序这是黑客经常使用的一种手段,而且非常奏效,一般的用户,甚至是网管,对网络安全的意识太过于淡薄,这就给很多黑客以可乘之机。

5.病毒技术

作为一个黑客,如此使用应该是一件可耻的事情,不过大家可以学习,毕竟也是一种攻击的办法,特殊时间,特殊地点完全可以使用。

6.隐藏技术
  
首先需要说明的是,入侵者的来源有两种,一种是内部人员利用自己的工作机会和权限来获取不应该获取的权限而进行的攻击。另一种是外部人员入侵,包括远程入侵、网络节点接入入侵等。本节主要讨论远程攻击。

进行网络攻击是一件系统性很强的工作,其主要工作流程是:收集情报,远程攻击,远程登录,取得普通用户的权限,取得超级用户的权限,留下后门,清除日志。主要内容包括目标分析,文档获取,破解密码,日志清除等技术,下面分别介绍。
1.确定攻击的目的

攻击者在进行一次完整的攻击之前首先要确定攻击要达到什么样的目的,即给对方造成什么样的后果。常见的攻击目的有破坏型和入侵型两种。破坏型攻击指的只是破坏攻击目标,使其不能正常工作,而不能随意控制目标的系统的运行。要达到破坏型攻击的目的,主要的手段是拒绝服务攻击(Denial
Of
Service)。另一类常见的攻击目的是入侵攻击目标,这种攻击是要获得一定的权限来达到控制攻击目标的目的。应该说这种攻击比破坏型攻击更为普遍,威胁性也更大。因为黑客一旦获取攻击目标的管理员权限就可以对此服务器做任意动作,包括破坏性的攻击。此类攻击一般也是利用服务器操作系统、应用软件或者网络协议存在的漏洞进行的。当然还有另一种造成此种攻击的原因就是密码泄露,攻击者靠猜测或者穷举法来得到服务器用户的密码,然后就可以用和真正的管理员一样对服务器进行访问。

2.信息收集

除了确定攻击目的之外,攻击前的最主要工作就是收集尽量多的关于攻击目标的信息。这些信息主要包括目标的操作系统类型及版本,目标提供哪些服务,各服务器程序的类型与版本以及相关的社会信息。

要攻击一台机器,首先要确定它上面正在运行的操作系统是什么,因为对于不同类型的操作系统,其上的系统漏洞有很大区别,所以攻击的方法也完全不同,甚至同一种操作系统的不同版本的系统漏洞也是不一样的。要确定一台服务器的操作系统一般是靠经验,有些服务器的某些服务显示信息会泄露其操作系统。例如当我们通过TELNET连上一台机器时,如果显示

Unix(r)System V Release 4.0

login:

那么根据经验就可以确定这个机器上运行的操作系统为SUN OS
5.5或5.5.l。但这样确定操作系统类型是不准确的,因为有些网站管理员为了迷惑攻击者会故意更改显示信息,造成假象。

还有一种不是很有效的方法,诸如查询DNS的主机信息(不是很可靠)来看登记域名时的申请机器类型和操作系统类型,或者使用社会工程学的方法来获得,以及利用某些主机开放的SNMP的公共组来查询。

另外一种相对比较准确的方法是利用网络操作系统里的TCP/IP堆栈作为特殊的“指纹”来确定系统的真正身份。因为不同的操作系统在网络底层协议的各种实现细节上略有不同。可以通过远程向目标发送特殊的包,然后通过返回的包来确定操作系统类型。例如通过向目标机发送一个FIN的包(或者是任何没有ACK或SYN标记的包)到目标主机的一个开放的端口然后等待回应。许多系统如windows、
BSDI、 CISCO、 HP/UX和
IRIX会返回一个RESET。通过发送一个SYN包,它含有没有定义的TCP标记的TCP头。那么在Linux系统的回应包就会包含这个没有定义的标记,而在一些别的系统则会在收到SYN+BOGU包之后关闭连接。或是利用寻找初始化序列长度模板与特定的操作系统相匹配的方法。利用它可以对许多系统分类,如较早的Unix系统是64K长度,一些新的Unix系统的长度则是随机增长。还有就是检查返回包里包含的窗口长度,这项技术根据各个操作系统的不同的初始化窗口大小来唯一确定它们。利用这种技术实现的工具很多,比较著名的有NMAP、CHECKOS、QUESO等。

获知目标提供哪些服务及各服务daemon的类型、版本同样非常重要,因为已知的漏洞一般都是对某一服务的。这里说的提供服务就是指通常我们提到的喘口,例如一般TELNET在23端口,FTP在对21端口,WWW在80端口或8080端口,这只是一般情况,网站管理完全可以按自己的意愿修改服务所监听的端口号。在不同服务器上提供同一种服务的软件也可以是不同,我们管这种软件叫做daemon,例如同样是提供FTP服务,可以使用wuftp、proftp,ncftp等许多不同种类的daemon。确定daemon的类型版本也有助于黑客利用系统漏洞攻破网站。

另外需要获得的关于系统的信息就是一些与计算机本身没有关系的社会信息,例如网站所属公司的名称、规模,网络管理员的生活习惯、电话号码等。这些信息看起来与攻击一个网站没有关系,实际上很多黑客都是利用了这类信息攻破网站的。例如有些网站管理员用自己的电话号码做系统密码,如果掌握了该电话号码,就等于掌握了管理员权限进行信息收集可以用手工进行,也可以利用工具来完成,完成信息收集的工具叫做扫描器。用扫描器收集信息的优点是速度快,可以一次对多个目标进行扫描。