- 矛与盾:黑客攻防与脚本编程
- 武新华 陈艳艳 王英英等编著
- 697字
- 2021-03-28 21:46:53
第1章 黑客攻防知识
重点提示
♂ 黑客基础知识
♂ 常见的网络协议
♂ 创建安全测试环境
随着互联网对人们日常生活影响的深入,网络的安全问题也引起了人们高度关注。而黑客则是网络世界中很神秘的一类人,他们有时会义务去维护网络的安全,有时却又以网络破坏者的形象出现。
1.1 黑客基础知识
要成为一名合格的黑客,就必须对操作系统相关的知识有充分地了解,包括进程、端口、服务、文件、文件系统、常用的DOS命令和注册表等。只有充分了解了这些知识,才可以提高攻击的成功几率。
1.1.1 进程、端口和服务
一般情况下,计算机中的进程、端口和服务都会给黑客可趁之机,所以在深入了解黑客常用的攻击手段之前,有必要对他们使用的相关基础知识有初步的了解。
1.进程
进程是一个正在执行的程序。运行一个程序,就启动了一个进程。程序是静态的,进程是动态的。进程可以分为系统进程和用户进程两种。凡是用于完成操作系统的各种功能的进程就是系统进程,它们就是处于运行状态下的操作系统本身;用户进程就是所有由用户启动的进程。进程是操作系统进行资源分配的单位。
在Windows系统中按“Ctrl+Alt+Delete”组合键,即可打开【任务管理器】窗口。切换到“进程”选项卡,即可看到本机中开启的进程,如图1-1所示。如果想设置进程显示的内容,则选择【查看】→【选择列】菜单项,在【选择列】对话框中勾选相应的复选框,如图1-2所示。
图1-1 查看本机中开启的进程
图1-2 【选择列】对话框
2.端口
计算机“端口”是计算机与外界通信的出入口。其中硬件领域的端口又称接口,如USB端口、串行端口等;而软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,包括一些数据结构和I/O(基本输入/输出)缓冲区。
在网络技术中,端口有两种含义:一是物理意义上的端口,如集线器、交换机、路由器等用于连接其他网络设备的接口;二是逻辑意义上的端口,一般指TCP/IP协议中的端口,范围为0~65535,如浏览网页服务的80端口,用于FTP服务的21端口等。
对于使用Windows 2000以上版本的用户,不需要安装任何其他软件,利用“TCP/IP筛选”功能就可以实现服务器端口的限制。具体设置的操作步骤如下:
步骤1 右击“网上邻居”图标,在弹出的快捷菜单中选择“属性”选项,即可打开【网络状态】窗口。双击“本地连接”图标,即可打开【本地连接 状态】对话框,如图1-3所示。
图1-3 【本地连接 状态】对话框
步骤2 单击【属性】按钮,即可打开【本地连接 属性】对话框,在“此连接使用下列项目”列表中选择“Internet协议(TCP/IP)”选项,如图1-4所示。
图1-4 【本地连接 属性】对话框
步骤3 单击【属性】按钮,即可打开【Internet协议(TCP/IP)属性】对话框,如图1-5所示。单击【高级】按钮,即可打开【高级TCP/IP设置】对话框,如图1-6所示。
图1-5 【Internet协议(TCP/IP)属性】对话框
图1-6 【高级TCP/IP设置】对话框
步骤4 切换到“选项”选项卡,在“IP地址”列表中选择“TCP/IP筛选”选项之后,单击【属性】按钮,即可打开【TCP/IP筛选】对话框,如图1-7所示。
图1-7 【TCP/IP筛选】对话框
步骤5 勾选“启用TCP/IP筛选(所有适配器)”复选框,并选择左边的“只允许”单选按钮后,单击【添加】按钮,即可打开【添加筛选器】对话框,如图1-8所示。
图1-8 【添加筛选器】对话框
步骤6 在“TCP端口”文本框中输入允许开启的端口后,单击【确定】按钮,即可将只允许添加的端口开启。如果发现某个常用的网络工具不能起作用,只要知道它在主机中所需要调用的端口,再在“TCP /IP”中把此端口开启。
3.服务
实际上,每项服务都有一个具体的文件名,服务对应的文件一般存储在“C:\Windows\system32”中,其扩展名一般是.exe、.dll、.sys等。
在Windows XP系统中开启相应服务的操作步骤如下:
步骤1 依次选择【开始】→【设置】→【控制面板】菜单项,即可打开【控制面板】窗口。双击【管理工具】图标,即可打开【管理工具】窗口,如图1-9所示。
图1-9 【管理工具】窗口
步骤2 单击【服务】图标,即可打开【服务】窗口,如图1-10所示。在【运行】窗口中输入“services.msc”命令,也可以打开【服务】窗口。
图1-10 【服务】窗口
步骤3 在“服务”列表中可看到本机中所有的服务,右击要开启的“服务”,在弹出的快捷菜单中选择“属性”选项,即可打开该服务的【属性】对话框,如图1-11所示。
图1-11 选中服务的【属性】对话框
步骤4 在“启动类型”下拉列表中选择“自动”选项之后,单击【应用】按钮,即可激活【启动】按钮。单击【启动】按钮后再单击【确定】按钮,即可启用该服务对应的端口,如图1-12所示。
图1-12 启动选中的服务
1.1.2 文件和文件系统概述
文件是存储于外存储器中具有名字的一组相关信息集合,在Windows系统中所有的程序和数据均以文件形式存入磁盘。文件是由文件名和图标组成的,一种类型的文件具有相同的图标,文件名不能超过255个字符(包括空格)。
文件名由四个部分组成:[<盘符>][<路径>]<文件名>[<.扩展名>],其作用是惟一标识一个文件。文件名由1~8个字符组成,构成文件名的字符分为如下三类:
❑ 26个英文字母:a~z或A~Z。
❑ 10个阿拉伯数字:0~9。
❑ 一些专用字符:$、#、&、@、!、%、()、{}、-、-。
注意
文件名中不能使用“<”、“>”、“\”、“//”、“[“、”]”、“:”、“!”、“+”、“=”,以及小于20H的ASCII字符。另外,可根据需要自行命名文件,但不可与DOS命令文件同名。
操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统由三部分组成:与文件管理有关的软件、被管理的文件以及实施文件管理所需的数据结构。从系统角度来看,文件系统是对文件存储器空间进行组织和分配,负责文件的存储并对存入的文件进行保护和检索的系统。
文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构,即在磁盘上组织文件的方法。磁盘或分区和它所包括的文件系统的不同是很重要的。少数程序(包括最有理由的产生文件系统的程序)直接对磁盘或分区的原始扇区进行操作,这可能破坏一个存在的文件系统。一个分区或磁盘能作为文件系统使用前,需要初始化,并将记录数据结构写到磁盘上。这个过程就是建立文件系统。
1.1.3 DOS系统常用的命令
熟练掌握各种网络命令是黑客的基本功,下面介绍几个Windows系统自带的网络命令。只有熟悉使用这些命令,才可以为日后维护网络提供便利。
1.cd命令
在【命令提示符】窗口中提示符显示的目录就是当前的目录,如提示符显示的是“C:\”,则表示当前目录是C盘,其中“\”(反斜杠)就表示根目录。
可以使用“cd”命令来更改命令提示符所在的目录,具体的操作步骤如下。
步骤1 如果要更改当前目录,则可以用“cd”命令,如输入“cd c:\”命令,即可将提示符的目录设置为C:\,如图1-13所示。输入“cd Windows”命令,即可将提示符所在目录更改为C:\WINDOWS,如图1-14所示。
图1-13 将目录更改到C盘中
图1-14 将目录更改到“C:\WINDOWS”文件
步骤2 在【命令提示符】窗口中可使用“cd..”命令来返回上一级目录,此时输入“cd..”命令,即可返回到C盘的根目录中,如图1-15所示。
图1-15 返回到上一级目录中
步骤3 如果要更换当前目录到硬盘的其他分区,则可以直接输入盘符。例如,要到D盘,就需要输入“d:”命令,现在提示符就变成了D:\>,如图1-16所示。
图1-16 将目录更改到D盘中
步骤4 如果想更换目录到D盘的“Backup”文件夹中,则可以使用“cd backup”命令,如图1-17所示。在【命令提示符】窗口中依次运行“cd..”命令和“c:”命令,即可返回到C盘根目录中,如图1-18所示。
图1-17 将目录更改到“D:\Backup”文件夹
图1-18 返回到C盘根目录中
2.dir命令
dir是一个用来查看磁盘中包含文件的命令,同时dir命令以宽格式按字母顺序显示每个目录中匹配文件名的列表,而且每次满屏时暂停。Dir命令的使用步骤如下:
步骤1 在【命令提示符】窗口中运行“dir c:\windows”命令,即可在【命令提示符】窗口中列出C:\windows下的所有目录及文件,如图1-19所示。但这种方法有明显的缺点:当列表中的目录及文件过多时就无法完全显示,形如刷屏。
图1-19 查看C:\windows下的所有目录及文件
步骤2 为了完全显示C:\windows下的所有目录及文件,可以使用分页文件的形式来实现。此时运行“dir c:\windows /p”命令,即可在列出一屏的目录及文件后,提示“按任意键继续...”,如图1-20所示。按下任意键,即可查看下一屏文件,如图1-21所示。
图1-20 以分页形式列出文件
图1-21 按任意键查看下一屏文件
步骤3 在【命令提示符】窗口中输入“dir c:\windows /a:h”命令,即可查看该文件夹中的隐藏文件,如图1-22所示。参数“/a:文件属性”,就能显示出指定属性的文件,其中隐藏文件的属性为“h”,目录为“d”,系统为“s”,只读为“r”。
图1-22 查看文件夹中的隐藏文件
步骤4 如果想按字母顺序列出C:\windows下的所有目录及文件,则可在【命令提示符】窗口中运行“dir c:\windows /o:n”命令,如图1-23所示。其中“/o:排序方式”参数指定了dir命令显示命令结果时的排序方式,排序方式设为“n”即代表按照文件名的字母顺序排列。
图1-23 按字母顺序列出所有目录及文件
步骤5 也可指定排序方式为按照文件扩展名的字母顺序来找出特定扩展名文件。在【命令提示符】窗口中运行“dir c:\windows /o:e”命令,即可按照文件扩展名的字母顺序来显示其中包含的文件或文件夹,如图1-24所示。
图1-24 按照文件扩展名的字母顺序列出
所有目录及文件
3.ping命令
ping命令是Windows系统自带的一个功能强大的网络命令,用来检查网络是否通畅或者网络连接速度。作为一个黑客来说,ping命令是第一个必须掌握的DOS命令。只有在安装TCP/IP协议之后才能使用该命令。
可以使用ping命令来判断计算机的操作系统类型,在【命令提示符】窗口中输入“ping192.168.0.12”命令,其运行结果如图1-25所示。由于不同的操作系统的主机设置的TTL值是不同的,所以可以根据其中TTL值来识别操作系统类型。在一般情况下,Windows XP\Windows 2003对应的TTL值是128;Linux对应的TTL值为64;UNIX对应的TTL值是255。
图1-25 用ping命令判断目标主机的操作系统类型
使用“ping 192.168.0.12 –t –l 128”命令,可以不断向某台主机发出大量的数据包,如图1-26所示。当然只有一台主机上运行该命令并不会产生严重后果,但是如果多台计算机同时运行该命令,则会形成“洪水攻击”。
图1-26 使用ping命令向远程主机发送数据
4.netstat命令
netstat是DOS命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。netstat用于显示与IP、TCP、UDP和ICMP相关的统计数据,一般用于检验本机各端口的网络连接情况。其使用步骤如下:
步骤1 在【命令提示符】窗口中输入“netstat –n”或“netstat”命令,即可查看服务器活动的TCP/IP连接,如图1-27所示。
图1-27 查看服务器活动的TCP/IP连接
步骤2 在【命令提示符】窗口中输入“netstat –r”命令,即可查看本机路由信息内容,如图1-28所示。
图1-28 查看本机路由信息
步骤3 在【命令提示符】窗口中输入“netstat –a”命令,即可查看本机所有活动的TCP连接以及计算机侦听的TCP和UDP端口,如图1-29所示。
图1-29 显示本机所有活动的TCP连接
步骤4 一般用netstat -an命令来显示本机所有连接的端口及其状态,如图1-30所示。
图1-30 本机所有连接的端口以及其状态
5.ipconfig命令
ipconfig命令是网络管理员使用最频繁的命令,通常使用它显示计算机中网络适配器的IP地址、子网掩码及默认网关等信息。
如果想要查看计算机的IP地址信息,则在【命令提示符】窗口中运行“ipconfig”命令,如图1-31所示。若想查看所有适配器的完整TCP/IP配置信息,则在【命令提示符】窗口中运行“ipconfig/all”命令,在其中可以看到包括所有适配器的IP地址、子网掩码和默认网关,还包括主机的相关配置信息,如主机名、DNS服务器、结点类型、网络适配器的物理地址等信息,如图1-32所示。
图1-31 查看本地连接信息
图1-32 查看所有适配器的完整TCP/IP配置信息
6.tracert命令
该命令的作用是显示数据包到达目标计算机所经过的路径,并显示到达每个结点的时间。该命令适用于大型网络的测试。其命令格式:tracert [-d] [-h MaximumHops] [-j Hostlist] [-w Timeout] [TargetName],其中各个参数的含义如下:
❑ -d防止解析目标主机的名字,可以加速显示tracert命令结果。
❑ -h MaximumHops指定搜索到目标地址的最大跳跃数,默认值为30个跳跃点。
❑ -j Hostlist按照主机列表中的地址释放源路由。
❑ -w Timeout指定超时时间间隔,默认单位为毫秒。
❑ TargetName指定目标计算机。
如果想查看www.google.com的路由与局域网络连接情况,则在【命令提示符】窗口中输入“tracert www.google.com”命令,其显示结果如图1-33所示。
图1-33 查看google的路由与局域网络连接情况
7.nslookup命令
nslookup用于检测网络中DNS服务器是否能正确实现域名。一般情况下,只要用户设置好域名服务器,就可以使用这个命令查看不同主机的IP地址对应的域名。但该命令只能在安装TCP/IP的网络环境中使用。其命令格式:nslookup [IP地址或域名]。
要查看www.sina.com的IP地址,则在【命令提示符】窗口中输入“nslookup www.sina.com”命令,其显示效果如图1-34所示。
图1-34 查看新浪对应的域名
8.at命令
at是Windows 2000/WindowsXP中增加的命令行“任务计划管理器”,使用at命令可以使指定的命令或程序在指定的时间运行。使用at命令还可以管理远程计算机中的计划任务,在使用IPC入侵时,可以使用at命令来安排计划任务,让指定的程序在目标计算机中按指定的时间运行。
at命令的使用步骤如下:
步骤1 如果想在11:00运行程序“tm.exe”,则可在【命令提示符】窗口中运行“at 11:00 c:\tm.exe”命令,如图1-35所示。
图1-35 运行使“tm.exe”在11:00运行命令
步骤2 输入“at”命令,即可查看刚添加的计划任务的详细信息,如图1-36所示。
图1-36 查看刚添加的计划任务的详细信息
步骤3 如果想在每月的10号和20号的11:00点运行程序“tm.exe”,则可在【命令提示符】窗口中运行“at 11:00 /every:10,20 c:\tm.exe”命令,如图1-37所示。其中“/every”参数指定了每月的某个日志执行的命令,将date指定为星期的一天或多天(M、T、W、Th、F、S、Su),或月的一天或多天(使用1~31的数字)。
图1-37 运行使程序“tm.exe”在多个时间内运行
步骤4 输入“at”命令,即可查看该计划任务的详细信息,如图1-38所示。
图1-38 查看计划任务详细信息
的命令
步骤5 另外,使用at命令还可以实现定时关机的功能。在【命令提示符】窗口中运行“At 17:50 shutdown –s –T30”命令即可实现该功能,如图1-39所示。这样在17:50时就会弹出【系统关机】提示框,如图1-40所示。
图1-39 运行定时关机命令
图1-40 【系统关机】提示框
1.1.4 Windows注册表
通过注册表,用户可以添加、删除、修改系统内的软件配置信息或硬件驱动程序,这样就大大方便了用户对软、硬件的工作状态进行相应调整。对于功能如此强大的注册表,黑客会经常通过注册表来种植木马、删除系统文件以及改变硬件的工作状态。
在【注册表编辑器】窗口中可以对注册表文件进行删除、修改等操作。注册表包含有HKEY_LOCAL_MACHINE、HKEY_CLASSES_ROOT、HKEY_CURRENT_USER、HKEY_USERS以及HKEY_CURRENT_CONFIG等5个注册表根项,其名称和作用如表1-1所示。
表1-1 注册表根项名称及其作用
虽然在注册表中5 个根键看上去处于一种并列地位,彼此毫无关系。但事实上,HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG中存放的信息,都是HKEY_LOCAL_MACHINE中存放的信息的一部分;而HKEY_CURRENT_USER中存放的信息,只是HKEY_USERS存放的信息的一部分。HKEY_LOCAL_MACHINE包括HKEY_CLASSES_ROOT和HKEY_CURRENT_USER中所有的信息。Windows当前定义和使用的数据类型如表1-2所示。
表1-2 当前定义和使用的数据类型
1.2 常见的网络协议
在网络中,计算机之间需要交换信息就必须使用相同的网络协议。网络协议就像人们说话使用的某种语言一样,它是网络上计算机之间的一种语言。
1.2.1 TCP/IP
TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/互联网络协议)是Internet最基本的协议,是由网络层的IP协议和传输层的TCP协议组成的。主要用于规范网络上所使用的通信设备,也是一个主机与另一个主机之间数据的传送方式。在Internet中,TCP/IP是最基本的协议,是传输数据打包和寻址的标准方法。
TCP/IP允许独立的网络添加到Internet中或私有的内部网(Intranet)中。通过路由器(可以将一个网络的数据包传输给另一个网络的设备)或IP路由器等设备将独立的网路连接在一起,就构成了内部网。在使用TCP/IP的内部网中,数据将被分成独立的IP包或IP数据报数据单元进行传输。
TCP/IP通常被称为TCP/IP协议族。在实际应用中,TCP/IP是一组协议的代名词,它还包括许多别的协议,组成了TCP/IP协议族。其中比较重要的有SLIP、PPP、IP、ICMP、ARP、TCP、UDP、FTP、DNS、SMTP等。
1.2.2 IP
IP是为计算机网络相互连接进行通信而设计的协议。在因特网中,可以使连接到网络上的所有计算机实现相互通信,同时还规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只有遵守IP才可以与因特网互连互通。
IP地址就是给每个连接在Internet上的主机分配的一个32bit地址。每台连网计算机都依靠IP地址来标识自己。由于有这种惟一的地址,才保证了用户在联网的计算机上操作时,能够高效而且方便地从千千万万台计算机中选出自己所需的对象。
1.IP地址的基本格式
按照TCP/IP协议规定,IP地址用二进制来表示,每个IP地址长32bit,比特换算成字节,就是4个字节。例如,一个采用二进制形式的IP地址是“00001010000000000000000000000001”,这么长的地址,处理起来也太费劲了。为了方便使用,IP地址经常被写成四个十进制的数,中间使用符号“.”分开不同的字节。于是,上面的IP地址可以表示为“10.0.0.1”,这显然比1和0容易记得多。这种表示方法称作“点分十进制表示法”。IP地址格式:网络地址+主机地址或网络地址+子网地址+主机地址。
2.IP地址分配
在互联网中的每个接口有一个惟一的IP地址与其对应,该地址并不是采用平面形式的地址空间,而是具有一定的结构。一般情况下,IP地址可分为5大类,具体结构如图1-41所示。
图1-41 IP地址分类
从中不难得出如下结论:
❑ 在A类中,第一个段为网络位,后3段为主机位,其范围为1~127,如127.255.255.255;
❑ 在B类中,前两段是网络位,后两段为主机位,其范围为128~191,如191.255.255.255;
❑ 在C类中,前三段为网络位,后一段为主机位,其范围为192~223,如223.255.255.255;
❑ D类地址用于多播,也叫组播地址,在互联网上不能作为接点地址使用,其范围为224~239,如239.255.255.255;
❑ E类地址用于科学研究,也不能在互联网上使用,其范围为240~254。
1.2.3 ARP
ARP(Address Resolution Protocol,地址解析协议)的主要作用是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。ARP将局域网中的32位IP地址转换为对应的48位物理地址,即网卡的MAC地址,如IP地址是192.168.0.10,而网卡MAC地址为00-1B-7C-17-B0-79,整个转换过程是一台主机先向目标主机发送包含有IP地址和MAC地址的数据包,再通过MAC地址两个主机,就可以实现数据传输了。
1.ARP工作原理
计算机在相互通信时,实际上是互相解析对方的MAC地址。其具体的操作步骤如下:
步骤1 每台主机都会在自己的ARP缓冲区中建立一个ARP列表,来表示IP地址和MAC地址的对应关系。
步骤2 当源主机需要将一个数据包发送到目的主机时,会检查自己ARP列表中是否存在该IP地址对应的MAC地址。如果存在则将数据包发送到这个MAC地址;如果没有就向本地网段发起一个ARP请求的广播包,来查询此目标主机对应的MAC地址。此ARP请求数据包里包括源主机的IP地址、硬件地址以及目的主机的IP地址。
步骤3 网络中所有的主机收到这个ARP请求后,会检查数据包中的目的IP是否和自己的IP地址相同。如果不相同就忽略此数据包;如果相同,该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中。
步骤4 如果ARP表中已经存在该IP的信息,则将其覆盖,然后给源主机发送一个ARP响应数据包,告诉对方自己是它需要查找的MAC地址。
步骤5 当源主机收到这个ARP响应数据包后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。
2.查看ARP缓存表
在每台计算机中都保存着一个ARP缓存表,其中记录了局域网中其他IP地址对应的MAC地址,以便访问到正确的IP地址。ARP缓存表是可以查看的,也可以对其进行删除。在【命令提示符】窗口中输入“arp -a”命令可以查看ARP缓存表中的内容,如图1-42所示;而用“arp-d”命令可以删除ARP表中所有的内容,如图1-43所示。
图1-42 查看ARP缓存表中的内容
图1-43 删除缓存表中所有的内容
1.2.4 ICMP
ICMP(Internet Control Message Protocol,Internet控制消息协议)是TCP/IP协议族中的子协议,主要用于查询报文和差错报文。ICMP报文通常被IP层或更高层协议(TCP或UDP)使用;一些ICMP报文把差错报文返回给用户进程。通过IP包传送的ICMP信息主要用于涉及网络操作或错误操作的不可达信息。ICMP包发送是不可靠的,所以主机不能依靠接收ICMP包解决任何网络问题。
ICMP主要功能如下:
❑ 发现网络错误。可以发现某台主机或整个网络由于某些故障不可达。
❑ 通告网络拥塞。当路由器缓存太多数据包,由于传输速度无法达到它们的接收速度,将会生成ICMP源结束信息。对于发送者,这些信息将会导致传输速度降低。当然,更多ICMP信息生成也将引起更多的网络拥塞。
❑ 协助解决故障。ICMP支持echo功能,即在两个主机间一个往返路径上发送一个数据包。Ping是一种基于这种特性的通用网络管理工具,它将传输一系列的包,测量平均往返次数并计算丢失百分比。
❑ 通告超时。如果一个IP包的TTL降低到零,路由器就会丢弃此包,这时会生成一个ICMP包通告这一事实。TraceRoute是一个工具,它通过发送小TTL值的包及监视ICMP超时通告可以显示网络路由。
其实,在网络中经常会使用到ICMP,只不过大家觉察不到而已。如经常使用的用于检查网络通不通的ping命令,这个“ping”的过程实际上就是ICMP工作的过程。还有其他的网络命令如跟踪路由的tracert命令也是基于ICMP的。
ICMP对于网络安全具有极其重要的意义。ICMP本身的特点决定了它非常容易被用于攻击网络上的路由器和主机。可以利用操作系统规定的ICMP数据包最大尺寸不超过64KB这一规定,向主机发起“Ping of Death”(死亡之Ping)攻击。
1.3 创建安全测试环境
在黑客攻防技术中,每种技术都只能针对该种相应漏洞的主机才有效。在没有通用的入侵与防范技术的情况下,每种入侵与防范技术的成功都需要一定的环境。
1.3.1 安全测试环境概述
安全测试环境千变万化,如果不能了解平台的特点,在安全实践中就会寸步难行。因此,黑客测试平台是整个安全工作中的重要组成部分。很多用户都喜欢关注最新的安全漏洞信息和最新的安全文摘,但也会对一些公布的漏洞无计可施。不是因为其技术水平低,而是因为没有精力同时兼顾多种计算机环境。
在Internet浏览器中打开绿盟科技平台的主页面(http://www.nsfocus.net/),就可以看到不同操作系统下的漏洞信息,如图1-44所示。任意打开一个最新的漏洞描述页面,就可以在“所有系统”下拉列表中看到各种平台,如图1-45所示。出现这种问题的根源在于:没有一个完整的平台来实现这些安全漏洞的编译和测试。
图1-44 绿盟科技首页
图1-45 不同操作系统的漏洞信息
面对种类繁多的测试平台,如果仅限于当前的Windows系统是不行的,此时就需要通过虚拟机软件来解决这些问题。虚拟机是一种可以在一台计算机上模拟出很多台计算机,每台计算机都可以运行独立的操作系统的软件。它可以在计算机平台和终端用户之间建立一种环境,而终端用户基于这个环境来进行各种操作。
1.3.2 虚拟机软件概述
当安装的虚拟系统崩溃后,可直接在本机中将其所在的文件删除而不影响本机系统。同样,本机系统崩溃后也不影响虚拟系统,可以下次重装后再加入以前做的虚拟系统。同时,它也是惟一能在Windows和Linux主机平台上运行的虚拟计算机软件。虚拟机软件不需要重开机,就能在同一台电脑使用多个操作系统,不但方便,而且安全。常见的虚拟机分为VMware和Virtural PC两种,其中使用VMware的人数比较多。
每个虚拟机由一组虚拟化设备构成,其中,每个虚拟机都有对应的虚拟硬件。下面简单介绍VMware中的几个最常见的虚拟硬件设备:
❑ 网卡——虚拟网卡用于HOST OS(主系统)和GUEST OS(子系统)之间的通信,它可以建立标准的TCP/IP或NETBEUI桥梁。在虚拟机中,网卡品牌很大众化,Windows系统和Linux系统都能自动识别并驱动。
❑ 显卡——VMware将显卡模拟成了“VMware SVGA(FIFO)”,并自带了这种显卡的驱动程序,安装之后可以增加虚拟系统的分辨率和颜色数。
❑ 驱动器——虚拟软驱和光驱比较简单,基本上就是和主系统共用,将光盘放进去就可以直接读取。
❑ 硬盘——IDE(Integrated Drive Electronics,集成驱动器电子,通常IDE是指硬盘等设备的一种接口技术)有virtual disk和existing partition两种方式。使用第一种方式时,在真正的硬盘上建立一个文件作为虚拟机的整个硬盘。其优点在于:在虚拟机中的任何操作都在该文件中进行,而不会影响到真正系统的数据;当采用第二种方式时就需要开放真正的分区给虚拟机使用。这样,已有的系统可以直接运行,但是可能会影响硬盘上的有用数据。
❑ 声卡——声卡在虚拟机中被模拟为兼容性较好的一种型号,几乎全部操作系统都能自行识别并驱动。
不难看出:虚拟机中的硬件和实际硬件并不完全一样,虚拟机为了保证系统的兼容性和稳定性,将现有硬件都虚拟成为了标准、兼容性最好的硬件,所以最好不要按照实际硬件情况来配置系统,而且在虚拟机中也不能安装任何驱动程序。
1.3.3 用VMware创建虚拟环境
VMware Workstation专业虚拟机软件具有使用简单、容易上手等优点,可以使用户在一台机器上同时运行一个或更多Windows、DOS、Linux系统。VMware是真正“同时”运行多个操作系统在主系统的平台上,就像标准Windows应用程序之间那样进行切换,而且每个操作系统都可以进行虚拟的分区、配置而不影响真实硬盘的数据。甚至可以通过网卡将几台虚拟机用网卡连接为一个局域网。
1.安装虚拟机6.5.2
如果安装环境符合VMware软件的运行要求,在下载VMware软件并获得注册码后,就可以进行安装了。安装虚拟机6.5.2的具体操作步骤如下:
步骤1 双击安装文件即可启动自动安装程序,同时可以看到弹出的【VMware产品安装】提示框,如图1-46所示。
图1-46 【VMware产品安装】提示框
步骤2 待初始化完毕后,即可看到【VMware安装向导】对话框,如图1-47所示。单击【Next】按钮,即可打开【Setup Type(安装类型)】对话框,在其中选择“Typical”单选项,如图1-48所示。
图1-47 【VMware安装向导】对话框
图1-48 【Setup Type(安装类型)】对话框
步骤3 单击【Next】按钮即可打开【Destination Folder(目标文件夹)】对话框,如图1-49所示。单击【Change(更改)】按钮,即可打开【Change Current Destination Folder(更改当前目标文件夹)】对话框,如图1-50所示。
图1-49 【目标文件夹】对话框
图1-50 【更改当前目标文件夹】对话框
步骤4 在其中设置虚拟机安装的目标文件夹后,单击【OK】按钮返回【Destination Folder(目标文件夹)】对话框,此时可以看到设置的目标文件夹,如图1-51所示。
图1-51 设置的目标文件夹
步骤5 单击【Next】按钮,即可打开【Configure Shortcuts(选择快捷方式)】对话框,在其中根据实际需要选择相应的复选框。这里勾选全部复选框,如图1-52所示。
图1-52 【Configure Shortcuts(选择快捷
方式)】对话框
步骤6 单击【Next】按钮,即可打开【Ready to Install the Program(准备安装程序)】对话框,如图1-53所示。单击【Install】按钮,即可自动进行安装,如图1-54所示。
图1-53 【准备安装】对话框
图1-54 【自动安装】界面
步骤7 在安装过程中,会弹出【Registration Information(注册信息)】对话框,在其中根据提示输入用户名、公司名称、安装序列号等内容,如图1-55所示。在输入完毕之后,单击【Enter】按钮,即可看到【安装完成】对话框,如图1-56所示。
图1-55 【注册信息】对话框
图1-56 【安装完成】对话框
步骤8 单击【Finish】按钮,即可看到【重启计算机】对话框,如图1-57所示。单击【Yes】按钮,在计算机重新启动系统之后,VMware虚拟机软件就安装成功了。
图1-57 【重启计算机】对话框
步骤9 右击“网上邻居”图标,在弹出的快捷菜单中选择“属性”选项,即可打开【网络连接】窗口,在其中可以看到VMware Workstation添加的两个网络连接,如图1-58所示。
图1-58 【网络连接】窗口
步骤10 右击“我的电脑”图标,在弹出的快捷菜单中选择“属性”选项,即可打开【系统属性】对话框,如图1-59所示。切换到“硬件”选项卡,在“设备管理器”选项组中单击【设备管理器】按钮,即可打开【设备管理器】窗口,此时在“网卡”项目下就可以看到多出两块虚拟网卡,如图1-60所示。这样,就可以在VMware下使用虚拟网卡进行联网设置和试验了。
图1-59 【系统属性】对话框
图1-60 【设备管理器】窗口
2.创建虚拟机
在虚拟软件安装完毕之后,就可以在安装的虚拟机上新建虚拟操作系统了。具体的操作步骤如下:
步骤1 如果是第一次启动VMware虚拟机软件,双击桌面的VMware快捷图标,即可打开【License Agreement(批准协议)】对话框,在其中选择“Yes,I accept the terms in the license agreement(我接受批准协议中的条款)”单选按钮,如图1-61所示。
图1-61 【批准协议】对话框
步骤2 在选择完毕之后,单击【确定】按钮,即可进入【VMware】主窗口,如图1-62所示。选择【File(文件)】→【New(新建)】→【WMware(虚拟机)】菜单项,即可打开【New Virtual Machine Wizard(新建虚拟机向导)】对话框,如图1-63所示。选择“Typical(recommend)”单选按钮,即使用典型模式创建一个虚拟机。
图1-62 【VMware】主窗口
图1-63 【新建虚拟机向导】对话框
步骤3 单击【Next】按钮,即可打开【Guest Operating System Installation(操作系统安装方式)】对话框,如图1-64所示。该版本虚拟机提供光驱安装、系统ISO映像安装和以后安装等三种安装方式。把系统光盘放在光驱中选择“Installer disc(光驱安装)”单选按钮,即可自动探测出要安装操作系统的版本信息。
图1-64 【操作系统安装方式】对话框
步骤4 单击【Next】按钮,即可打开【Easy Install Information(输入Windows安装信息)】对话框,如图1-65所示。在其中输入所安装系统的安装序列号、用户名称、登录密码等信息,以便在安装系统时自动加载,从而实现安装系统的无人值守功能。
图1-65 【输入Windows安装信息】对话框
步骤5 单击【Next】按钮,即可看到【是否继续】提示框,如图1-66所示。该提示框的作用是提醒用户,输入的信息可能与虚拟机中的账户冲突,在以后安装的过程中将要求用户再输入一个新的名称。
图1-66 【是否继续】提示框
步骤6 单击【Yes】按钮,即可打开【Name the Virtual Machine(虚拟机名称)】对话框。在其中的“Virtual machine name(虚拟机名称)”文本框中输入虚拟机的名称,如图1-67所示。
图1-67 【虚拟机名称】对话框
步骤7 单击“Locatien(位置)”文本框后面的【Browse(浏览)】按钮,即可打开【浏览文件夹】对话框,在其中选择该虚拟机文件的存放位置,如图1-68所示。单击【确定】按钮返回到【虚拟机名称】对话框中,即可看到相应的设置,如图1-69所示。
图1-68 【浏览文件夹】对话框
图1-69 【虚拟机名称】对话框
步骤8 单击【Next】按钮,即可打开【Specify Disk Capacity(指定磁盘容量)】对话框,在其中根据实际情况设置磁盘大小和相应选项,如图1-70所示。
图1-70 【指定磁盘容量】对话框
步骤9 单击【Next】按钮,即可打开【Ready to Create Virtual Machine(虚拟机已被正确创建)】对话框,在其中可以看到要创建虚拟的信息,如图1-71所示。
图1-71 【虚拟机已被正确创建】对话框
步骤10 如果确定信息无误,单击【Finish(完成)】按钮,即可在【VMware Workstation】窗口中看到新创建的虚拟机,如图1-72所示。此时在【VMware Workstation】窗口左侧单击刚创建的虚拟机,即可在右窗格中看到建立的主机的软件和硬件信息。
图1-72 刚创建的虚拟机
步骤11 如果想对刚创建的虚拟机进行设置,则可在【VMware】主窗口中单击“Edit virtual machine settings(编辑虚拟机设置)”超链接按钮,即可打开【virtual machine settings(虚拟机设置)】对话框,在其中对内存、硬件、USB接口、声音等属性进行设置,如图1-73所示。
图1-73 【虚拟机设置】对话框
步骤12 在本地计算机中打开刚创建虚拟机所在的文件夹,在其中可以创建的系统文件如图1-74所示。如果创建的虚拟机感染了病毒,将该文件夹直接删除,再重新创建一个虚拟机就可以实现保护计算机的目的。
图1-74 查看创建的虚拟机文件
3.在虚拟机中安装操作系统
在新建虚拟机之后,还需要在新建的虚拟机中安装操作系统,才可使新建的虚拟机运行起来。下面以Windows XP操作系统的安装为例,讲述一下利用系统光盘在新建虚拟机中安装操作系统的具体操作。
具体的操作步骤如下:
步骤1 在虚拟机中启动计算机并按“Del”键进入BIOS设置界面,将第一启动设置为“DVD-ROM”,将Windows XP系统安装光盘放在光驱中,单击【VMware Workstation】窗口中的启动 按钮,即可看到【Windows XP Professional】提示框,如图1-75所示。
图1-75 【Windows XP Professional】提示框
步骤2 单击【OK】按钮,即可启动安装Windows XP SP3操作系统指导界面,如图1-76所示。按照实际安装操作系统的方法进行安装,安装完毕的操作系统窗口如图1-77所示。
图1-76 安装Windows XP SP3操作系统界面
图1-77 安装的虚拟操作系统
步骤3 在虚拟机操作系统中通过“cmd”命令打开【命令提示符】窗口,在其中输入“ipconfig”命令,即可查看到安装虚拟系统的IP地址,如图1-78所示。在本地计算机中可以访问虚拟机的IP地址,在虚拟机中也可以访问本地计算机,即虚拟机系统作为一个独立的网络结点了。
图1-78 获得虚拟机的IP地址等信息
1.3.4 安装虚拟工具
虚拟机工具(VMware Tools)的作用是鼠标从虚拟机移到本机计算机上不用按“Ctrl+Alt”组合键,还可以将真机的文件直接复制到虚拟机上。安装虚拟工具具体的操作步骤如下:
步骤1 在【VMware Workstation】窗口中,选择【VMware】→【Install VMware Tools】菜单项,即可启动虚拟工具安装程序,如图1-79所示。
图1-79 启动虚拟工具安装程序
步骤2 在虚拟工具安装程序初始化完毕之后,即可打开【VMware Tools安装向导】对话框,如图1-80所示。
图1-80 【VMware Tools安装向导】对话框
步骤3 单击【下一步】按钮,即可进入【安装类型】对话框,在其中根据实际情况选择相应的安装类型,如图1-81所示。
图1-81 【安装类型】对话框
步骤4 单击【下一步】按钮,即可进入【已准备好安装程序】对话框,如图1-82所示。单击【安装】按钮,即可自动进行安装。
图1-82 【已准备好安装程序】对话框
步骤5 在安装完毕之后,即可弹出【安装向导完成】对话框,如图1-83所示。
图1-83 【安装向导完成】对话框
步骤6 单击【完成】按钮,即可看到【是否重新启动计算机】提示框,如图1-84所示。
图1-84 【是否重新启动计算机】提示框
步骤7 单击【确定】按钮,即可自动启动。虚拟系统重新启动之后,如果可以任意移动鼠标,则说明虚拟工具已经成功安装了。
1.3.5 在虚拟机上假设IIS服务器
IIS(Internet Information Server,互联网信息服务)作为一种Web(网页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。
1.在虚拟机中安装IIS服务器
在虚拟机中的操作系统中也可以安装IIS服务器,这里以在VMware中建立的Windows XP操作系统为例,介绍IIS服务器安装和配置过程。具体的操作步骤如下:
步骤1 在Windows XP系统的【控制面板】窗口中,双击“添加/删除程序”选项,即可打开【添加或删除程序】窗口,如图1-85所示。
图1-85 【添加或删除程序】窗口
步骤2 单击【添加/删除Windows组件】按钮,即可打开【Windows组件向导】对话框,在其中勾选“Internet信息服务(IIS)”复选框以设置IIS信息,如图1-86所示。
图1-86 【Windows组件向导】对话框
步骤3 单击【详细信息】按钮,即可弹出【Internet信息服务(IIS)】对话框,在其中取消默认的“SMTP Service”服务和“FTP”服务,如图1-87所示。
图1-87 【Internet信息服务(IIS)】对话框
步骤4 在设置完毕之后,单击【确定】按钮,即可返回到【Windows组件向导】对话框中。此时在光驱中插入Windows系统安装光盘,单击【下一步】按钮,即可开始IIS服务器的安装,其安装进度如图1-88所示。
图1-88 【Windows组件向导正在配置组件】对话框
步骤5 在IIS服务器安装完成之后,将会在【Windows组件向导】对话框中出现相应的提示信息,如图1-89所示。
图1-89 【Windows组件向导】对话框
2.在虚拟机中配置IIS服务器
在IIS服务器附加完毕之后,往往还需要进行配置IIS服务器的操作。为了方便用户,在此介绍在虚拟机中的Windows XP操作系统下配置IIS服务器的方法。具体的操作步骤如下:
步骤1 在Windows系统的【控制面板】窗口中双击【管理工具】图标,即可打开【管理工具】窗口,如图1-90所示。
图1-90 【管理工具】窗口
步骤2 双击【Internet信息服务】图标,即可打开【Internet信息服务】窗口,单击“本地计算机”前的“+”号,和其下属结点“网站”前的“+”号,如图1-91所示。
图1-91 【Internet信息服务】窗口
步骤3 在“默认网站”结点上右击,在弹出的快捷菜单中选择【属性】选项,即可打开【默认网站属性】对话框,如图1-92所示。在【网站】选项卡中,选择“IP地址”下拉列表框中本机的IP地址(如机器的IP地址为192.168.0.20)之后,单击【确定】按钮,即可完成对网站IP地址的设置。
图1-92 【默认网站属性】对话框
步骤4 在IE浏览器地址栏中输入本机的IP地址,即可打开默认网页,但有时会出现【连接到192.168.0.20】对话框,如图1-93所示。
图1-93 【连接到192.168.0.20】对话框
步骤5 出现这种情况的原因在于设置权限的不正确。在【默认网站 属性】对话框中切换到“目录安全性”选项卡下,单击其中的【编辑】按钮,即可打开【身份验证方法】对话框,如图1-94所示。在其中勾选“匿名访问”复选框和“允许IIS控制密码”复选框后,单击【确定】按钮,即可设置正确的权限。
图1-94 【身份验证方法】对话框
1.3.6 在虚拟机中安装网站
在设置好IIS服务器并安装了动态域名解析客户端后,就可以安装网站了。要安装的网站可以是自己编辑网站程序,也可以是从网上下载完整的源程序。常见安装网站的方法有解压安装和程序安装两种。
1.解压安装法
解压安装法是目前安装网站最简单的方法,很多论坛网站都是用这种方法安装的。在网上下载网站源程序并将压缩包解压之后,就可以进行安装网站的操作了。
在虚拟机中安装网站的具体操作步骤如下:
步骤1 在【Internet信息服务】窗口中右击“默认网站”图标,在弹出的快捷菜单中选择“属性”选项,即可打开【默认网站 属性】对话框,切换到“主目录”选项卡,在“本地路径”文本框中输入下载网站源文件所在的位置,如图1-95所示。
图1-95 “主目录”选项卡
步骤2 切换到“文档”选项卡,在“默认文档”栏中可以看到各种默认的文档,如图1-96所示。
图1-96 “文档”选项卡
步骤3 勾选“启用默认文档”复选框后单击【添加】按钮,即可打开【添加默认文档】对话框,在“默认文档名”文本框中输入新添加的文档名index.asp,如图1-97所示。
图1-97 【添加默认文档】对话框
步骤4 单击【确定】按钮,即可关闭【添加默认文档】对话框,此时在“默认文档”列表中可看到新添加的index.asp,如图1-98所示。
图1-98 添加的默认文档
步骤5 在【Internet信息服务】窗口中将安装后默认存在的几个虚拟目录(“IISHelp”和“Printers”)删除,在本地计算机的浏览器地址中输入虚拟机IP地址,即可打开刚安装的网站。
2.程序安装法
使用程序安装法安装网站与安装普通软件的基本操作过程是一样的,都是先从网上下载安装程序,再进行安装。这里以安装动网论坛为例,具体的操作步骤如下:
步骤1 下载并解压动网论坛程序,在【Internet信息服务】窗口中把虚拟目录设置为动网论坛所在的文件夹,运行安装程序dvbbs.exe,即可打开【动网先锋软件(Aspsky.Net)安装】对话框,如图1-99所示。
图1-99 【动网先锋软件(Aspsky.Net)安装】对话框
步骤2 在选择安装目标文件夹之后,单击【安装】按钮,即可完成对动网论坛的安装,待安装完毕后,打开安装好的网站文件夹,如图1-100所示。
图1-100 安装完毕后的动网论坛文件
1.4 必要的黑客攻防知识
事物的作用都是一分为二的,如现在网络流行的扫描软件,在管理员手中可用来检测系统漏洞,防范于未然;而对于“黑客”来讲,它是用来寻找攻击入口,为入侵工作做准备的必备工具。
1.4.1 常见的黑客攻击流程
黑客入侵主要是为了成为目标主机的主人,能够获得一台网络主机的超级用户权限,才达到了入侵的目的。比如说修改服务配置、安装木马程序、执行任意程序等。虽说现在网络安全日新月异,旧的安全漏洞被补上,新的漏洞也会随之出现。网络攻击正是利用这些安全漏洞和缺陷对系统和资源进行攻击的。下面介绍黑客攻击的基本流程:
(1)隐藏自己的行踪。黑客入侵就是要神不知鬼不觉地侵入到目标主机,因此,在入侵之前要对自己做个伪装,不能让被攻击者轻易发现。在进行网络攻击之前,先将自己真实的IP地址隐藏,一般攻击者都是利用他人电脑来隐藏自己真实的IP,也有一些高手会通过800电话的无人转接服务连接ISP,再套用他人的账号进行伪装。
(2)查询分析目标主机。攻击要有目标,在Internet中IP地址就能够真正标识一个主机,而域名是为了更好地对IP地址进行记忆管理的另一种表示方式,这样利用域名和IP地址就能够确定目标主机了。确定了目标主机之后,就可以对其操作系统类型及所提供的服务等信息,做一个全方位的分析了解。
一般攻击只用一些扫描器工具,了解目标主机所使用的操作系统类型及其版本、系统开放了哪些用户、Web等服务器程序版本信息等,为入侵做好充分准备。
(3)获取权限用户进行入侵。获得目标主机权限用户是入侵的最基本手段,攻击者要先设法盗取目标主机的账户文件进行破解,来得到权限用户的账号和密码,再寻找合适时机以此身份登录主机。一般攻击者都是通过一些黑恶攻击或系统漏洞登录目标主机的。
(4)留下后门和清除记录。在获取权限用户之后,就可以顺利登录目标主机系统,从而获得控制权。留下后门和清除记录可以方便攻击者以后不被察觉地再次入侵该目标主机。
其实所谓后门只是一些木马程序或预先编译好的远程操纵程序,将这些程序修改时间和权限传输到目标主机隐秘的地方藏起来就可以了。一般攻击者喜欢使用rep传输文件,以免被被攻击者发现。攻击者还要使用清除日志、删除复制的文件等方法清除自己的记录,隐藏好自己的踪迹。
(5)窃取网络资源。成功入侵了目标主机,该主机的所有资料都将呈现在自己面前,此时即可下载有用资料(如一些重要的账号密码),甚至可使该主机及其所在的网络瘫痪。
1.4.2 常用的网络防御技术
在浩瀚的网络世界里,当用黑客技术攻击别人时,说不定自己也正在被某个黑客当作攻击目标。只有将黑客有可能攻击的弱点保护起来,才有可能保证自己“大本营”的安全。
下面针对黑客常用攻击手段介绍几种常用的防范方法。
1.协议欺骗攻击的防范措施
黑客攻击手段中有一种是利用协议欺骗来窃取报文的,要防止源IP地址欺骗的攻击方式,可采用如下几种方法:
❑ 加密法。对发送到网络之前的数据包进行加密,在加密过程中要求适当改变网络配置,但应能够保证发送数据的完整性、真实性和保密性。
❑ 过滤法。配置路由器使其拒绝网络外部与本网段内具有相同IP地址的连接请求。而且当数据包的IP地址不在本网段内,路由器就不会将本网段主机的数据包发送出去。但路由器过滤也只是对来自于内部网络的外来数据包起到作用,对于网络内存在的外部可信任主机就没有办法过滤了。
2.拒绝服务攻击的防范措施
在拒绝服务攻击中,SYN Flood攻击是典型的攻击方式,为了防止拒绝服务攻击,可以采取如下防御措施:
❑ 在路由器上配置和调整限制SYN半开数据包的数量和个数。
❑ 防止SYN数据段攻击,可对系统设置相应的内核参数,对超时的SYN请求连接数据包使系统强制复位,缩短超时常数和加长等候队列,使得系统能够及时处理无效的SYN请求数据包。
❑ 在路由器的前端做必要的TCP拦截,只有经过完成三次握手过程的数据包才能通过该网段,有效保护本网段的服务器不被其攻击。
❑ 管制可能产生无限序列的服务来防止信息淹没攻击。
其实最好的方法就是找出正在进行攻击的机器和攻击者,但这却不是那么容易。因为对方一旦停止了攻击行为,就很难再发现其踪迹了。唯一可行的方法就是在其进行攻击时,采用回溯法根据路由器的信息和攻击数据包特征来查找攻击源头。
3.网络嗅探的防范措施
对于使用网络嗅探的方法检测自己系统的攻击者,可以采用如下措施进行防范:
❑ 网络分段。一组共享底层和线路机器(如交换机、动态集线器和网桥等设备)可以组成一个网络段。在一个网络段中可以对数据流进行限制,从而达到防止嗅探工具的目的。
❑ 加密。可以对数据流中的部分数据信息进行加密,也可以对应用层加密,不过应用层的加密将使大部分网络和操作系统相关的信息失去保护。因此,需要根据信息的安全级别及网络安全程序选择使用何种加密方式。
❑ 一次性密码技术。这里所使用的密码将不会在网络中传输,而是直接在传输两端进行字符串的匹配,因此,客户端可利用从服务器上得到的Challenge和自身密码,计算出一个字符串并将其返回给服务器,服务器利用比较算法对其进行匹配,如果匹配将允许建立连接,所有Challenge和字符串都只能使用一次。
❑ 禁止杂错结点。防止IBM兼容机进行嗅探可以安装不支持杂错的网卡。
4.缓冲区溢出攻击的防范措施
缓冲区溢出是属于系统攻击的手段,主要是通过向程序的缓冲区写入冗长的内容达到缓冲区溢出限制,从而破环程序的堆栈,使程序转而执行其他指令,而达到攻击的目的。
对缓冲区溢出攻击的防御可以采用如下几点:
❑ 程序指针检查。在使用指针被引用之前先检测该程序指针是否被发生了改变。只要系统事先检测到指针的改变,此指针将不会被使用。
❑ 堆栈保护。这是提供程序指针完成性检测的一种编译器技术,在程序指针堆栈中函数返回的地址后面追加一些特殊的字节,在函数返回时先检测这些附加的字节是否被改动,因此,这种攻击很容易在函数返回前被检测到。但如果攻击者预见到这些附加字节,并能在溢出过程中制造出,攻击者就可以跳过堆栈的保护测试了。
❑ 数组边界检查。通过检测数组的操作是否在正确范围内进行,来检测是否被缓冲区溢出攻击。目前主要使用的集中检查方法有:Compaq编译器检查、Jones&Kelly C数组边界检查、Purify存储器存取检查等。
1.5 专家点拨
点拨1:在安装虚拟工具时找不到安装文件,出现这种问题的原因是什么?
解答:出现这种问题的原因是在虚拟机中用的是ISO文件安装的操作系统,但是加载安装文件后没有重启系统。在重新启动系统之后,就可以自动找到VMware Tools的安装文件了。
点拨2:在VMware中创建一个虚拟机后,启动该虚拟机时会报物理内存不足,为什么?解答:在一般情况下,如果主机操作系统是Windows XP且虚拟机也是Windows XP,则物理内存最好不低于512MB,而给虚拟机分配的内存最少要有128MB,才可能保证虚拟机正常运行。
点拨3:如何提高VMware的性能?
解答:要提高VMware虚拟机的性能,需要采取如下几种措施。
❑ 升级计算机的配置:因为CPU的速度越快,内存越大,VMware的性能就越好。
❑ 安装虚拟工具:VMware Tools有助于提高鼠标性能和虚拟机的可用性。
❑ 选择正确的系统。在新建虚机时从下拉菜单里选择操作系统的类型,如果所选类型与实际安装不一致会给性能带来不良影响。
❑ 尽量使用全屏模式。全屏模式直接操作显卡,比窗口模式有更好的性能。
1.6 总结与经验积累
很多人由于对电脑安全防御和黑客入侵原理缺乏必要的了解,常常被黑客攻击了还都蒙在鼓里,所以本章介绍了进程、端口、服务、文件、文件系统、DOS系统的常用命令、常见的网络协议以及创建安全测试环境等内容。
本章着重介绍了如何用VMware创建虚拟环境、安装虚拟工具以及在虚拟机中安装IIS服务器和网站等内容。希望通过对本章的学习,读者可以对黑客入门知识有个大概了解。