1、漏洞扫描工具艾勇 单月光漏洞任何可能会给系统和网络安全带来隐患的因素任何系统和网络都有漏洞漏洞分类:(1)系统或应用本身存在的漏洞(2)配置不当所造成的漏洞 漏洞扫描是一种基于网络远程检测目标网络或本地主机安全性脆弱点的技术。通常也是指基于漏洞数据库,通过扫描等手段,对指定的远程或者本地计算机系统的安全脆弱性进行检测,发现可利用的漏洞的漏洞的 一种安全检测(渗透攻击)行为。 漏洞扫描工具就是利用漏洞并对漏洞进行操作。主要内容端口扫描器Nmap、Nwatch检测对方服务器的开放端口,侦测对方服务 器服务漏洞扫描器X-scan、nessus、流光检查系统漏洞、配置错误Web应用扫描Nikto、ap
2、pscan、webinspect检查Web应用数据提交、信息泄露等问题NmapNmap简介Nmap的获取和安装Nmap的功能和用法Nmap使用示例NmapFENmap的GUI界面基于Windows的NmapNmap优缺点Nmap介绍 Nmap是一个网络探测和漏洞扫描程序 安全管理人员可以使用Nmap软件对系统和网络进行扫描,获取网络中正在运行的主机以及主机提供的服务等信息 Nmap通过向对方服务器的特定端口发送数据包,根据应答来判断端口漏洞Nmap的下载和安装 官方网站免费下载http:/www.insecure.org/nmap/ Linux下安装 #rpm ivh nmap-x.xx.i3
3、86.rpmNmap的功能和用法 Nmap的语法: nmapscan Typy(s)Optiontarget specification“Scan Type(s)”用于指定扫描类型,“Options”用于指定选项,“target specification”用于指定扫描目标Nmap的功能和用法扫描类型参数 -sT指定Nmap进行TCP connect()扫描 -sS指定Nmap进行TCP SYN扫描 -sF、-sX、-sN指定Nmap进行FIN、Xmas和Null扫描 -sP指定Nmap进行Ping扫描 -sU指定Nmap进行UDP扫描 -sA指定Nmap进行TCP ACK扫描 -sW指定Nm
4、ap对滑动窗口进行扫描 -sR指定Nmap进行RPC扫描 -b指定Nmap进行FTP 反弹攻击Nmap的功能和用法选项参数 -P0指定Nmap在扫描之前,不必Ping目标主机 -PT 指定Nmap在扫描之前,使用TCP确定哪些主机正在运行 -PS指定Nmap使用TCP SYN对目标主机进行扫描 -PI指定Nmap使用真正的Ping来扫描目标主机是否正在运行,同时还可以对直接子网广播地址进行观察 -PB指定Nmap使用TCP ACK和ICMP echo请求两种扫描类型并行扫描 -O指定Nmap对TCP/IP指纹特征的扫描Nmap的功能和用法扫描目标参数 扫描目标参数是必须给出的 可以是单一主机,
5、也可以是一个子网128.210.*.*128.210.0-255.0-255128.210.0.0/16 Nmap使用 使用使用Nmap扫描指定网络中正在运行的主机扫描指定网络中正在运行的主机 例1:使用Nmap的Ping扫描技术探测网络192.168. 2.123中正在运行的主机 #nmap sP 192.168.2.123 例2:使用TCP ACK技术来探测IP地址范围在192.168.2.100至192.168.2.200中正在运行的主机 #nmap sP PT80 192.168.2.100-200Nmap使用l 使用使用Nmap扫描目标主机上开放的扫描目标主机上开放的TCP端口端口
6、例1:使用Nmap的TCP connect()扫描技术扫描IP地址为192.168.2.195的主机上11024之间开放的TCP端口,并显示详细的信息 #nmap v sT p 1-1024 192.168.2.195 例2:使用Nmap的TCP SYN扫描技术扫描IP地址为192.168.2.195的主机上开放的TCP端口,并显示详细的信息#nmap v sS 192.168.2.195l 使用使用Nmap扫描扫描UDP端口端口例:使用Nmap扫描IP地址为192.168.2.195的主机上开放的UDP端口#nmap v sU 192.168.2.195基于Windows的Nmap 基于Wi
7、ndows的Nmap的参数及用法与基于Linux的Nmap完全相同 Nmap在Windows平台上运行时,需要用到WinPcap程序支持运行Nmap对指定地址扫描 对地址192.168.2.122扫描Nmap对指定地址扫描 地址192.168.2.122的端口扫描结果Nmap对指定地址扫描 地址为192.168.2.122的主机信息Nmap优缺点 优点: Nmap作为主动式端口扫描工具,只要在对方没有把通信阻断的情况下,可以在较短的时间内获得结果 缺点缺点 (1)现在带有阻断功能的防火墙越来越多,有些防火墙当检测到端口扫描时,会将端口关闭一定的时间,还有的机器使用了很多filter功能,只对特
8、定的IP地址提供服务,这种情况下,主动式的正确性大打折扣。 (2)主动式只是在一瞬间对端口进行扫描,只有当服务器那个时候使用的服务才有可能被侦测到。 (3)端口扫描是一种广义上的攻击行为,对于末经许可的机器,一般不能施行。X-Scan X-Scan简介 X-Scan的用法 X-Scan扫描示例X-Scan简介 X-Scan是由安全焦点开发的完全免费的漏洞扫描软件,采用多线程方式对指定IP地址或IP地址范围进行漏洞扫描 扫描内容包括: 远程服务类型 操作系统类型及版本 各种弱口令漏洞 后门 应用服务漏洞 网络设备漏洞 拒绝服务漏洞等二十几个大类 X-Scan的用法 X-Scan的界面X-Scan
9、的用法 X-Scan的扫描参数界面X-Scan的用法 X-Scan的扫描参数界面X-Scan扫描示例localhost扫描 对localhost的扫描(普通信息)X-Scan扫描示例localhost扫描 对localhost的扫描(漏洞信息)X-Scan扫描示例指定地址段扫描 对指定地址段(192.168.2.1-255)的扫描(普通信息)X-Scan扫描示例指定地址段扫描 对指定地址段(192.168.2.1-255)的扫描(漏洞信息)X-Scan扫描示例指定地址段扫描 地址192.168.2.116的开放服务和漏洞检查脚本显示X-Scan扫描示例指定地址段扫描 地址192.168.2.1
10、16漏洞检测脚本下的445/tcp端口X-Scan扫描示例漏洞示例 漏洞示例 NT-Server弱口令漏洞 如果目标主机的用户账户存在很容易被猜测出来的弱口令,则X-Scan将能够扫描出来并标识为高风险级别的“漏洞” X-Scan扫描示例漏洞示例(续) 漏洞示例 “冲击波”漏洞 通过X-Scan可以扫描出目标主机所存在的“冲击波”蠕虫病毒所利用的漏洞(MS03-026/ KB823980) X-Scan扫描示例扫描报告 扫描报告X-Scan扫描示例检测报告 对指定地址段扫描的检测报告Nikto Nikto简介 Nikto运行 Nikto各参数项作用 Nikto应用Nikto简介Nikto是一款
11、开源的(GPL)网页服务器扫描器,它可以对网页服务器进行全面的多种扫描,包含超过3300种有潜在危险的文件/CGIs;超过625种服务器版本;超过230种特定服务器问题,包括多种有潜在危险的文件、CGI及其他问题,它可以扫描指定主机的WEB类型、主机名、特定目录、COOKIE、特定CGI漏洞、返回主机允许的http模式等等。扫描项和插件可以自动更新(如果需要)。基于Whisker/libwhisker完成其底层功能(Libwhisker是一个Perla模块,适合于HTTP测试。它可以针对许多已知的安全漏洞,测试HTTP服务器,特别是检测危险CGI的存在。Whisker是一个使用libwhisk
12、er的扫描程序)。Nikto最新版本为2.1.1版,官方下载网站:http:/ 到Nikto官方网站上下载最新版本nikto-current.tar.gz,此为Linux下的压缩格式,在Windows下用WinRar解压即可,解压后的文件有:nikto.conf、docs、nikto.pl、plugins、 templates。如下图所示:Nikto运行 将解压后的Nikto文件夹放到C盘根目录下。 下载ActivePerl的最新版本ActivePerl-5.10.1.1007-MSWin32-x86-291969.msi,双击安装即可,如下图所示: 点击“开始”-“运行”,输入CMD,输入c
13、d nikto 进入Nikto文件夹,在这个文件夹中可以运行Nikto,它的一般格式为: nikto.pl -h 目标主机 -其它参数。参数说明在CMD下输入:nikto.pl H显示Nikto和帮助信息。Nikto各参数项作用在Nikto中部分参数使用全称或参数的第一个字母均可,如-config和-c是等同的,在下面各项中,使用此写法:-c(config)的均表示此项参数用参数项全称或首字母均可。-c(config):):使用指定的config文件来替代安装在本地的nikto.conf文件。-C(Cgidirs):):扫描包含指定内容的CGI目录。所包含的内容在-C后面指定。如-C /cgi
14、/。-D(Display):):打开或关闭默认输出。输出选项:1 显示重定向2 显示获取的cookies信息3 显示所有200/OK的回应4 显示请求认证的URLsD Debug输出V 冗余输出-dbcheck:检查数据库和其它重要文件的句法错误。-e(evasion):):使用LibWhisker中对IDS的躲避技术,可使用以下几种类型:1 随机URL编码 (非UTF-8方式)2 自选择路径(/./)3 过早结束的URL4 优先考虑长随机字符串5 参数欺骗6 使用TAB作为命令的分隔符7 使用变化的URLNikto各参数项作用(续)-f(findonly):):只寻找HTTP或HTTPS端口
15、,不进行完全扫描。-F(Format):):指定检测报告输出文件的格式,默认是txt文件格式(可以是htm、csv、txt或xml格式)-h(host):):指定目标主机,可以是IP或域名。-H(Help):):显示帮助信息。-i(id):):用于主机鉴定,其格式为:userid:password-m(mutate):):猜解更多的文件名:1 检测根目录下的所有文件2 猜测密码文件名3 通过Apache(/user 请求类型)枚举用户名4 通过cgiwrap(/cgi-bin/cgiwrap/user 请求类型)枚举用户名-n(nolookup):):不执行主机名查找。-o(output):)
16、:输出到指定文件-p(port):):指定使用的端口,默认为80。-P(Pause):):各项操作之间的延时时间。-r(root):):对所有请求优先考虑root的值,格式为:/目录名-s(ssl):):强制在端口上使用ssl模式-S(Single):):实行对单个目标的请求模式。-t(timeout):):超时时间,默认为2秒。Nikto应用(1)检测目标主机。输入如下命令: nikto.pl -h 得到的结果如下图所示: 可以看到目标主机和服务器版本、根目录下的robots.txt文档信息、CGI目录信息,所允许的HTTP方法选项,文件头信息等。 Nikto应用(2)使用-p参数指定要扫描的端口,可以指定某一个端口,如-p 443,可以指定一个端口范围,如-p 80-443,也可指定多个不连续端口,如下图所示:Nikto应用、如果运行Nikto的主机是通过HTTP proxy来访问互联网的,则可以使用代理来扫描,使用选项-u,如:nikto.pl -h -p 443 -u、检测目标主机,并将结果保到txt文件中:nikto.pl -h -p 80 443 o output.txt结果如下图所示 谢 谢