1、第五章第五章 网络入侵与攻击网络入侵与攻击 “黑客黑客”一词是由英文一词是由英文“hacker”音音译来过的,原是指热心计算机技术,水平译来过的,原是指热心计算机技术,水平高超的计算机专家,尤其是程序设计人员。高超的计算机专家,尤其是程序设计人员。他们恪守永不破坏任何系统的原则,检查他们恪守永不破坏任何系统的原则,检查系统的完整性和安全性,并乐于与他人共系统的完整性和安全性,并乐于与他人共享研究成果。享研究成果。5.1 初识黑客初识黑客5.2 黑客攻击的目的及步骤黑客攻击的目的及步骤5.2.1 5.2.1 黑客攻击的目的黑客攻击的目的(1 1)进程的执行)进程的执行 有些程序只能在一种系统中运
2、行,到了另一有些程序只能在一种系统中运行,到了另一个系统将无法运行。攻击者为了攻击的需要,往个系统将无法运行。攻击者为了攻击的需要,往往需要找一个中间站点来运行所需要的程序。此往需要找一个中间站点来运行所需要的程序。此外,假使有一个中间站点能够访问另一个严格受外,假使有一个中间站点能够访问另一个严格受控的站点或网络,入侵者可能会先攻击这个中间控的站点或网络,入侵者可能会先攻击这个中间站点,借助于中间站点主机对严格受控的站点或站点,借助于中间站点主机对严格受控的站点或进行攻击。进行攻击。(2)获取文件和传输中的数据)获取文件和传输中的数据 攻击者的目标是系统中的重要数据。攻击者可通过登上目标主机
3、,或是使用网络监听进行攻击。入侵者也会将当前用户目录下的文件系统中的/etc/hosts或/etc/passwd复制回去。(3)获取超级用户的权限 在局域网中,网络监听程序必需有UNIX系统超级用户的权限。因此,掌握了一台主机的超级用户权限,才可以说掌握了整个子网。有许多的系统是不允许其他的用户访问的,如一个公司、组织的网络。因此,必须以一种非常的行为来得到访问的权力。(4)对系统的非法访问(5)进行不许可的操作 许多的用户都有意无意地去尝试尽量获取超出允许的一些权限,便寻找管理员配置中的漏洞,或者找一些工具来突破系统的安全防线,例如,特洛伊木马就是一种用得很多的手段。(6)拒绝服务 拒绝服务
4、的方式很多,如将连接局域网的电缆接地;向域名服务器发送大量的无意义的请求,使得它无法完成从其他的主机来的名字解析请求;制造网络风暴,让网络中充斥大量的封包,占据网络的带宽,延缓网络的传输。(7)涂改信息 涂改信息包括对重要文件的修改、更换,删除,是一种很恶劣的攻击行为。不真实的或者错误的信息都将对用户造成很大的损失。(8)暴露信息 若攻击者直接发给自己的站点也可能被系统记录下来,暴露自己的身份和地址,于是攻击者窃取信息时,往往将这些信息和数据送到一个公开的FTP站点,或者利用电子邮件寄往一个可以拿到的地方,等以后再从这些地方取走。5.2.2 黑客入侵的一般步骤黑客入侵的一般步骤 基于以上目的,
5、黑客会对计算机网络系统进行各种各样的攻击。虽然他们针对的目标和采用的方法各不相同,但所用的攻击步骤却有很多的共同性。5.2.2 黑客入侵的一般步骤黑客入侵的一般步骤(1)(1)寻找目标主机并分析目标主机寻找目标主机并分析目标主机 在在internetinternet上能真正标识主机的是上能真正标识主机的是IPIP地地址,黑客利用域名和址,黑客利用域名和IPIP地址就可以顺利地找地址就可以顺利地找到目标主机,然后开始惧有关目标主机的有到目标主机,然后开始惧有关目标主机的有用信息。这些信息包括目标主机的硬件信息、用信息。这些信息包括目标主机的硬件信息、操作系统信息、运行的应用程序信息及目标操作系统
6、信息、运行的应用程序信息及目标主机所在网络的信息和用户信息主机所在网络的信息和用户信息(2)登录主机 第一种是获取账号秘码,黑客首先设法盗窃账户文件,然后进行破解,从中获得某些用户帐户和口令,再寻觅合适时机以此身份进入主机。第二种方法是利用某些工具或已知的系统漏洞系统登录目标主机。(3)得到超级用户权限,控制主机 如果黑客取得了普通用户的账号,就可以利用FTP、Telnet等工具进入目标主机。之后黑客会因为普通用户权限有限,而想方获得超级用户权力、进而成为目标主机的主要。(4)清除记录,设置后门 黑客获得目标主机的控制权后,会把入侵系统进的各种登录信息全部删除,以防目标系统的管理员发现。同时黑
7、客还会更改某些系统设置,在系统中置入特洛伊木马或其他一些远程控制程序,作为以后入侵该主机的“后门”。5.3 常见的黑客攻击技术常见的黑客攻击技术5.3.15.3.1口令攻击口令攻击所谓口令攻击是指使用某些合法用户的账号和口令登录到目标主机,然后再实施攻击活动。这种方法的前提是必须首先得到目标主机上某个合法用户的账号,然后再进行合法用户口令的破译。获得普通用户账号的方法很多,如利用目标主机的finger功能查询或从电子邮件地址中收集等。对口令进行破译的方法:(1)暴力破解。暴力破解基本上是一种被动攻击的方式。黑客在知道用户的账户号后,利用一些专门的软件强行破解用户口令,这种方法不受网段限限制,但
8、需要有足够的耐心和时间。这些工具软件可以自动地从黑客字典中取出一个单词一,作为用户的口令输入给远端的主机,申请进入系统。(2)登录界面攻击法。黑客可以在被攻击的主机上,利用程序伪造一个登录界面,以骗取用户的账号和密码。当用户在这个伪造四界面个键入登录信息后,程序可将用户的输入信息记录并传送到黑客的主机,然后关闭界面,给出提示信息“系统故障”或“输入错误”,要求用户重新输入。对口令进行破译的方法:(3)网络监听。黑客可以通过网络监听非法得到的用户口令,这类方法有一定的局限性,但危害性极大。由于很多网络协议根本就没有彩任何加密或身份认证技术,如在telnet、FTP、HTTP、SMTP等传输协议中
9、,用户账号和密码信息都是以文明格式传输的,此时若黑客利用数据包截取工具便可很容易收集到用户的账号和密码。另外,黑客有时还会利用软件和硬件工具时刻监视系统主机的工作,等待记录用户登录信息,从而取得用户密码。对口令进行破译的方法:(4)密码探测。大多数情况下,操作系统保存和传送和密码都要经过一个加密处理的过程,完全看不出原始密码的模样。而且理论上要逆向还原密码的几率几乎为零。但黑客可以利用密码探测的工具,反复模拟编程过程,并将编出和密码与加加密后的密码相比较,如果两者相同,就表示得到了正确的密码。对口令进行破译的方法:5.3.2 漏洞攻击漏洞攻击 漏洞的产生大致可分为有意和无意的两类。漏洞的产生大
10、致可分为有意和无意的两类。前者是在程序编写过程种,编程人员为了达到不前者是在程序编写过程种,编程人员为了达到不可告人的目的,有意的在程序的隐蔽处留下各种可告人的目的,有意的在程序的隐蔽处留下各种各样的后门。后者是由于编程人员的水平问题,各样的后门。后者是由于编程人员的水平问题,经验和当时安全技术加密方法所限,在程序中总经验和当时安全技术加密方法所限,在程序中总会或多或少的有些不足之处,有的影响程序的效会或多或少的有些不足之处,有的影响程序的效率,有的会导致非授权用户的权利提升。率,有的会导致非授权用户的权利提升。1漏洞攻击的位置(1)系统的对外服务,如“冲击波”病毒针对系统的“远程协助”服务;
11、“尼姆达”病毒由系统的“IPC漏洞”(资源共享)感染。(2)集成的应用软件,IE、Outlook Express、MSN Messager、Media Player这些集成的应用程序,都可能成为漏洞攻击的桥梁。2漏洞攻击实例(1)SMB致命攻击 会话消息块协议(Session Message Block,SMB)又叫做NetBIOS或Lan Manager协议,用于不同计算机之间文件、打印机、串口和通讯的共享和在Windows平台上提供磁盘和打印机的共享。利用该协议可以进行各方面的攻击,如可以抓取其他用户访问自己计算机共享目录的SMB会话包,然后利用SMB会话包登录对方的计算机。(2)Unic
12、ode攻击 Unicode漏洞是一个专门攻击IIS的漏洞,也是最容易让入侵者得手的一个漏洞,可以改掉默认主页,重则删除硬盘上的数据,高手甚至可以轻松获取Administrator权限。在Windows NT/2000最主要的Unicode漏洞一共有四种,分别针对不同语言的操作系统。分别为:%c1%1c、%c0%cf、%c1%pc、%c0%9v。3漏洞攻击的防范 防范利用漏洞攻击的最佳方式就是预先打好补丁,只要系统漏洞修复能和安全组织公布的漏洞信息以及厂商的补丁同步,网络内机器受攻击的可能性就越小,安全系数就越高。除了升级的方法外,一些工具软件这些软件一般定向保护系统的应用程序,针对“对外服务”
13、漏洞的较少。5.3.3 拒绝服务攻击拒绝服务攻击 拒绝服务拒绝服务Dos Dos(Denial of ServiceDenial of Service)的攻击是网络黑客)的攻击是网络黑客通过选取一个系统以进行攻击,并通过产生大量的服务需通过选取一个系统以进行攻击,并通过产生大量的服务需求以淹没该系统,并造成被攻击系统的瘫痪。求以淹没该系统,并造成被攻击系统的瘫痪。拒绝服务攻击是指一个用户占据了大量的共享资源,使系拒绝服务攻击是指一个用户占据了大量的共享资源,使系统没剩余的资源给其它用户再提供服务的一种攻击方式。统没剩余的资源给其它用户再提供服务的一种攻击方式。拒绝服务攻击的结果可以降低系统资源
14、的可用性。拒绝服务攻击的结果可以降低系统资源的可用性。5.3.4 放置特洛伊木马程序放置特洛伊木马程序 特洛伊木马的攻击手段,就是将一些“后门“,“特殊通道”隐藏在某软件里,使用该软件的计算机系统成为攻击的控制的对象。它可以直接侵入用户的电脑并进行破坏,它常被伪装成工具程序或都游戏等,诱使用户打开带有特洛伊木马程序的附件或从网上直接下载。从而达到控制用户的计算机的目的。5.3.5 缓冲区溢出攻击缓冲区溢出攻击 利用缓冲区溢出攻击,可以导致程序运行失败、系统当机、重新启动等后果。更为严重的是,可以利用它执行非授权指令,甚至可以取得系统特权,进而进行各种非法操作。1缓冲区溢出的原理 通过往程序的缓
15、冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击的目的。造成缓冲区溢出的根本原因是程序中缺少错误检测。1缓冲区溢出的原理 缓冲区溢出攻击之所以成为一种常见安全攻击手段的原因在于缓冲区溢出漏洞太普遍,并且易于实现。而且,缓冲区溢出漏洞给予了攻击者他所想要的一切:植入并且执行攻击代码。被植入的攻击代码以一定的权限运行有缓冲区溢出漏洞的程序,从而得到被攻击主机的控制权。2缓冲区溢出的漏洞和攻击 缓冲区溢出攻击的目的在于扰乱具有某些特权的程序的功能,这样可以使得攻击者取得程序的控制权,如果该程序具有足够的权限,那么整个主机就被控制了。攻击者必须达到两个目
16、标:(1)在程序的地址空间里安排适当的代码 利用已经存在的代码:利用已经存在的代码:有时,攻击者想要的代码已经在被攻击的程序中了,攻击者所要做的只是对代码传递一些参数。比如,攻击代码要求执行“exec(“/bin/sh”)”,而在libc 库中的代码执行的是“exec(arg)”,其中arg 是一个指向一个字符串的指针参数,那么攻击者只要把传入的参数指针改向指向”/bin/sh”就可以。当然这种情况并不是总能遇到,这时候就需要使用一种叫“植入法”的方式来安排攻击代码。植入法:攻击者向被攻击的程序输入一个字符串,程序会把这个字符串放到缓冲区里。这个字符串包含的内容是可以在这个被攻击的硬件平台上运
17、行的指令序列(机器码)。攻击者必须达到两个目标:堆栈(stack):存放当前程序信息和自动变量(就是局部变量,是指在函数内部说明的变量,生命期和函数一样),通常在程序执行时向下朝堆增长。堆(heap):动态分配的内存区,通常在程序执行时向上朝堆栈增长。BSS 段:它包含未初始化的全局可用的数据(例如,全局变量)。数据段:它包含初始化的全局可用的数据(通常是全局变量)。代码段(文本段):它包含只读程序代码。(2)控制程序转移到攻击代码的方法 最基本的就是溢出一个没有边界检查或者具有其它弱点的缓冲区,这样就扰乱了程序的正常的执行顺序。通过溢出一个缓冲区,攻击者可以用暴力的方法改写相邻的程序空间而直
18、接跳过了系统的检查。活动记录(Activation Records):每当一个函数调用发生时,调用者会在堆栈中留下一个活动记录,它包含了函数结束时返回的地址。攻击者通过溢出堆栈中的自动变量,使返回地址指向攻击代码,当函数调用结束时,程序就跳转到攻击者设定的地址,而不是原先的地址。这类的缓冲区溢出被称为堆栈溢出攻击(Stack Smashing Attack)。函数指针(函数指针(Function PointersFunction Pointers):):函数指针可以用来定位任何地址空间。例如:“void(*funcpointer)()”声明了一个返回值为void 的函数指针变量funcpoin
19、ter。所以攻击者只需在funcpointer 函数指针附近找到一个能够溢出的缓冲区,然后溢出这个缓冲区来改写funcpointer 函数指针。长跳转缓冲区(Longjmp buffers):在C 语言中包含了一个简单的检验/恢复系统,称为setjmp/longjmp。意思是在检验点设定“setjmp(buffer)”,用“longjmp(buffer)”来恢复检验点。像函数指针一样,longjmp缓冲区能够指向任何地方,所以攻击者所要做的就是找到一个可供溢出的缓冲区。(3)代码植入和流程控制技术的综合分析 最简单和常见的缓冲区溢出攻击类型就是在一个字符串里综合了代码植入和活动记录技术。攻击者
20、定位一个可供溢出的自动变量,然后向程序传递一个很大的字符串,在引发缓冲区溢出,改变活动记录的同时植入了代码。代码植入和缓冲区溢出不一定要在一次动作内完成。攻击者可以先在一个缓冲区内放置代码,这是不能溢出的缓冲区。然后,攻击者通过溢出另外一个缓冲区来改写程序转移的指针。这种方法一般用来解决可供溢出的缓冲区不够大(不能放下全部的攻击代码)的情况。(3)代码植入和流程控制技术的综合分析 如果攻击者试图使用已经常驻的代码而不是从外部植入代码,他们通常必须把代码作为参数调用。举例来说,在libc(几乎所有的C 程序都要它来连接)中的部分代码段会执行“exec(arg)”,攻击者首先使用缓冲区溢出改变程序
21、的参数arg,然后利用另一个缓冲区溢出使程序指针指向libc 中的特定的代码段,此代码段中包括exec(arg)。(3)代码植入和流程控制技术的综合分析3缓冲区溢出攻击的实例(1)Outlook 缓冲区溢出 Microsoft Outlook 和Outlook Express 的所有版本都存在一个缓冲区溢出问题。远程攻击者可能在接受邮件的主机上执行任意代码。这个安全问题出在Outlook 对邮件头中GMT(时区)域的处理部分。由于INETCOMM.DLL缺乏对GMT 域的长度检查,恶意用户可以构造一封特殊的邮件,在GMT 域输入一段很长的字符串,就会导致outlook 发生溢出.(2)微软的I
22、IS 4/5 缓冲区溢出 2000 年1 月,Cerberus 安全小组发布了微软的IIS 4/5(Internet Information Server)存在的一个缓冲区溢出漏洞。攻击该漏洞,可以使Web 服务器崩溃,甚至获取超级权限执行任意的代码。(3)微软的WebDav 溢出 WebDav 溢出也是缓冲区溢出的一个例子,WebDav 漏洞可通过IIS 来利用这个漏洞。但漏洞并不是IIS 造成的,而是ntdll.dll 里面的一个API 函数(RtlDosPathNameToNtPathName_U)造成的。这个溢出从本质上来说是一个短整型数溢出,而后导致了堆栈溢出,利用这个漏洞甚至可以获
23、得系统超级用户权限。4防范缓冲区溢出的根本方法 缓冲区溢出攻击占了远程网络攻击的绝大多数,这种攻击可以使得一个匿名的Internet用户有机会获得一台主机的部分或全部的控制权。如果能从根本上有效地消除缓冲区溢出的漏洞,则很大一部分的安全威胁可以得到缓解。从软件的角度来看,目前有四种基本的方法保护缓冲区免受缓冲区溢出的攻击和影响:(1)非执行的缓冲区通过使被攻击程序的数据段地址空间不可执行,从而使得攻击者不可能执行被植入被攻击程序输入缓冲区的代码,这种技术被称为非执行的缓冲区技术。非执行堆栈的保护可以有效地对付把代码植入自动变量的缓冲区溢出攻击,而对于其它形式的攻击则没有效果。从软件的角度来看,
24、目前有四种基本的方法保护缓冲区免受缓冲区溢出的攻击和影响:(2)编写安全正确的代码 编写正确的代码是一件非常有意义的工作,特别像编写C 语言那种风格自由而容易出错的程序,这种风格是由于追求性能而忽视正确性的传统引起的。尽管花了很长的时间使得人们知道了如何编写安全的程序,具有安全漏洞的程序依旧出现。(3)检查数组边界 数组边界检查能防止所有的缓冲区溢出的产生和攻击。为了实现数组边界检查,则所有的对数组的读写操作都应当被检查以确保对数组的操作在正确的范围内。可以使用Compaq公司专门为Alpha CPU开发的Compaq C编译器、Jones&Kelly的C的数组边界检查、Purify存储器存取
25、检查等等来检查。(3)检查数组边界 所有的缓冲区溢出漏洞都源于C 语言缺乏类型安全。如果只有类型安全的操作才可以被允许执行,这样就不可能出现对变量的强制操作。对于新手,推荐使用具有类型安全的语言如Java。但是Java 执行平台的Java 虚拟机是C 程序,因此也可使JVM 的缓冲区溢出来攻击Java 虚拟机。(4)程序指针完整性检查 程序指针完整性检查和数组边界检查有略微的不同,程序指针完整性检查在程序指针被引用之前检测到它的改变。因此,即使一个攻击者成功地改变了程序的指针,由于系统事先检测到了指针的改变,因此这个指针将不会被使用。堆栈保护:编译器生成的有效记录完整性检测 堆栈保护是一种提供
26、程序指针完整性检查的编译器技术,通过检查函数活动记录中的返回地址来实现。如果发生过缓冲区溢出的攻击,那么这种攻击很容易在函数返回前被检测到。但是,如果攻击者预见到这些附加字节的存在,并且能在溢出过程中同样地制造他们,那么他就能成功地跳过堆栈保护的检测。终止符号:利用在C 语言中的终止符号如0(null),CR,LF,-1(EOF)等不能在常用的字符串函数中使用,因为这些函数一旦遇到这些终止符号,就结束函数过程了。两种对付方案:随机符号:利用一个在函数调用时产生的一个32 位的随机数来实现保密,使得攻击者不可能猜测到附加字节的内容。而且,每次调用时附加字节的内容都在改变,无法预测。(5)程序指针
27、完整性检查与数组边界检查的比较 性能:边界检查必须在每个数组元素操作时完成一次检查。相比之下,程序指针检查只在被引用的时候实现检查。无论在C 还是在C+中,这种花在程序指针引用上的开销始终比数组的指针引用小。应用效率:边界检查最难实现之处在于在C 语言中,很能确定数组的边界。这是由于在C 中,数组的概念和通用指针的混用造成的。由于一个指针是一个独立的对象,没有与特定的边界条件关联,只有一个系统的机器字来存储它,而标识边界信息的资料却没有存放。数组的引用将不再是一个简单的指针,而是一个对缓冲区描述的指针组。(5)程序指针完整性检查与数组边界检查的比较 与现有代码的兼容性:一些边界检查方法为了与现
28、有的代码保持兼容而在系统的性能上得到了损失。而另一些则用别的方法达到目的。这样就打破传统的C 的转换规则,转而产生了一类新的C 编译器,只能编译C 的一个子集,有的还不能使用指针或者需要别的改变。(5)程序指针完整性检查与数组边界检查的比较(6)预防的具体措施 缓冲区溢出预防的措施有很多,下面列举了广为采取的一些建议。使用安全的操作系统/编译器 现代编程语言 谨慎使用C/C+库函数5软件用户如何防范缓冲区溢出(1)关闭不需要端口和服务 防范缓冲区溢出攻击的最简单方法是删除脆弱的软件。如果默认安装的软件在特定的环境下不需要,就应该关闭或删除这些软件、以及相应的端口和服务。(2)安装厂商的补丁或安
29、装软件的最新版本 多数情况下,一个缓冲区漏洞刚刚公布,厂商就会发布补丁或者将软件升级到新的版本。关注这些内容,及时的安装这些补丁或是新版本的软件,是非常有效的防范方法。(3)检查关键程序 在有些情况下,用户可以自行对程序进行检查,当然对所有的软件都进行检查是不可能的,但是对关键程序则是可行的。对这些关键程序花费额外的努力检测其脆弱性是值得的。5软件用户如何防范缓冲区溢出 (4)以需要的最少的权限运行软件 对于缓冲区溢出攻击,正确的配置所有的软件并使其运行在尽可能少的权限下是非常关键的。POLP要求,运行在系统上的所有程序软件或是使用系统的任何人,都应该赋予他们所需要的最少的权限,其它的权限一律
30、禁止。5软件用户如何防范缓冲区溢出 5.3.6 网络中的欺骗技术网络中的欺骗技术 欺骗技术是在网络中一个用户假冒另一个用户进行网络活动的一种行为,网络常见的欺骗技术有IP欺骗和会话劫持、邮件欺骗、Web欺骗、DNS欺骗和非技术性欺骗等。1IP欺骗和会话劫持 IP欺骗攻击就是伪造某台主机的IP地址,利用主机之间的正常信任关系发动的攻击。入侵者可以利用IP欺骗的技术获得对主机未授权的访问,因为他可以发出这样的IP包,自称来自内部地址。当目标主机利用基于IP地址的验证来控制对目标系统中的用户访问时,甚至可以获得普通用户或特权的权限。1IP欺骗和会话劫持 会话劫持也称为中间人攻击。攻击者首先寻找攻击目
31、标,监听并分析远程机器的ISN(初始序列号)规律,等待或者监听会话,然后猜测序列号,使被劫持方下线,攻击者接管会话。1IP欺骗和会话劫持 TCP协议使用三次握手建立TCP连接(即一个TCP会话)和终止一个会话,正常情况需要4条消息。从TCP会话的状态入手,要了解每一个方向上的SN(数据序列号),两个方向上的序列号是相互独立的。TCP数据包除了第一个SYN包之外,都有一个ack标志,给出了期待对方发送数据的序列号,所以,猜测序列号是成功劫持TCP会话的关键。2电子邮件欺骗 电子邮件欺骗的动机是隐藏发信人的身份,匿名信,挑拨离间,骗取敏感信息等。其欺骗的形式是使用类似的电子邮件地址,修改邮件客户软
32、件的账号配置,直接连到SMTP服务器上发信。由于SMTP协议极其缺乏验证能力,所以假冒某一个邮箱进行电子邮件欺骗并非一件难事。电子邮件欺骗成功的关键是基本的电子邮件协议不包括签名机制,任何一个人都可以连接到SMTP端口发一些假冒或乌有用户的邮件,邮件中就会很难找到跟发信者有关的真实信息,唯一能检查的是查看系统的log文件。找到这个信件是从哪里发出的。但事实上是很难找到伪造地址的人的。2电子邮件欺骗 保护电子信箱邮件的信息安全最有效的办法是使用加密的签名技术,例如使用PGP来验证邮件,通过验证可以保护到信息是从正确的地方发来的,而且在传送过程中不被修改。2电子邮件欺骗 3Web欺骗和域名欺骗We
33、b欺骗的根源在于Internet的开放性,并不是每个用户都清楚Web的运行规则。Web欺骗常见的形式有域名欺骗,改写URL,劫持Web会话等。域名欺骗是通过注册一个与目标公司或组织相似的域名,然后建立一个欺骗网站,骗取该公司的用户的信任,以便得到这些用户的信息。如果客户提供了敏感信息,那么这种欺骗可能会造成进一步的危害。对于从事商业活动的用户,应对这种欺骗提高警惕。3Web欺骗和域名欺骗一个HTTP页面从Web服务器到浏览器的传输过程中,如果其中的内容被修改了的话,则欺骗就会发生,其中最重要的是URL改写。要进行URL改写,通常的做法是入侵Web服务器修改页面、设置中间http代理、在传输路径
34、上截获页面并改写或在客户端装载后门程序等。URL改写可以把用户带到不该去的地方。3Web欺骗和域名欺骗5.4黑客工具。黑客工具。所谓黑客工具是指编写出来用于网络安全方面的工具软件,其功能是执行一些诸如扫描端口,防止黑客程序入侵,监测系统等功能,有些是用来防御,而有些则是以恶意攻击为目的攻击性软件,常见的有木马程序、病毒程序、炸弹程序等,另外还有一部分软件是为了破解某些软件或系统的密码.5.4.1 木马程序木马程序 一般的木马都有客户端和服务器端两个执行程序,其中客户端是用于黑客远程控制植入木马的机器的程序,服务端程序即是木马程序。如果黑客所要做的第一步就是要让木马的服务器端程序在你的计算机中运
35、行。一旦运行成功,木马程序就可以获得系统管理员的权限,在用户毫不觉察的情况下,对计算机做任何能做的事情。知名的木马程序介绍;冰河是一个优秀的国家木马程序,它功能众多,几乎涵盖了所有windows的常用操作。冰河的服务器端和客户端都是一个可执行的文件。这个程序在计算机上执行以后,该计算机的7626号端口就对外开放了。1冰河2蓝色火焰 蓝色火焰一款有实力、有新意的木马,它放弃了作为远程监控工具的客户端程序,直接利用现有网络相关的程序来控制服务器端。这一特色使蓝色火焰这个“没有客户端的木马”更新成为了许多黑客必备的工具之一。蓝色火焰的操作有别于正统木马的控制方式,蓝色火焰的运行颇为稳定,一般不会出现
36、非法操作现象。并可跨平台操作,支持WIN98、WIN2000、Unix、linux等操作系统。在使用蓝色火焰时,首先需配置服务端,其操作非常简单。其中19191为蓝色火焰默认端口,用户可以自定义,并加上登录密码。HTTP和FTP端口也可以按实际需要任意指定。在确认了蓝色火焰远程计算机的IP地址后,就可以在“运行”对话框中执行“telneTXXX.XXX.XXX.XXX19191命令,用telnet登陆远程计算机了。3灰鸽子 灰鸽子是一个功能强大的远程控制类软件,它与同类木马软件不同的是采用了“反弹端口原理“的连接方式,可以在互联网上访问到局域网内通过透明代理上网的电脑,并且可以穿过某些防火墙。
37、5.4.2扫描工具扫描工具 扫描工具是一种能够自动检测远程或本地主机安全弱点的程序,通过它可以获得远程计算机的各种端口分配及提供的服务和它们的版本。扫描器工作时是通过选用不同的TCP/IP端口的服务,并记录目标主机给予的应答,以此搜集到关于目标主机的各种有用信息的。superscan是一个功能强大的端口扫描工。它可以通过ping来检验目标计算机是否在线,支持IP 域名相互转换,还可以检验一定范围愉目标计算机的端口情况和提供的服务类别。Superscan可以自定义要检验端口,并可以保存为端口列表文件,它还自带了一个木马端口列表。2superscan1流光:流光是国内最的扫描、入侵工具,集端口扫描
38、、字典工具、入侵工具、口令猜解等多种功能于一身,界面豪华,功能强大!它支持163/169双通和多线程序检测,支持高效的用户流模式和高效服务器模式,可同时对多台POP3/FTP主机进行检测,阻塞线程具有自杀功能,不会影响其他线程。扫描器简介:3x-way2.5 x-way2.5是一个主要采用多线程形式对服务器系统进行漏洞扫描和安全测试的工具。同流光一样,它最大的特点也是高集成度,除了拥有类似流光中的IIS远程命令及SQL远程命令,还拥有流光目前不具备的一些功能。扫描器简介:1溯雪 溯雪可以利用ASP,CGI对免费信箱进行密码探测,其运行原理是,通过提取ASP,GGI页面表单,搜寻表单运行后的错误
39、标志,有了错误标志后,再挂上字典文件来破解信箱密码。溯雪主要是通过猜测生日的方法来实现,成功率可达60 70 。5.4.3 破解工具破解工具 网络刺客最大作用就是,当有人在局域网中使用的POP3、FTP telnet服务时,网络刺客II就可以截获其中的密码。网络刺客II已经实现了密码猜解功能。此外,网络刺客II还集成了一些相关的网络工具,包括有IP与主机名转换器,finger客户查询工具,主机端口扫描工具有及主机查找器,域名查找器,telnet客户端口程序等。5.4.3 破解工具破解工具2网络刺客网络刺客II3黑雨黑雨 黑雨是一款非常优秀的POP3邮箱密码暴力破解器。它可以验证用户名和密码是否
40、正确,并独创了深度和广度两种破解算法。深度算法是一种很特珠的算法,如果密码位数猜得准就可以将破解时间缩短30 70。广度算法是一种老实的算法,现大多数类似功能的工具都采用它,其对3位以短小密码非常有效。5.4.3 破解工具破解工具习题五习题五1黑客在进攻的过程中,需要经过哪些步骤,目的是什么?2网络黑客攻击方法有哪几种?简述黑客攻击和网络安全的关系。3简述缓冲区溢出攻击的原理。4利用三种不同的方法,入侵对方系统,并写入侵总结报告。(上机完成)5利用三种方法在对方电脑种植后门程序。(上机完成)6在对方电脑上种植冰河程序,并设置冰河的服务端口是8999,连接的密码是0987654321。(上机完成)