网络安全课程实验指导书.docx
《网络安全课程实验指导书.docx》由会员分享,可在线阅读,更多相关《网络安全课程实验指导书.docx(32页珍藏版)》请在冰豆网上搜索。
网络安全课程实验指导书
网络安全课程实验安排及指导书
2009-10-21
实验安排
1、推荐必做实验
网络扫描
计算机病毒及恶意代码
防火墙实验
入侵检测系统
2、推荐选作实验
VPN配置
证书的申请和使用
windows安全配置实验
实验一:
网络扫描实验
【实验目的】
了解扫描的基本原理,掌握基本方法,最终巩固主机安全
【实验内容】
1、学习使用Nmap的使用方法
2、学习使用漏洞扫描工具
【实验环境】
1、硬件PC机一台。
2、系统配置:
操作系统windowsXP以上。
【实验步骤】
1、端口扫描
1)解压并安装ipscan15.zip,扫描本局域网内的主机
2)解压nmap-4.00-win32.zip,安装WinPcap
运行cmd.exe,熟悉nmap命令(详见“Nmap详解.mht”)。
3)试图做以下扫描:
扫描局域网内存活主机,
扫描某一台主机或某一个网段的开放端口
扫描目标主机的操作系统
试图使用Nmap的其他扫描方式,伪源地址、隐蔽扫描等
2、漏洞扫描
解压X-Scan-v3.3-cn.rar,运行程序xscan_gui.exe,将所有模块选择扫描,扫描本机,或局域网内某一台主机的漏洞
【实验报告】
1、说明程序设计原理。
2、提交运行测试结果。
【实验背景知识】
1、扫描及漏洞扫描原理见第四章黑客攻击技术.ppt
2、NMAP使用方法
扫描器是帮助你了解自己系统的绝佳助手。
象Windows2K/XP这样复杂的操作系统支持应用软件打开数百个端口与其他客户程序或服务器通信,端口扫描是检测服务器上运行了哪些服务和应用、向Internet或其他网络开放了哪些联系通道的一种办法,不仅速度快,而且效果也很不错。
Nmap被开发用于允许系统管理员察看一个大的网络系统有哪些主机以及其上运行何种服务。
它支持多种协议的扫描如UDP,TCPconnect(),TCPSYN(halfopen),ftpproxy(bounceattack),Reverse-ident,ICMP(pingsweep),FIN,ACKsweep,X
masTree,SYNsweep,和Null扫描。
你可以从SCANTYPES一节中察看相关细节。
nmap还提供一些实用功能如通过tcp/ip来甄别操作系统类型、秘密扫描、动态延迟和重发、平行扫描、通过并行的PING侦测下属的主机、欺骗扫描、端口过滤探测、直接的RPC扫描、分布扫描、灵活的目标选择以及端口的描述。
一、安装Nmap
Nmap要用到一个称为“Windows包捕获库”的驱动程序WinPcap——如果你经常从网上下载流媒体电影,可能已经熟悉这个驱动程序——某些流媒体电影的地址是加密的,侦测这些电影的真实地址就要用到WinPcap。
WinPcap的作用是帮助调用程序(即这里的Nmap)捕获通过网卡传输的原始数据。
WinPcap的最新版本在http:
//netgroup-serv.polito.it/winpcap,支持XP/2K/Me/9x全系列操作系统,下载得到的是一个执行文件,双击安装,一路确认使用默认设置就可以了,安装好之后需要重新启动。
接下来下载Nmap。
下载好之后解开压缩,不需要安装。
除了执行文件nmap.exe之外,它还有下列参考文档:
㈠nmap-os-fingerprints:
列出了500多种网络设备和操作系统的堆栈标识信息。
㈡nmap-protocols:
Nmap执行协议扫描的协议清单。
㈢nmap-rpc:
远程过程调用(RPC)服务清单,Nmap用它来确定在特定端口上监听的应用类型。
㈣nmap-services:
一个TCP/UDP服务的清单,Nmap用它来匹配服务名称和端口号。
除了命令行版本之外,www.insecure.org还提供了一个带GUI的Nmap版本。
和其他常见的Windows软件一样,GUI版本需要安装,图一就是GUI版Nmap的运行界面。
GUI版的功能基本上和命令行版本一样,鉴于许多人更喜欢用命令行版本,本文后面的说明就以命令行版本为主。
图一
二、常用扫描类型
解开Nmap命令行版的压缩包之后,进入Windows的命令控制台,再转到安装Nmap的目录(如果经常要用Nmap,最好把它的路径加入到PATH环境变量)。
不带任何命令行参数运行Nmap,Nmap显示出命令语法,如图二所示。
图二
下面是Nmap支持的四种最基本的扫描方式:
⑴TCPconnect()端口扫描(-sT参数)。
⑵TCP同步(SYN)端口扫描(-sS参数)。
⑶UDP端口扫描(-sU参数)。
⑷Ping扫描(-sP参数)。
如果要勾画一个网络的整体情况,Ping扫描和TCPSYN扫描最为实用。
Ping扫描通过发送ICMP(InternetControlMessageProtocol,Internet控制消息协议)回应请求数据包和TCP应答(Acknowledge,简写ACK)数据包,确定主机的状态,非常适合于检测指定网段内正在运行的主机数量。
TCPSYN扫描一下子不太好理解,但如果将它与TCPconnect()扫描比较,就很容易看出这种扫描方式的特点。
在TCPconnect()扫描中,扫描器利用操作系统本身的系统调用打开一个完整的TCP连接——也就是说,扫描器打开了两个主机之间的完整握手过程(SYN,SYN-ACK,和ACK)。
一次完整执行的握手过程表明远程主机端口是打开的。
TCPSYN扫描创建的是半打开的连接,它与TCPconnect()扫描的不同之处在于,TCPSYN扫描发送的是复位(RST)标记而不是结束ACK标记(即,SYN,SYN-ACK,或RST):
如果远程主机正在监听且端口是打开的,远程主机用SYN-ACK应答,Nmap发送一个RST;如果远程主机的端口是关闭的,它的应答将是RST,此时Nmap转入下一个端口。
图三是一次测试结果,很明显,TCPSYN扫描速度要超过TCPconnect()扫描。
采用默认计时选项,在LAN环境下扫描一个主机,Ping扫描耗时不到十秒,TCPSYN扫描需要大约十三秒,而TCPconnect()扫描耗时最多,需要大约7分钟。
图三
Nmap支持丰富、灵活的命令行参数。
例如,如果要扫描192.168.7网络,可以用192.168.7.x/24或192.168.7.0-255的形式指定IP地址范围。
指定端口范围使用-p参数,如果不指定要扫描的端口,Nmap默认扫描从1到1024再加上nmap-services列出的端口。
如果要查看Nmap运行的详细过程,只要启用verbose模式,即加上-v参数,或者加上-vv参数获得更加详细的信息。
例如,nmap-sS192.168.7.1-255-p20,21,53-110,30000--v命令,表示执行一次TCPSYN扫描,启用verbose模式,要扫描的网络是192.168.7,检测20、21、53到110以及30000以上的端口(指定端口清单时中间不要插入空格)。
再举一个例子,nmap-sS192.168.7.1/24-p80扫描192.168.0子网,查找在80端口监听的服务器(通常是Web服务器)。
有些网络设备,例如路由器和网络打印机,可能禁用或过滤某些端口,禁止对该设备或跨越该设备的扫描。
初步侦测网络情况时,-host_timeout<毫秒数>参数很有用,它表示超时时间,例如nmapsShost_timeout10000192.168.0.1命令规定超时时间是10000毫秒。
网络设备上被过滤掉的端口一般会大大延长侦测时间,设置超时参数有时可以显著降低扫描网络所需时间。
Nmap会显示出哪些网络设备响应超时,这时你就可以对这些设备个别处理,保证大范围网络扫描的整体速度。
当然,host_timeout到底可以节省多少扫描时间,最终还是由网络上被过滤的端口数量决定。
Nmap的手册(man文档)详细说明了命令行参数的用法(虽然man文档是针对UNIX版Nmap编写的,但同样提供了Win32版本的说明)。
三、注意事项
也许你对其他端口扫描器比较熟悉,但Nmap绝对值得一试。
建议先用Nmap扫描一个熟悉的系统,感觉一下Nmap的基本运行模式,熟悉之后,再将扫描范围扩大到其他系统。
首先扫描内部网络看看Nmap报告的结果,然后从一个外部IP地址扫描,注意防火墙、入侵检测系统(IDS)以及其他工具对扫描操作的反应。
通常,TCPconnect()会引起IDS系统的反应,但IDS不一定会记录俗称“半连接”的TCPSYN扫描。
最好将Nmap扫描网络的报告整理存档,以便随后参考。
如果你打算熟悉和使用Nmap,下面几点经验可能对你有帮助:
㈠避免误解。
不要随意选择测试Nmap的扫描目标。
许多单位把端口扫描视为恶意行为,所以测试Nmap最好在内部网络进行。
如有必要,应该告诉同事你正在试验端口扫描,因为扫描可能引发IDS警报以及其他网络问题。
㈡关闭不必要的服务。
根据Nmap提供的报告(同时考虑网络的安全要求),关闭不必要的服务,或者调整路由器的访问控制规则(ACL),禁用网络开放给外界的某些端口。
㈢建立安全基准。
在Nmap的帮助下加固网络、搞清楚哪些系统和服务可能受到攻击之后,下一步是从这些已知的系统和服务出发建立一个安全基准,以后如果要启用新的服务或者服务器,就可以方便地根据这个安全基准执行。
实验二:
计算机病毒及恶意代码
【实验目的】
练习木马程序安装和攻击过程,了解木马攻击原理,掌握手工查杀木马的基本方法,提高自己的安全意识。
【实验内容】
安装木马程序NetBus,通过冰刃iceberg、autoruns.exe了解木马的加载及隐藏技术
【实验步骤】
1、木马安装和使用
1)在菜单运行中输入cmd打开dos命令编辑器
2)安装netbus软件
3)在DOS命令窗口启动进程并设置密码
4)打开木马程序,连接别人主机
5)控制本地电脑打开学院网页
6)查看自己主机
7)查看任务管理器进程
8移除木马控制程序进程
查看任务管理器(注意:
Patch.exe进程已经关闭)
2、木马防御实验
在木马安装过程可以运行一下软件查看主机信息变化:
1)使用autoruns.exe软件,查看windows程序启动程序的位置,了解木马的自动加载技术。
如自动运行进程(下图所示)、IE浏览器调运插件、任务计划等:
2)查看当前运行的进程,windows提供的任务管理器可以查看当前运行的进程,但其提供的信息不全面。
利用第三方软件可以更清楚地了解当前运行进程的信息。
这里procexp.exe为例
启动procexp.exe程序,查看当前运行进程所在位置,如图所示:
3)木马综合查杀练习
使用冰刃IceSword查看木马可能修改的位置:
主要进行以下练习:
1)查看当前通信进程开放的端口。
木马攻击
2)查看当前启动的服务
3)练习其他功能,如强制删除其他文件,SPI、内核模块等。
【实验报告】
1、分析木马传播、自启动、及隐藏的原理。
2、提交运行测试的结果,并分析。
【背景知识】
NetBus由两部分组成:
客户端程序(netbus.exe)和服务器端程序(通常文件名为:
patch.exe)。
要想“控制”远程机器,必须先将服务器端程序安装到远程机器上--这一般是通过远程机器的主人无意中运行了带有NetBus的所谓特洛伊木马程序后完成的。
NetBus服务器端程序是放在Windows的系统目录中的,它会在Windows启动时自动启动。
该程序的文件名是patch.exe,如果该程序通过一个名为whackamole.exe的游戏安装潜伏的话,文件名应为explore.exe(注意:
不是explorer.exe!
)或者简单地叫game.exe。
同时,你可以检查Windows系统注册表,NetBus会在下面路径中加入其
自身的启动项:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunNetBus通过该注册项实现Windows启动时的自动启动。
但如果你按Ctrl+Alt+Del,在任务列表中是看不到它的存在的。
正确的去除方法如下:
1、运行regedit.exe;
2、找到
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun;
3、将patch项删除(或者explore项);
4、重新启动机器后删除Windows系统目录下的patch.exe(或者explore.exe)即可。
实验三:
防火墙实验
【实验目的】
掌握个人防火墙的使用及规则的设置
【实验内容】
防火墙设置,规则的设置,检验防火墙的使用。
【实验环境】
3、硬件PC机一台。
4、系统配置:
操作系统windowsXP以上。
【实验步骤】
(有两种可选方式,1、以天网防火墙为例,学习防火墙的规则设置,2、通过winroute防火墙学习使用规则设置,两者均需安装虚拟机)
一、虚拟机安装与配置
验证virtualPC是否安装在xp操作系统之上,如果没有安装,从获取相关软件并安装;
从教师机上获取windows2000虚拟机硬盘
二、包过滤防火墙winroute配置(可选)
1、从教师机上获取winroute安装软件并放置在windows2000上安装
2、安装默认方式进行安装,并按提示重启系统
3、登陆虚拟机,打开winroute
以管理员的身份登录,打开开始>WinRoutePro>WinRouteAdministration,输入IP地址或计算机名,以及WinRoute管理员帐号(默认为Admin)、密码(默认为空)
3、打开菜单Setting>Advanced>PacketFilter
4、在PacketFilter对话框中,选中Anyinterface并展开
双击NoRule图标,打开AddItem对话框
在Protocol下拉列表框中选择ICMP,开始编辑规则
配置Destination:
type为Host,IPAddress为192.168.1.1(x为座位号)
5、在ICMPTypes中,选中All复选项
在Action区域,选择Drop项
在LogPacket区域选中LogintoWindow
其他各项均保持默认值,单击OK
单击OK,返回主窗口
6、合作伙伴间ping对方IP,应该没有任何响应
打开菜单View>Logs>SecurityLog,详细查看日志记录
禁用或删除规则
8、用WinRoute控制某个特定主机的访问(选作)
要求学生在虚拟机安装ftp服务器。
1)打开WinRoute,打开菜单Settings>Advanced>PacketFilter选择,Outgoing标签
2)选择AnyInterface并展开,双击NoRule,然后选择TCP协议
3)配置Destination框:
type为Host,IPAddress为192.168.1.2(2为合作伙伴座位号)
4)、在Source框中:
端口范围选择Greaterthan(>),然后输入1024
5)以21端口作为DestinationPort值
6)在Action区域,选择Deny选项
7)选择Logintowindow选项
8)应用以上设置,返回主窗口
9)合作伙伴间互相建立到对方的FTP连接,观察失败信息
10)禁用或删除FTP过滤
三、包过滤天网防火墙配置(可选)
1、安装
解压,单击安装文件SkynetPFW_Retail_Release_v2.77_Build1228.EXE安装按缺省的设置安装,
注:
破解
1)将两个文件[Cr-PFW.exe]和[PFW.bak]一起复制到软件安装目录中
2)运行破解补丁[Cr-PFW.exe],覆盖原主程序即可
2、熟悉防火墙规则
启动防火墙并”单击自定义规则”如图
熟悉规则的设置:
双击如下选项:
“允许自己用ping命令探测其他机器
“防止别人用ping命令探测”
“禁止互联网上的机器使用我的共享资源”
“防止互联网上的机器探测机器名称”等选项,
熟悉其中的IP地址、方向,协议类型、端口号、控制位等项的设置。
试总结规则设置的顺序,
5、增加设置防火墙规则
开放部分自己需要的端口。
下图为对话框,各部分说明:
1)新建IP规则的说明部分,可以取有代表性的名字,如“打开BT6881-6889端口”,说明详细点也可以。
还有数据包方向的选择,分为接收,发送,接收和发送三种,可以根据具体情况决定。
2)就是对方IP地址,分为任何地址,局域网内地址,指定地址,指定网络地址四种。
3)IP规则使用的各种协议,有IP,TCP,UDP,ICMP,IGMP五种协议,可以根据具体情况选用并设置,如开放IP地址的是IP协议,QQ使用的是UDP协议等。
4)比较关键,就是决定你设置上面规则是允许还是拒绝,在满足条件时是通行还是拦截还是继续下一规则,要不要记录,具体看后面的实例。
试设置如下规则:
1)禁止局域网的某一台主机和自己通信通信
2)禁止任何大于1023的目标端口于本机连接,
3)允许任何新来的TCP与主机192.168.0.1的SMTP连接
4、查看各个程序使用及监听端口的情况
可以查看什么程序使用了端口,使用哪个端口,是不是有可疑程序在使用网络资源,如木马程序,然后可以根据要求再自定义IP规则里封了某些端口以及禁止某些IP访问自己的机子等等。
【实验报告】
1、说明包过滤放火墙的工作原理。
2、提交防火墙指定功能测试结果。
实验4入侵检测系统安装和使用
【实验目的】
通过安装并运行一个snort系统,了解入侵检测系统的作用和功能
【实验内容】
安装并配置appahe,安装并配置MySQL,安装并配置snort;服务器端安装配置php脚本,通过IE浏览器访问IDS
【实验环境】
硬件PC机一台。
系统配置:
操作系统windowsXP以上。
【实验步骤】
1、安装appache服务器
安装的时候注意,本机的80端口是否被占用,如果被占用则关闭占用端口的程序。
选择定制安装,安装路径修改为c:
\apache安装程序会自动建立c:
\apache2目录,继续以完成安装。
添加Apache对PHP的支持
1)解压缩php-5.2.6-Win32.zip至c:
\php
2)拷贝php5ts.dll文件到%systemroot%\system32
3)拷贝php.ini-dist(修改文件名)至%systemroot%\php.ini
修改php.ini
extension=php_gd2.dll
extension=php_mysql.dll
同时拷贝c:
\php\extension下的php_gd2.dll与php_mysql.dll至%systemroot%\
4)添加gd库的支持在C:
\apache\Apache2\conf\httpd.conf中添加:
LoadModulephp5_module"c:
/php5/php5apache2.dll"
AddTypeapplication这一行下面加入下面两行:
AddTypeapplication/x-httpd-php.php.phtml.php3.php4
AddTypeapplication/x-httpd-php-source.phps
5)添加好后,保存http.conf文件,并重新启动apache服务器。
现在可以测试php脚本:
在c:
\apache2\htdocs目录下新建test.php
test.php文件内容:
〈?
phpinfo();?
〉
使用http:
//localhost/test.php
测试php是否安装成功
2、安装配置snort
安装程序WinPcap_4_0_2.exe;缺省安装即可
安装Snort_2_8_1_Installer.exe;缺省安装即可
将snortrules-snapshot-CURRENT目录下的所有文件复制(全选)到c:
\snort目录下。
将文件压缩包中的snort.conf覆盖C:
\Snort\etc\snort.conf
3、安装MySql配置mysql
解压mysql-5.0.51b-win32.zip,并安装。
采取默认安装,注意设置root帐号和其密码
J检查是否已经启动mysql服务
在安装目录下运行命令:
(一般为c:
\mysql\bin)
mysql-uroot–p
输入刚才设置的root密码
运行以下命令
c:
\>mysql-Dmysql-uroot-p\snort_mysql(需要将snort_mysql复制到c盘下,当然也可以复制到其他目录)
运行以下命令:
c:
\mysql\bin\mysql-Dsnort-uroot-p\snort\schemas\create_mysql
c:
\mysql\bin\mysql-Dsnort_archive-uroot-p\snort\schemas\create_mysql
4、安装其他工具
1)安装adodb,解压缩adodb497.zip到c:
\php\adodb目录下
2)安装jpgrapg库,解压缩jpgraph-1.22.1.tar.gz到c:
\php\jpgraph,并且修改C:
\php\jpgraph\src\jpgraph.php,添加如下一行:
DEFINE("CACHE_DIR","/tmp/jpgraph_cache/");
3)安装acid,解压缩acid-0.9.6b23.tar.gz到c:
\apache\htdocs\acid目录下,并将C:
\Apache\htdocs\acid\acid_conf.php文件的如下各行内容修改为:
$DBlib_path="c:
\php\adodb";
$alert_dbname="snort";
$alert_host="localhost";
$alert_port="3306";
$alert_user="acid";
$alert_password="acid";
$archive_dbname="snort_archive";
$archive_host="localhost";
$archive_port="3306";
$archive_user="acid";
$archive_password="acid";
$ChartLib_path="c:
\php\jpgraph\src";
4)、通过浏览器访问http:
/127.0.0.1