《通信网安全与保密》课件第8章_第1页
《通信网安全与保密》课件第8章_第2页
《通信网安全与保密》课件第8章_第3页
《通信网安全与保密》课件第8章_第4页
《通信网安全与保密》课件第8章_第5页
已阅读5页,还剩207页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第8章通信网络安全工具8.1病毒清除工具8.2系统扫描工具8.3安全审计与入侵检测工具8.4小结习题8.1病毒清除工具

KV3000和瑞星杀毒软件是具有代表性的病毒清除工具。对这两种工具做简单介绍。8.1.1KV3000

1.KV3000的基本功能

KV3000是一套系列杀毒软件,可分为DOS版和Windows版,该软件保存在两张磁盘和一张光盘上。KV3000具有预防、浏览和消除病毒的功能,并具有独特的开放式系统

KVW3000(KV3000W)可完成对外来软盘、光盘和因特网的病毒及其黑客的实时监测,可实时监测最常见的Zip、ARJ、RAR、CAB、LZH等十多种压缩文件中的病毒,并且识别多种可执行程序的压缩格式,如PKLITE、LZEXE、WWPACK、ASPACK、UPX等。也可以实时监测或搜寻到电子信箱中夹带在E-mail中的病毒,可以支持FoxMail、OutLook和Netscape等常见的E-mail软件生成的邮件格式,阻止网上病毒进入。

KV3000能够按照用户意愿主动在软盘上保存硬盘正常的引导区信息,用以恢复被病毒破坏后的硬盘。KV3000还能直观地查看硬盘物理扇区主引导和Boot引导信息是否正常,这样用户就能一个不漏地查出所有主引导区病毒。国际上有数千种引导区病毒,它们可感染任何系统的引导区,用KV3000可以直观地看到这些病毒的原代码。

KV3000具有自我检查、自我修复、自我解除感染自身的病毒的功能,以保自身的清洁和完整。KV3000的测试、修复和重建硬盘分区表的功能,使丢失了分区表的硬盘几秒钟内就可起死回生,使硬盘上被封闭的重要数据可自由存取。这对存有大量信息的硬盘来说,尤为重要。

2.KV3000功能键

KV3000运行时采用全屏幕的显示方式。运行KV3000时,KV3000自动地将当前磁盘下的病毒特征库文件Virus.dat读入内存。显示界面后,按任意键进入KV3000主界面。这时可以根据需要选择功能键F1~F10或键入要扫描或杀毒的盘符路径。

KV3000各功能键的作用如下:

(1) F1:用KV3000第一套查毒方式,即使用病毒特征库(Virus.dat)和扫描过滤法对引导区和所有的文件进行全代码扫描搜索病毒。此方法的灵敏性和准确性极高,但速度稍慢。

(2) F2:用KV3000的第二套查毒方式,即用程序内部封闭的另一套扫描方法,快速对引导区和所有文件中的病毒进行扫描。此方法速度较快。

(3) F3:快速清除已知名称的病毒。该方法是启动KV3000后的默认状态。

(4) F4:对引导区和.com、.exe文件进行全代码扫描搜索病毒,适应搜索网络服务器。

(5) F5:对某一个目录内全部文件中的病毒进行扫描或清除。

(6) F6:可查看不归DOS管理的硬盘隐含扇区,查看硬盘0面0柱1扇区主引导记录及分区表,可在硬盘隐含扇区内查找被移走的主引导记录及分区表,并可将主引导记录及分区表向A盘备份保存。备份后,可用KV3000/Hdpt.dat的格式再恢复到硬盘0面0柱1扇区主引导区中。 此方法应先用KV3000/B的格式将当前0面0道1扇区主引导区备份到软盘上,以防不测。

(7) F7:可查看硬盘主引导区、Boot区、FAT1、FAT2、R00T等扇区。

(8) F8:可进行病毒演示,且不会感染上病毒。

(9) F9:显示版本号和简易说明等。

(10) F10:自动测试和快速修复硬盘分区表。

(11) Esc:任何状态下,按下此键可返回、终止或退出当前状态。

按Enter键或者空格键可恢复到主画面。

3.硬盘主引导信息保护保存正确的硬盘主引导信息的命令格式为KV3000/B。建议用户对重要的机器一定要使用这种命令。这种命令向A盘备份一个无病毒的硬盘主引导信息,其文件名为Hdpt.dat。用户可以在软盘的标签上写明机器型号、硬盘容量、分区大小,然后长期保存,以便在硬盘主引导信息被病毒破坏或主引导记录被破坏的情况下,恢复正确的硬盘主引导信息,使其正常启动,但是这种信息不能恢复到别的硬盘中。

4.清除所有引导型病毒

清除所有引导型病毒的命令格式为KV3000/K。这种命令能安全清除所有引导型病毒,并在软盘上保存硬盘的主引导信息。

在使用这种命令之前,应先用KV3000系统软盘启动机器(冷启动机器)。

在使用这种命令清除硬盘主引导区病毒之前,先在A驱动器中放一个软盘,以便将硬盘有毒或不正常的主引导信息备份在软盘上,其文件名为Hdpt.vir。这种做法是预防原硬盘的主引导信息中有某种加锁的密码,当使用KV3000/K命令将其清除而不能正常工作时,再用以下格式将A盘中的原硬盘主引导信息(Hdpt.vir文件)原样恢复到硬盘上。

5.恢复当前硬盘的主引导信息

恢复当前硬盘的主引导信息的命令格式为KV3000/Hdpt.vir。这种命令是用KV3000/K命令将暂存在软盘上的不正常的主引导信息Hdpt.vir文件的内容,原样恢复到硬盘的主引导区。

用外部病毒特征库Virus.dat或Virus-1.dat检测病毒的命令格式为KV3000Virus.dat或KV3000Virus-1.dat。

在使用这种命令时,Virus.dat文件必须在当前盘中。若使用命令格式KV3000C:Virus-1.dat时,应将Virus-1.dat文件复制在C盘中。

如果用户自行扩展的病毒特征码数据文件不是Virus.dat,而是其它名字,可以将该用户文件复制到C盘中(或当前盘中),再使用命令:A:\>KV3000C:\路径\XXXXXXXX.XXX。例如:KV3000C:\KV3000\Virus-x.dat。

6.实时监测病毒

将KV3000光盘放入光驱中,KV3000密钥盘A放在软驱中,光盘自动运行,选择安装KVW3000组件后,出现安装界面,然后根据安装程序的提示进行安装。安装完KVW3000后,将在Windows“开始”菜单上生成程序组,桌面上生成KVW3000的快捷方式。如果选择系统启动时直接运行“实时监视器”的话,在Windows桌面的右下角,任务栏的右边出现一个红色的K字图标,它表示KVW3000正运行于“实时监视器”活动的状态,实时监视系统的每一个操作。直接运行KVW3000,就出现KVW3000的主画面。

扫描程序左边的按钮是功能按钮,右边是具体的设置、命令信息显示。最下边是信息显示,是各个按钮、文字和区域的详细解释。现将功能按钮解释如下。

1)扫描信息

扫描信息窗口显示已经扫描的信息统计,中间有上次的扫描目标,如果经常扫描某一个目录,比如存放下载文件的目录,这时就可以直接按右边的查毒、杀毒按钮进行相应的操作,也可以选择一个指定的文件夹进行查、杀病毒的操作。

查、杀病毒时,信息窗口中将出现统计结果。窗口下方显示正在检查的文件。同时,右边相应的按钮会变换成“停止查毒”或“停止杀毒”,按停止按钮可以中断杀毒,并返回到“选择目标”栏目中。

2)扫描目标

在这里,可以方便地选择要扫描的目标。选择的目标被分为“我的电脑”、“常用文件夹”、“特殊文件夹”、“扫描历史”4类。

在“我的电脑”中,可以选择整个电脑、我的文档、网络邻居、所有本地硬盘、特定的硬盘和光盘等。“常用文件夹”可以选择我的文档等;“特殊文件夹”可以选择Windows文件夹、系统文件夹和程序文件夹;“扫描历史”中存放以前扫描过的设置,方便重新扫描。

3)扫描模式设置

在查毒和杀病毒的时候存在着时间长短和扫描是否彻底之间的矛盾,这些可以通过调节扫描模式设置中的一些选项来解决。

在扫描模式设置中,用户可以设置查看和改变代码分析方式、检查压缩包、检查E-mail附件、检查自解压程序和智能扫描方式等选项。其中,智能扫描方式可以通过识别文件类型,忽略一些不会感染病毒的文件,达到加快病毒扫描速度的效果。

4)辅助功能

辅助功能包括安全防护、扫描计划、关机扫描以及日志和实时监视的控制等。其中,安全防护就是备份或恢复主引导扇区和逻辑C盘的引导扇区。当系统遭到灾难性的破坏时,可以恢复备份前的主引导扇区和逻辑C盘的引导扇区,从而对硬盘数据的安全起到一定的防护作用。扫描计划可以规定时间对“我的电脑”进行全面扫描,可以选择每天、每周中的某一天或每月的某一天扫描。

5)智能升级

智能升级就是通过因特网直接连接到公司网站上,检查病毒库和程序是否更新,并只下载更新的那一部分,而没有更新的就不会下载。智能升级可以使升级方便、快捷。智能升级可以支持代理服务器升级,这也就意味着无论是自己拨号上网,还是多人共享上网,都可以享受智能升级代理的方便快捷。

6)技术支持

单击“创建报告”按钮,就会在桌面上创建一个包含有关机器配置、软件安装情况、KVW3000本身的情况等信息的报告,报告的文件名称是KVReport.txt。用户可以在该文件中详细描述问题出现的经过以及现象,然后单击“病毒上报”按钮,将本文件作为附件发给公司。如果还有其它问题,可单击相应的反应该问题的功能按钮。

7.Word宏病毒的清除

KV3000能查出已知名和以后出现的绝大多数未知名Word(Normal.dot)中的宏病毒。清除Word宏病毒有以下两种方法:

(1)执行KVW3000.exe文件,用户可任选某一子目录进行清除,查出病毒后,为了安全起见,系统会先自动备份一个有毒的原文件,将其扩展名改为.KV,然后再将原文件中的病毒清除。

(2)用干净的Windows系统软盘引导机器,运行KV3000,出现主菜单后,按下盘符键,系统可将宏病毒自动清除,恢复word文件的正常状态。8.1.2瑞星杀毒软件

1.瑞星杀毒软件的基本功能

“瑞星杀毒软件”是针对流行于国内外危害较大的计算机病毒和有害程序研制的反病毒安全工具,用于对已知病毒、黑客程序的查找,实时监控和清除恢复被病毒感染的文件或系统,维护计算机系统的安全。它能清除感染DOS、Windows和Office等系统和应用程序的病毒以及危害计算机安全的各种有害程序。瑞星杀毒软件世纪版、标准版和OEM版均包括DOS版、Windows版两个杀毒程序,但提供的功能不同,其中世纪版还包括实时监控程序(防火墙)。

2.DOS版使用方法

1)快速杀毒

(1)将标准版、OEM版原盘或世纪版1号盘插入A驱动器。

(2)打开计算机电源,启动计算机。

(3)计算机启动后会自动进入瑞星杀毒软件DOS版界面。

(4)用鼠标(或按字母键D)选择“Drive”菜单。

(5)用鼠标(或光标键

)选择需要检测的磁盘或分区,如“Drive<C:>”。

(6)用鼠标(或按字母键C)选择“Clean”菜单。

(7)用鼠标(或光标,或直接按F6)选择“Allfiles<F6>”,可立即开始清除病毒。

(8)用鼠标点击屏幕下方的Exit可以退出,也可按ESC键退出。

2)功能菜单

(1)“Scan”检测病毒菜单:用于检查用户指定的计算机系统或文件是否含有病毒。

①StandardExecutables<F2>:检测指定磁盘或路径下的程序文件(如扩展名是 .com、.exe、.doc和.xls等的文件)是否感染病毒。②AllFiles<F3>:检测指定磁盘或路径下的所有文件是否感染病毒,同时检测Office文件是否感染未知宏病毒。检测结束后显示报告,内容包括共检测了多少文件,发现多少个文件被病毒感染。

(2)“Clean”清除病毒菜单:清除指定的系统或文件中所感染的病毒。

①StandardExecutables<F5>:检测指定磁盘或路径下的程序文件(如扩展名是.com、.exe、.doc和.xls等的文件),发现病毒后立即清除。

②AllFiles<F6>:检测指定路径下的所有文件,发现病毒后立即清除。请注意,在查找或清除病毒的过程中,如出现信息“Erroropening[文件名]”,则表示此文件正被调用或已被破坏。当出现这种情况时,可用以下三种方法之一进行处理:第一种方法是用瑞星杀毒软件重新启动计算机,然后再查毒;第二种方法是如果该文件在服务器上,稍后再查;第三种方法是用Scandisk修复磁盘文件后再查。③Driver:指定检测目标选项,用于选择磁盘、分区或指定路径与文件。“瑞星杀毒软件”自动检测用户的计算机所配置的所有软盘、硬盘、光驱、网上邻居和服务器等,并在用户选中“Driver”项后显示出来。

④UserSpecified:当不需要对整个软盘、硬盘和光盘等进行处理时,只是要检测某一子目录中的文件,用户可以选择该项并输入要处理的路径或文件名。

(3)“Tools”工具菜单:用于保存和恢复用户计算机硬盘引导扇区(Boot区)的信息,修复被CIH等病毒破坏的硬盘数据。

①BackapBootInformation:用于保存硬盘引导信息,需要用户指定保存信息的位置(路径和文件名),防止计算机由于某种原因(病毒破坏、突然掉电或操作错误等),造成Boot区信息丢失而使硬盘不能启动、不能读取硬盘文件与数据。用户需要先选中保存硬盘引导信息的选项,将硬盘的Boot区信息保存在任意指定的软盘上,需要时,选中“RestoreBootInformation”选项即可恢复。②RestoreBootInformation:用于恢复硬盘引导信息项,需要用户指定保存信息的位置(路径和文件名)。需要注意两个问题,第一,硬盘引导信息最好保存在软盘上,以防该信息因硬盘不能引导而失去作用;第二,不同计算机的Boot区信息是不一样的,在保存时一定要注意这一点。如果是将多台计算机的Boot区信息保存在一张软盘上,就需要对不同的计算机分别起名。如果是每一台计算机用一张软盘来保存,也需要在软盘标签上做好标记,不能混用,否则将造成混乱,无法恢复。③RecoveryToolaboutCIH:用于修复被CIH病毒破坏的硬盘数据。本功能适用于以下三种情况。

第一种情况是可以修复。如果出现红色提示框,报告用户硬盘的分区信息和文件分配表(FAT)的类型,用户首先确认该提示信息是否正确。然后,再根据“RecoveryPartitionTable?(Y/N)”的提示信息选择是否进行修复。如果选择“Y”,则瑞星杀毒软件将自动恢复硬盘的分区信息;如果选择“N”,则瑞星杀毒软件将返回主菜单。恢复硬盘分区工作结束后,瑞星杀毒软件将提示“RecoveryDriveC:(Y/N)”,询问用户是否继续恢复C盘中的文件如果选择“Y”,则瑞星杀毒软件将自动恢复C盘中的文件;如果选择“N”,则瑞星杀毒软件将返回主菜单。在恢复硬盘分区后,可以重新启动机器,此时已经可以看到完全恢复的D、E等扩展逻辑分区。在恢复硬盘分区后,再进一步恢复C盘的文件后,重新启动机器,则不仅可以找到扩展的逻辑分区,而且可以看到C盘上恢复的文件目录,这些目录名为“MSING.XXX”(XXX为0-99的数字编号)。这时扩展分区已恢复正常,将C盘中各个目录中的重要文件进行备份。第二种情况是不需要修复。如果出现“Theharddiskisok,needn’trecover!Enter=retuntomainmenu”信息,则表示硬盘系统是好的,不需要修复。

第三种情况是无法恢复。如果出现“Theharddiskcan’tberecovered,Enter=returntomainmenu”信息,则表示逻辑盘数据使用本功能无法恢复。

3.命令行工作方式的使用方法

命令行工作方式的使用方法如下:

(1)启动计算机后将瑞星杀毒软件原盘插入软盘驱动器。

(2)按如下格式进行操作:

[路径1]RAV[路径2][文件名]/A/C格式说明:[路径1]指瑞星杀毒软件(Ray.exe)所在的位置(包括驱动器号和目录),[路径2]指需要检测的系统或文件所在位置(包括驱动器号和目录),[文件名]指需要处理的文件名,“/A”指明查杀指定目录中的所有文件,无此参数则只查杀程序文件(*.exe、*.com、*.doc等),“/C”参数指明对所查到的病毒立即清除,无此参数则只查而不清除病毒。例如:RAVA:B:C:连续检测A、B、C三个磁盘的引导区和可执行文件;RAVC:\windows/A检测C盘Windows目录下的所有文件;RAVA:\dos/C检测A盘DOS目录下的程序文件,发现病毒立即清除。

4.引导型病毒提取程序

引导型病毒提取程序适用于当计算机硬盘或软盘引导区可能被病毒感染,而已有的杀毒软件不能检测出,或检测出又不能清除的情况。使用方法如下:

(1)用瑞星杀毒软件原盘或其它干净系统盘启动计算机。

(2)将Getboot.exe复制到一张软盘上。

(3)将该盘插入软驱。

(4)按如下格式运行Gethoot.exe。

GETBoot[drive]

格式说明:[drive]指要提取信息的磁盘驱动器名。例如:GETBootA:提取A驱动器软盘引导区的信息到Boot.dmp;GETBootC:提取硬盘引导区的信息到Boot.dmp和Mb.dmp两个文件。

5.Windows版的使用方法

1)安装

(1)启动计算机并进入Windows。

(2)运行瑞星杀毒软件原盘中的Setup.exe。

(3)瑞星杀毒软件默认安装到“C:\瑞星杀毒软件”目录中,读者可以自己更改目录。

(4)安装程序会在Windows桌面和程序文件表中分别建立快捷方式。

2)设置

根据需要或使用习惯,可以在进入“瑞星杀毒软件”界面后,对如下选项进行设置:

(1)选择“检测所有文件”还是“仅查程序文件”。

(2)选择是否检测查毒位置下的子文件夹。

(3)选择是否检测压缩文件。

(4)选择杀毒前是否备份原文件。

设置完成后,可以选择菜单“设置”中的“保存当前设置”,在下次启动时将按本次设置启动。如需返回默认设置,请选择菜单“设置”中的“恢复默认设置”即可。

3)检测和清除病毒

检测和清除病毒的操作步骤如下:

(1)双击桌面上的“瑞星杀毒软件”图标或选择程序文件夹中的“瑞星杀毒软件”,即进入运行界面。

(2)通过选择查毒位置,或点击“浏览”按钮确定要检测的磁盘或文件夹。

(3)单击“查毒”按钮,则开始检测,单击“杀毒”按钮,则开始检测相应的系统或文件,发现病毒立即清除,检测过程中可随时单击“终止”按钮停止检测。检测过程中,带病毒的文件或系统的名称、所在文件夹和病毒名称将依次显示在“查毒结果”栏内。

(4)检测结束后,检测结果将自动保存到杀毒软件工作目录的指定文本文件中,文件名为“瑞星查毒结果.TXT”。

(5)如果检测其它文件,重复第(2)、(3)步即可。

请注意,在清除病毒的过程中,如果出现“请用瑞星原盘引导计算机清除病毒”,表示该文件正在运行或被使用。根据提示,使用“瑞星杀毒软件”原盘启动计算机后,运行“DOS版”杀毒软件清除。

4)启动定时查杀病毒功能

(1)单击“选择预约时间”按钮。

(2)根据需要,选择“每小时”、“每日”、“每周”、“每月”等不同的扫描频率。

(3)单击“选择扫描项”,可指定需要定时检测的磁盘或目录。

当系统时钟到达所选定的时间时,瑞星杀毒软件将自动启动,并开始在后台扫描预先指定的磁盘或目录。如果发现病毒,查毒界面会自动跳出,用户可以看到查毒情况,查毒完毕可自动将查毒结果保存到瑞星杀毒软件所在目录下的“定时查杀结果.TXT”文件中,供用户随时查阅,如果未发现病毒,软件将自动关闭退出

5)启动实时监控(防火墙)

单击界面上的“启动实时监控程序”按钮,即可启动“瑞星实时监控(防火墙)”,如果已经启动,则将设置界面调出。

6)访问瑞星因特网主页或瑞星BBS

如果主机连接到因特网,则通过选择“访问瑞星主页”、“访问瑞星BBS”按钮,即可实现对瑞星因特网主页或瑞星BBS的访问,以获取最新升级程序和各种信息。

6.实时监控“防火墙”

运行“世纪版”四号盘中的Setup.exe,安装过程中,系统会自动安装“实时监控(防火墙)”。可以对防火墙的如下项目进行设置:

(1)监控目标(软盘、本地硬盘、网上邻居和光盘)。

(2)监控文件类型(所有文件、程序文件和压缩文件)。

(3)发现病毒后的处理方法(自动清除病毒、自动禁止使用带毒文件、自动删除带毒文件、询问用户如何处理)。

(4)清除病毒时是否备份原文件。

(5)启动Windows时是否自动运行。

退出和卸载实时监控程序的操作步骤如下:

(1)用鼠标右键单击窗口右下角瑞星病毒实时监控(防火墙)雨伞标志,选择“退出”。

(2)用鼠标左键单击窗口右下角瑞星病毒实时监控(防火墙)雨伞标志,在弹出的窗口中撤销“启动Windows时是否自动运行”,并按“退出”按钮即可卸载。8.2系统扫描工具

扫描器是一种自动检测远程或本地主机安全性弱点的程序,通过扫描TCP端口,并记录反馈信息,可以不留痕迹地发现远程服务器各种TCP端口的分配、提供的服务以及它们的软件版本。这就能让我们间接地或直观地了解远程主机所存在的安全问题。真正的扫描器是TCP端口扫描器,可以选通TCP/IP端口和服务,例如Telnet或FTP,并记录目标的应答。而其它所谓的扫描器仅仅是Unix网络的应用程序,这些程序一般用于观察某一服务是否正在一台远程机器上正常工作,它们不是真正的扫描器,但也可以用于收集目标主机的信息,例如,rusers和host命令就是这类程序。使用扫描器的一般步骤是:寻找一台机器或一个网络;一旦发现一台机器,可以找出机器上正在运行的服务;测试哪些服务具有安全漏洞。它通过选用远程TCP/IP不同的端口服务,并记录目标给予的应答,可以搜集到很多关于目标主机的各种有用的信息,比如,是否能用匿名登录,是否提供某种服务,是否有可写的FTP目录,是否能用Telenet,http是用root还是nobady在运行等等,以此发现目标主机的内在弱点,而这些弱点可能是破坏目标主机的关键因素。扫描器主要是通过比较已知的弱点数据库数据与系统配置的数据,探测系统或网络中的缺陷。大多数扫描器还可以设置希望扫描的具体内容以及扫描时间。可扩展性是用户希望扫描器具有的另一个重要特征,用户希望能够加入自己的扫描程序,查看所关心的特定站点的应用缺陷。一般扫描器应当基于系统管理的通用分类中提供的可选的集中报告,如果运行两个或三个系统,在每个节点运行一个本地扫描器,并阅读从每个节点来的报告,这也许是可以忍受的。若节点有几十个甚至更多,系统则希望在中心服务器上统一报告,其它性能,比如将节点分成扫描组、灵活的输出报告格式以及定制的扫描选项等,对大型环境是非常有用的。使用扫描器其实很简单。如果不需要任何定制,那么默认情况下,扫描器查找脆弱性的预先设置列表,并向用户报告结果。通常情况下,这些结果被存在文件中,以便稍后能回来查看这些结果。扫描器通过检查对象的属性,如文件的属性和允许权限,或通过仿效黑客,来扫描缺陷。为了扮作黑客,扫描器运行各种脚本,试图发现目标节点上的弱点。为了防止系统和网络超载,应当仔细考虑要扫描什么及何时进行扫描。否则,也许会使整个节点变得缓慢,因为服务器正忙于处理大量模拟的SYN洪流攻击。对于整个系统的安全检测,由于网络资源的不同,扫描的对象也不尽相同,所应用的扫描手段也有很大的差异,其主要分类是服务扫描、直接漏洞攻击扫描、端口扫描以及尝试性扫描。从使用的方式上,扫描器可分为运行于自己节点之上的本地扫描器和运行于整个网络上的远程扫描器。前者的操作是执行从内部发起的自我检查,后者则是从外部发起,通过网络探测目标节点而查出其薄弱环节。两者的作用是相辅相成、相互补充的,在系统环境中对它们应加以综合利用。脆弱性扫描器与网络监控器完全不同。脆弱性扫描器并不在事件出现时实时地查看网络传输,而是定期地运行,查找系统本身已经存在的问题,检查系统的运行状态和相关配置,即发现系统有可能会导致攻击的各种应用脆弱性和系统漏洞。扫描器检查系统漏洞的目的,或者在入侵发生前组织预防,或者在入侵发生后加以证实。内部扫描的一个潜在优点是对资源的平均占用要比实时监测少。查找实时发生入侵的产品,实际上处理的是黑客具体的攻击行为,而不是脆弱性,当实时入侵检测IDS运行于系统上时,不处理配置问题,不是寻找以后会被黑客利用的弱点,而是要能够抓住正在进行攻击的黑客。IDS软件实际上是运行于网络上的管理系统,透过网络扫描目标节点。由于扫描器是定期运行的,因此不是事件一出现就能马上检查出来,而脆弱性被引入系统后,扫描器会在下一次被激活时检查出这个漏洞。8.2.1nmap

1.nmap简介

nmap允许系统管理员查看一个大的网络系统有哪些主机以及其上运行何种服务。它支持多种协议的扫描,如UDP、TCPconnect()、TCPSYN、FTPproxy(bounceattack)、Reverse-ident、ICMP(pingsweep)、FIN、ACKsweep、XmasTree、SYNsweep和Null扫描等。nmap提供了一些实用功能,例如通过TCP/IP来判断操作系统类型、秘密扫描、动态延迟和重发、平行扫描、通过并行的Ping侦测下属的主机、欺骗扫描、端口过滤探测、直接的RPC扫描、分布扫描、灵活的目标选择以及端口描述。对非root用户来说,nmap的正式版可以做很多重要的事情。不幸的是,部分关键的核心功能需要root权限,所以尽量以root身份运行nmap。

运行nmap后通常会得到一个关于被扫描机器的一个实用的端口列表。nmap总是显示该服务的服务名称、端口号、状态以及协议,状态有oppen、filtered和unfilered三种。open指的是目标机器将会在该端口接受连接请求;filtered指的是有防火墙、过滤装置或者其它的网络防护设备,它们在这个端口阻挡nmap进一步查明端口是否开放;至于unfiltered,则只有在大多数的扫描端口都处在filtered状态下才会出现。根据选项的使用,nmap还可以报告远程主机下面的特性、使用的操作系统、TCP连续性、在各端口上绑定的应用程序用户的用户名、DNS名、主机是否是个smurf地址以及一些其它功能。可以从/nmap/获得最新版本的nmap。

2.命令格式

nmap在shell的命令行方式下运行,运行格式如下:

nmap[扫描类型][选项]<主机或网络#1…[#N]>

3.扫描类型

1) -sT

TCPconnect扫描:这是对TCP的最基本形式的侦测。在该操作方式下,该connect对目标主机上的端口进行试探,如果该端口被监听,则连接成功,否则这个端口无法到达。这个技术的优点是无须任何特殊权限,在大多数的Unix系统下,这个命令可以被任何人自由地使用。但是这种形式的探测很容易被目标主机察觉并记录下来。因为服务器接受了一个连接,但它却马上断开,于是其记录会显示出一连串的连接及错误信息。

2) -sS

TCPSYN扫描:这类技术通常涉及一种“半开”式的扫描,因为不打开完整的TCP连接,发送一个SYN信息包就像要打开一个真正的连接一样,而且在等待对方的应答。一个SYN/ACK会表明该端口是开放监听的,一个RST则代表该端口未被监听。如果SYN/ACK的应答返回,则会马上发送一个RST包来中断这个连接。这种扫描的最大优点是只有极少的站点会对它做出记录,但是需要有root权限来定制这些SYN包。

3) -sF-sX-sN

StealthFIN、XmasTree或者Null扫描模式:有时甚至SYN扫描都不够隐蔽,一些防火墙及信息包过滤装置会在重要端口守护,SYN包在此时会被截获,一些应用软件如Synlogger以及Courtney对侦测这种类型的扫描都是行家。所以,在另一方面要有更进一步的扫描,才能在不遇到麻烦的情况下通过它们。这是因为关闭的端口会对发送的探测信息包返回一个RST,而打开的端口则对其忽略不理。所以FIN扫描使用空的FIN信息包作为探针,Xmastree使用FIN、URG、PUSH标记,Null扫描则不用任何标记。因为微软在他们的产品中没有采纳这一标准,所以这一扫描在Windows下不能工作。从积极方面来讲,这其实也是一个区分两种平台的办法。如果这次扫描发现了打开的端口,则可以确认这台机器不是运行在Windows平台下。如果 -sF、-sX、-sN的扫描显示所有端口都是关闭的,但是一个SYN扫描却显示有打开端口,则可以大致推断它是Windows平台。这只是一个简单应用,因为现在nmap已经有了更彻底的操作系统判别方法,它的原理与其类似。

4) -sP

Ping扫描:有时仅希望了解网络上有哪些主机是开放的,nmap可以通过对指定的IP地址发送ICMP的echorequest信息包来做到这一点,有应答的主机就是开放的。但是,有些站点比如对echorequest包设置了障碍。因此,nmap还要发送一个TCPACK包到80端口(默认),如果获得了RST返回,则机器是开放的。第3种方法是发送一个SYN信息包并等待RST或SYN/ACK响应。作为非root的用户,可以使用常用的connect模式。对root来说,默认的nmap同时使用ICMP和ACK的方法扫描,当然也可以改变-P选项。最好先ping一下用户,只有有应答的主机才有必要扫描,对于不想探测任何的实际端口扫描,而只想大面积地搜索一下活动的主机,可以使用此选项。

5)-sU

UDP扫描:这一方法可用来确定哪个UDP端口在主机端开放。这一技术是以发送零字节的UDP信息包到目标机器的各个端口,如果我们收到一个ICMP端口无法到达的应答,那么该端口是关闭的,否则我们可以认为它是敞开的。有些人或许会认为UDP扫描是无意义的,nmap通常会以最近的Solarisrcpbind漏洞来提醒他们。Rpcbind会隐藏在一个非正式的UDP端口32770口以上,因此对111进行防火墙过滤是无关紧要的。但是在查找30000以上的端口是否处于监听状态时,用UDP扫描可以做到这一点。UDP扫描在目标主机上按照RFC1812建议,ICMP错误信息的传送速率非常缓慢,要耗费相当长的时间。

6) -sR

RPC扫描:这一方法是结合nmap多种扫描的一种模式,它取得所有的TCP/UDP开放端口,并且用SunRPC程序NULL命令来试图确定是否是RPC端口,如果是的话,再确定其上运行什么程序,何种版本。这样,不管目标主机是躲在防火墙后还是由TCPwrappers防护,它都能取得效果近似于rpcinfo-p的信息。

7) -b

FTP跳跃攻击:FTP协议的一个有趣的特点是它支持代理FTP连接,换句话说,可以从连接到一个FTP服务器,并且要求目标主机发送文件到因特网的“任何地方”。开发该程序的目的是为了通过一个代理FTP服务器查看TCP端口,这样可以连接一个在防火墙后的FTP服务器,然后扫描它,查看堵塞的端口。如果FTP服务器允许读甚至写进某些目录(比如/incoming),则可以向发现打开的端口发送任意信息。要想通过“-b”选项来使主机成为代理,使用标准的ual格式,其形式是usemame:passworu@server:port。

4.选项

这些选项并非是必需的,但是非常实用。

(1) -P0:在扫描前不Ping主机,这是用来扫描那些不允许ICMPecho请求(或应答)的主机的。

(2) -PT:用TCP的ping来确定主机是否打开。作为替代发送ICMPecho请求包并且等待应答的方式,我们可以向目标网络(或者单机)大量发送TCPACK包并等待它的应答,打开的主机会返回一个RST。这一参数可以让我们在ping信息包阻塞时仍能高效率地扫描一个网络。对于非root用户,用connect,以如下格式设置目标探针:-PT<portnumber>,默认的端口是80,因为这一端口往往未被过滤。

(3) -PS:这一选项是root用户使用的,能用SYN包替代ACK包,打开的主机会有一个RST应答。

(4) -PI:这一选项是使用一个真正的ping包。它找到开放的主机并且将该子网中的广播地址全部搜寻,该广播地址是能够到达目的地,并且能正确解析IP包的。当它受到大量的DoS(denialofservice)攻击时,我们就能找到它。

(5) -PB:默认的ping形式,它用于ACK(-PT)与ICMP(-PI)并行攻击,以这一形式可以通过防火墙或包过滤。

(6) -O:经由TCP/IP获取“指纹”来判别主机的OS类型,换句话说,就是用一连串的信息包探测出所扫描的主机位于操作系统有关堆栈信息,并区分其精细差别,以此判别操作系统。它用搜集到的信息建立一个“指纹”,用来同已知的操作系统的指印相比较,这样判定操作系统就有了依据。

7) -I:这是用ident扫描方式的参数,ident协议允许通过TCP连接得到拥有进程的用户名,即使这个连接不是由该进程发起的。所以,可以通过ident连接到一个http端口并找出该进程是否由root运行,但这只能在“全开”的对目标端口的TCP连接中使用。使用-I参数时,远程主机的identd守护进程在开放的端口接受连接质询,很明显,如果主机不运行identd,那它就无法正常工作。

(8) -f:这个参数配置以细小的IP碎片包实现SYN、FIN、XMAS或NULL扫描请求。这个想法是把TCP包头分别放在几个不同的信息包中,使包过滤器难以运作。但是要注意,部分程序可能会对这些小信息包处理错误。比方说,sniffersegmentation在接收第一个36字节的信息碎片时就出现了麻烦,之后又来了个24字节的信息碎片。当包过滤器和能将IP碎片排列的防火墙没有获得此顺序时,一些网络系统反映的结果是没有找到目标,并且

放弃。

这个参数不是在任何系统上都能很好地工作的,它在Linux、FreeBSD以及OpenBSD下是正常的,当然也有一些人说它能在部分不同的Unix环境下工作。

(9) -v:详细模式。这是被强烈推荐的选项,因为它能给我们带来想要的更多信息。可以重复使用它,以获得更大的效果。

(10) -h:这是一个快捷的帮助选项,可以在屏幕上显示nmap的参数使用方法。

(11) -o:用来指定一个放置扫描结果的文件参数,这个结果是易于阅读的。

(12) -m:这也是存放扫描结果的参数,但它是存放机器可解析结果的,可以用 -m带“-”将其输出到标准输出里。在这种形式下,正常的输出被禁止,需要查看一些错误信息来了解情况。

(13) -i:从指定文件而不是从命令行读取数据。该文件可以存放一个主机或网络的列表,中间用空格、TAB键或者换行来分隔。如果希望从标准输入设备读取,比如在管道符的末端,就要将连字符(-)用于文件名。可以从目标规格里找到更多关于这一文件的书写资料。

(14) -p:这一参数可以指定希望扫描的端口,例如,“-p23”则只会对主机的23端口进行探测,默认扫描是从1到1024端口,或者也可以用nmap带的servicesfile里的端口

列表。

(15) -F:快速扫描模式。只选择nmap提供的服务列表中列出的端口,而不是选择所有65535个端口,这样会明显提高扫描速度。

(16) -D:这是一种带有诱骗模式的扫描,在远程主机的连接记录里会记下所有指定的诱骗性的地址。这样,数据存储器会显示有一些端口扫描从某个IP发起,然而无法辨别哪个是真正的IP而哪个是用来作为掩护的,这可以击败一些通过路由进行跟踪的行为,所以它是一项隐藏IP的实用技术。用逗号分隔各个欺骗地址,可以随意地将“ME”放进任意一个希望显示真实IP的地方,如果将“ME”放在第6位甚至最后,有些端口扫描记录器可能根本就不会显示你的IP,如果不用“ME”的话,nmap会将它随机放置。请注意,用来诱骗的主机必须是开放的,因为要从一堆实际上没有用的IP地址里判别出哪个是真正的入侵者是相当容易的。我们还可能要用IP地址来代替名字,这样诱骗主机的nameserverlogs里才不会记录下你曾经来过。还应该注意,有些端口扫描探测器会拒绝到达主机端口的扫描。这样,无意中就会导致扫描的主机与“诱骗主机”连接的丢失。这样可能会带来一个很大的问题,如果这个“诱骗主机”是一个网络上的网关或者是本地的机器,其连接一样会断开。所以最好小心使用这个参数。这种诱骗可以用在最初的ping扫描与实际端口状态扫描中,它还可以用于远程OS的判别。当然,写入太多的诱骗地址是没什么用处的,那只能减缓扫描速度以及降低一些精确度,而且一些指令处理系统还可能会过滤掉欺骗包。

(17) -S:在某些环境下,nmap可能无法确定你的源地址,这种情况下nmap会有提示,这时我们就要用-S带IP地址来标注。另一种使用的可能性是用来欺骗目标,使它认为某人在扫描它。

(18) -e:告诉nmap哪个界面要发送或接收。nmap能够自动探测它,如果无法做到,也会有提示信息。

(19) -g:在扫描中设定源端口号。许多防火墙或包过滤器除了它们允许的DNS(53)或FTP-DATA(20)的包之外,其余数据包一概过滤,显然这是很轻率的做法,因为入侵者能够轻易地编辑一个来自FTP或DNS源端口的数据包。比如,如果无法从一个主机的host:port通过TCPISN取得信息,那么通过-g命令,nmap会改变源端口再次尝试。需要了解的是,使用这个选项可能会有延迟,因为有时需要在源端口号中存储有用信息。

(20) -M:设定用来并行进行TCPconnect扫描的最大的sockets数目。这对将扫描适度减缓是相当有效的,它可以避免远程主机崩溃。

(21) -T:这是一个可以用来方便地表达nmap时间策略优先权的参数设置。它有5个可使用的参数,分别表示5种使用模式。Paranoid模式用极慢的速度来扫描,以避免被数字记录系统记录。它使扫描连续而不是并发,并且通常至少等待5分钟才发送一个信息包。Sneaky模式是每15秒发送一个信息包。Polite模式是用来减轻网络负载的,它连续发送探针,并在两个包的间隙等待0.4秒。Normal模式是nmap的常规用法,是尽其所能地快速扫描,除非主机或端口连接丢失。Aggressive模式是对每台主机设定5分钟的超时时间,并且等待每个探针应答不超过1.25秒。Insane模式是适应非常快的网络,它的设定为75秒,并且只等待应答0.3秒,它允许对一个很快的网络系统进行扫描。

5.目标说明

所有不带参数的选项都会被视为nmap的目标主机描述。最简单的实例是仅在命令行列出单一的主机名或lP地址。如果希望扫描一个IP地址的子网,可以在主机名和IP地址中加入“/mask”。mask必须是在0(扫描整个网络)和32(特定的单一主机)之间。用24则表明扫描一个C类地址,而16则是扫描B类地址。

nmap还有一些更有用的符号说明方式,可以让我们用list/ranges来为每个元素指定IP地址。比如,我们要扫描B类网址128.210.*.*,则可以用128.210.*.*或128.210.0~255.0~255甚至是128.210.1~50,51~255.1,2,3,4,5~255来表示。当然也可以用mask来表示/16,所有这些都是等价的。

我们可以用其它方法将整个网络“分割”,比如,可以用“*.*.5.6~7”来扫描所有以.5.6或.5.7结束的IP地址。

6.使用实例

下面是一些运用nmap的扫描实例。

(1) nmap-v对上所有的保留TCP端口进行扫描,-v表示用详细模式。

(2) nmap-sS-O/24开始一次SYN的半开扫描,针对的目标是所在的C类子网,它还试图确定在其上运行的是什么系统。这需要root权限,因为用到了半开扫描以及系统侦测。

(3) nmap-sX-p22,53,110,143,4564128.210.*.1~127发送一个XmasTree扫描到B类128.210所在子网的一半范围内,我们将检测系统是否运行sshd、DNS、pop3d、imapd或者端口4564。要注意由于微软TCP堆栈的不完善,Xmas扫描将不能在其平台上运行成功,同样的问题可能存在于Cisco、IRIX、HP/UX和BSDI中。

(4) nmap-v-p80‘*.*.2.3-5’定位一个网络域(将整个网络分隔成许多小部分)再进行扫描的方式,这里扫描的目标是所有以 .2.3、.2.4或 .2.5结束的IP地址。如果是root,也可以用 -sS。同样可以从127开始搜寻更多的机器,可以用“127-222”替代前面的星号。

(5) host-1|cut’-d’-f4|./nmap–v-i-进行DNS带转换,来寻找进入的主机,并且将IP地址送至nmap。这个命令是在GNU/Linux平台下运行的,在不同的操作系统上可能需要用不同的选项参数。8.2.2JohntheRipper

JohntheRipper的中文意思是John的撕裂工具。实际上它是一个工具软件,用于在已知密文的情况下尝试破解出明文的破解密码。目前的最新版本是John1.6版,主要支持对DES、MD两种加密方式的密文进行破解工作。John提供了几种不同的破解方式,方便满足使用者的不同需求,甚至还可以用自定义方式,以加速程序的运行。它也提供了保存解密中间结果,随后继续运行的功能。早期John在Unix环境下运行,现在已可以工作于多种不同的机型以及多种不同的操作系统之下,目前已经测试过能够正常运行的操作系统有Linuxx86、FreeBSDX86、Solaris2.xSPARC、OSF/1Alpha、DOS、WinNT/Win95。John的crypt函数在简单解密模式下进行了最佳化,这可以让John在破解的时候运行得比其它的破解工具快,这个函数同时应用了组合语言及C语言所写出来的程序代码。从John1.5开始,已经针对Intel的MMX处理器,对DES子程序进行了特别优化工作,速度可提高30%左右。

在站点/security/John,使用者可以了解John的最新动态。

1.基本功能

JohntheRipper是目前比较好的破解密码工具,在解密过程中会自动定时存盘,使用者可以用Ctrl+C强迫中断解密过程,下次还可以使用John-restore命令,从中断的地方继续进行下去。任何时候使用者都可以按下Enter来观看目前整个解密的进行情况。如果使用者按了两下Ctrl+C来中断的话,则John就会直接中断,而不会将目前的解密进度保存起来。这个解密进度每十分钟也会自动保存,以避免使用者的机器在解密过程中意外停机而功亏一篑。所有已经被破解的密码会被保存在当前目录下的John.pot文件中,SHADOW中所有密文相同的用户会被归成一类,John不重复运行使用者已经破解过的账号,这样John就不会进行无谓的重复劳动。如果使用者想要看已经破解过的密码,则可以在命令行中使用-show这个功能。在John的设计中,关键的密码生成条件被放在John.ini文件中,使用者可以自行修改设置。它不仅支持单词类型的变化,而且支持使用者编写C程序限制密码的取值方式。唯一的遗憾是,在自动产生密码的遍历解密方法中不支持-rules选项。不过还有其它方法可以克服。John支持的破解方式主要有以下几种:

(1)有规则及无规则的字典文件解密模式。

(2)“SingleCrack”,用最简单的信息来进行解密工作,速度最快。

(3)增强破解模式,尝试所有可能的字元组合。

(4)外部破解模式,可以由使用者定义自己的破解模式。

2.使用方法

John所提供的是经过压缩的程序,使用者应具有解压缩的程序,并在机器上建一个目录,把这些文件都拷贝到该目录下,再将需要的文件解压缩。如果使用Unix环境,在使用者使用这个压缩文件以前,需要先执行chmod+xJohn指令。

如果使用者需要编译(Compile)源代码,只要进入其解压这些文件的目录,在系统提示符下输入make,就会看到一份支持各种系统的列表,选择所使用的系统即可。如果所应用的系统没有在该列表上,可输入makegeneric。使用者应确定所使用的是GCC和GNUmake。如果所用的系统没有设定路径,则还需要输入包含路径的执行指令,例如/bin/make等。假设使用者已经取得了某个SHADOW文件,并且被存为SHADOW.TXT文件名,以PC的DOS环境为例,在硬盘中建一个新的目录,如HACK,进入这个目录,将John在此目录中解开,将SHADOW.TXT同样拷入此目录,这样我们就完成了解密的准备工作。一般包括以下由简至繁三个步骤:

(1)先解密简单用户:John-singleshadow.txt。

(2)再解密一般用户:John-wordfile:password.lst-rulesshadow.txt。

(3)最后解密其它用户:John-i:allshadow.txt。具体地说,第一步主要是针对简单用户而进行的,原理是根据用户的名称,加上常见的变化规律而猜测密码。所谓简单用户,是指这样一类用户,如果此用户叫fool,则他的密码可能是fool123,fool1,loof,loof123,lofo,…,这样的用户可在一分钟内被猜测出其账户的密码。第二步是使用字典文件来进行解密,将人们常用密码的单词收集成一个字典文件,由John程序采用遍历的方法加以比较。例如,人们常用hello、supperman、cooler、123456等作为自己的密码。而-rules参数则在此基础上再加上些变化,如字典中有单词cool,则John还会尝试使用cooler、CoOl、Cool等单词变化进行解密。一般根据SHADOW中的用户多少、使用者的字典大小及使用者的机器速度,解密时间从几小时到几天不等。第三步是纯粹的碰运气解法,主要原理是遍历所有可能的密钥空间。John会尝试以95个字母(因为从键盘上只能输入95种可能的键值)进行1~8(8个字母是密码的最长值,所有密码中8位以后的部分均不会被使用,目前的DES加密体系就是这样的)个长度的所有组合,这是很漫长的过程。我们计算一下,以仅攻击一个用户为例,一台MMX微机(攻击速度18000次/秒),假设遍历50%的密码空间,需要的时间为11811.5年。幸运的是,John可以进行自动预设取值,所以这样破解密码还是可能的,一般的经验是20个小时可能破解一个,当然,也可能什么都破解不出来。

3.命令行参数

命令行方式的基本格式为:John[-功能选项][密码文件名]。

所有的功能选项均对大小写不敏感,而且也不需要全部输入,只要输入的字符串保证不与其它参数冲突即可,如restore参数只要输入-res即可。具体参数如下:

(1) -pwfile:<file>[,..],用于指定存放密文的文件名。使用者可以输入多个文件名,期间用“,”分隔,也可以使用“*”或者“?”,这两个通配符引用一批文件。还可以不使用此参数,将文件名放在命令行的最后作为必选参数。

(2) -wordfile:<字典文件名>-stdin,指定用于解密用的字典文件名。使用者也可以使用STDIO来输入,就是在键盘中输入。

-rules在解密过程中使用单词规则变化功能。比如尝试cool单词的其它可能,有COOLER、Cool等,详细规则定义在John.ini文件中的[List.Rules:Wordlist]部分。

(3) -incremental:<模式名称>=使用遍历模式,就是组合密码的所有可能情况,<模式名称>就是在这里要指定的<mode>名称,由John.ini文件中的[Incremental:model]部分定义,[Incremental:All]为内定。

-single使用单一模式进行解密,主要是根据用户名产生变化来猜测解密,可以消灭简单用户。其组合规则在John.ini文件中的[List.Rules:Single]定义。

(4) -external:<模式名称>,使用自定义的扩展解密模式,使用者可以在John.ini的[List.External:mode]中定义自己需要的密码组合方式。John也在INI文件中给出了几个示例。

(5) -restore:<文件名>=继续上次的破解工作,John被中断后,当前的解密进度情况被存放在RESTORE文件中,使用者可以拷贝这个文件到一个新的文件中。如果参数后不带文件名,则John默认使用RESTORE文件。

(6) -makechars:<文件名>,制作一个字符表,使用者所指定的文件如果存在,则将会被覆盖。John尝试使用内在规则在相应的密钥空间中生成一个最有可能击中的密码组合,它会参考在John.pot文件中已经存在的密钥。

-show显示已经破解出的密码,因为John.pot文件中并不包含用户名,同时使用者应该输入相应的包含密码的文件名,John会输出已经被解密的用户连同密码的详细表格。

-test测试当前机器运行John的解密速度,需要1分钟,它会提出在当前的情况下解密的各种可能情况相应的解密速度,比如同时解密100个用户时的平均速度、使用遍历法解密模式时解密的速度。salts指用户个数,如果给出的对于100个用户解密的平均速度为18000次/秒,那么表明同时对100个用户解密,解密的速度为每个180次/秒。因为绝大多数的时间被用于密钥比较过程,所以应该对用户进行挑选。

(7) -users:<login、uid>[,..]只破解某类型的用户或者属于某个组的用户。如果得到的PASSWD文件没有包含密文,那么在得到SHADOW后应该进行组合,John的附带程序UNSHADOW.EXE可以完成这一过程,当然,使用者也可以手工做。能够进入CSH的用户都是解密的首选对象,也可以让UID=0的Root级别的用户入选。

(8) -shells:[!]<shell>[,..]和上面的参数一样,这一选项可以选择对所有可以使用shell的用户进行解密,对其它用户不予理睬。“!”表示排除某些类型的用户。

9) -salts:[!]<count>只选择解密用户大于<count>的账号,可以使使用者得到选择的权力。-lamesalts指定用户中密码所使用的明文。

(10) -timeout:<分钟>指定解密持续的最长时间是几分钟,到时间John自动停止运行。

-list在解密过程中在屏幕上列出所有正在尝试使用的密码,建议不要使用,它会将大部分时间浪费在显示上,极大地降低解密速度。它一般只适用于重定向输出到文件后,检验使用者所设定的某些模式是否正常。

-beep-quiet当解密出密码时是否要让PC机喇叭叫一下,以提醒使用者。

-noname.nohash不使用内存来保存“用户名”等内容。

-des-md5指定使用的解密方式是解DES还是MD5,对于解密DES密码,不用理会这一选项。John并不能在同一个解密过程中同时使用两种不同的密码加密方式,如果所用的密码文件是两种,就要分开来运行。

4.解密模式

1)简单解密模式

简单解密模式的主要原理是根据用户名猜测其可能的密码,当然,这是要计算机而不是人去执行解密程序,所以需要人为定义相应的模式规则。其规则的定义在John.ini中的[List.Rules:Single]部分。一般在这种模式下,一次解密多个密码文件,要比分开来运行更快些。而且先使用规则的一部分,再使用另一部分解密会有较好的效果。下面选取前几行做一个解释,假设有一个用户名为fool:[List.Rules:Single]

#Singlecrackmodrules,extendedCracksyntax

:[:cl]

>6x06

>7lx07

>6/?ulx06在John.ini中起始为#的行为注释行,程序在遇到此行时自动跳过。

“:[:cl]”行表示使用用户名自身作为密码进行尝试,即fool,而“:[:cl]”在保持原字母不变的前提下,“c”首先强制第一个字母大写,“l”表示其余字母均变为小写,即Fool,也就是说此行导致John尝试使用fool和Fool两个单词进行解密。

“>6x06”表示当用户名大于6个字符的时候,从第0个算起,截断至第5个,则共保留下6个字母,其余丢弃不用。例如:用户名为foolers,则会产生被尝试的密码为fooler。“>71x07”和上面相同,此行对于>7的用户名,截断至7个字母,而且使用“1”强制使用小写字母。

“>6/?ulx06”表示对于长度>6的用户名,截断至6个,强制小写;“/?u”则表示只有在用户名中包含小写字母“u”时才有效,否则跳过整条规则,不进行尝试。例如对于“foolers”,此规则不起作用,因为“foolers”中不包含小写字母“u”。

2)字典解密模式

字典解密模式需要用户指定一个字典文件,John读取用户给定的字典文件中的单词,尝试进行解密。此模式的原理是:用户经常使用像hello、superman、computer、…之类的有意义的单词作为自己的密码。John自己带了一个字典,文件名为password.lst,里面包含了一些常被用来作为密码的单词,如12345、abcl23、passwd、123456、newPass、Internet、newuser等等。当然,John所带的字典文件比较小,如果使用者觉得不够用,可以到FTP://coast.cs./pub/dict里找几十兆的大字典文件。使用方法很简单,假设字典文件名为password.lst,shadow为shadow.txt,则命令为John-word:password.lstshadow.txt。同singlemode一样,使用字典解密模式时,也可以使用规则,具体规则的定义在John.ini中的[List.Rules:Wordlist]部分。字典文件中的单词不能有所重复,因为John并不会删除重复并将字典文件进行排序,所以重复会占用更多的内存,最好能将一些常用的单词放在字典文件的开头,当然最好能够按字母的排列方式来排序,因为每一个单词跟先前的那个单词的差别小一点的话,John会运行得稍微快一些。另外,超过8个字符的单词,John会自动处理,而且对同一个密码只尝试一次,尽管早期的DES编码方法有8个字符的限制,用户不必将超过8个字符的单词切成8个字符。

3)增强模式

增强模式是John功能最强大的解密模式,它可以尝试所有可能的字母组合来当做密码。要使用这种解密模式,使用者需要指定及定义该模式的参数,如密码长度的限制及字符频率表等。这些参数必须写入到john.ini中的[Incremental:<mode>=这一段内,<mode>可以任意命名,它用于执行John时在命令行中指定的名称。

4)扩充模式

在使用John的时候,使用者可以定义一些扩充的破解模式。只要在john.ini中建立一个[List.External:<mode>],<mode>就是所指定的模式名称。这一节中必须包含一些John尝试产生的字典的功能,必须包含一些使用C语言写的函数,当使用者在命令行中使用该模式的时候,John会自动编译及使用这些程序,产生虚拟机码。

5.John.ini

John.ini中的每一行均由“条件指令”+“规则指令”组成。

1)条件指令

位于起始部分的“条件指令”如表8.1所示。表8.1条件指令

2)一些用于字母变化的命令

sxy字母替换,将某单词中的所有为“x”的字母替换成字母“y”。

s?cy用字母“y”来替换单词中的所有包含于“c字母组”中的字母。有关字母组的命令如表8.2所示。表8.2字 母 组 命 令字母组的定义如表8.3所示。表8.3字 母 组 定 义组名可以用大小写的区别来表示“逻辑非”的关系,小写表示肯定,大写表示否定。例如,用?d可以表示“所有数字”,而大写?D就表示“所有非数字”。

3)一些附加的指令

表8.4列出了一些附加的指令。

4)批处理规则

使用者可以通过“[]”来使用一批字符,如“[0-9]”则表示“0~9”这10个数字,使用者也可以混合使字母列表加批量的格式,如“[aeiou0-9]”则表示包括所有的元音字母加“0~9”10个数字。简单的例子还有“[AZ]”,“[a-Z]”,“[A-Z0-9]”。比方说,我们加入一行,“l$[0-9]”,则表示强制使用小写字母,并且在每个字母后面加入“0~9”这10个数字,即如果用户名为fool,则John尝试使用fool0,fool1,fool2,…,fool9进行解密。表8.4附加指令

6.使用举例

(1) John-singlepasswd.1passwd.2

使用简单解密模式,一次破解名为passwd.1和passwd.2的两个文件。

(2) John-show-users:0passwd.*

检查所有密码文件中,已破解的root(uid0)账号。

(3) John-w:words.lst-rulespassword.1

使用字典文件模式,同时打开规则破解模式进行破解。

(4) John-w:words.lst-rules-salts:2passwd.*

John-w:words.lst-rules-salts:!2passwd.*

将密码文件分开两部分并且分别进行破解。

(5) John-i:alphapassd.1

使用增强模式,破解所有从a到zzzzzzzz8个字符内的字母组合。

(6) John-makechars:custom.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论