大家都知道在平时的漏扫中,AWVS、APPSCAN、Netspark、webspectort等漏扫工具扫描出来的漏洞问题往往存在误报,这时我们就需要进行人工手动验证漏洞,这里我们有两种思路:
一是在漏洞工具中,进行多次的重复测试,AWVS、APPSCAN、Netspark、webspectort中都有重复测试漏洞问题的功能),将得出的多次结果进行分析和统计,确认漏洞是否存在。
二是对于特定的漏洞,例如Java反序列漏洞、struts2 各种漏洞、openssl、httpd远程拒绝服务、IIS短文件名、各种应用软件版本低等等,我们只能使用特定的工具或者结合多种方式进行验证。本文基于第二种方式,主要使用了nmap 的脚本功能进行漏洞验证
Nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。
21 验证多种SSL漏洞问题
22 在网络中检测某主机是否存在窃听他人流量
25 精准地确认端口上运行的服务
#这个脚本挺长的,很多详细的参数,请参阅脚本的具体参数。
1 使用nmap对某主机进行一系列的证书鉴权检查
2 使用nmap在局域网内探查更多服务开启情况
3 使用nmap 对常见的服务进行暴力破解
4 使用nmap 进行基本的扫描
5 使用nmap 进行信息挖掘
6 使用nmap 进行拒绝服务攻击
7 使用nmap 利用已知的漏洞入侵系统
8 使用nmap 进行利用第三方的数据库或资源进行信息收集或者攻击
9 使用nmap 进行模糊测试,发送异常的包到目标机,探测出潜在漏洞
10 使用nmap 进行入侵,此类脚本可能引发对方的IDS/IPS的记录或屏蔽
11 使用nmap 探测目标机是否感染了病毒、开启了后门等信息
12 使用nmap 对系统进行安全检查
13 使用nmap 对目标机进行检查是否存在常见的漏洞
至于如何使用nmap中脚本,本文建议,在nmap的图形化界面zenmap 中进行:
3 然后点击” Scripting“ ,将会显示下面的界面:
左侧---脚本的名称,点击勾选该脚本名称前面的小方框,即可使用该脚本;下拉选择其他脚本。
中上方框---脚本的名称、使用情景、使用格式、参考结果;中下框---设置脚本的各种参数。
右侧的大方框------每当点击中下框的某个参数时,此处便会显示那个脚本参数的说明。
5 完成上面的步骤后,我们回到zenmap的主界面,
本文首先介绍使用nmap的基本背景和知识,对它有个基本全面的了解;然后详细说明了在使用nmap 进行验证多种常见漏洞,这些漏洞验证都是我们在漏扫和渗透测试中经常见到的;接着我们介绍使用一组nmap脚本进行基线检查,简单批量地使用一系列的脚本对系统进行信息收集和漏洞检测;最后我们详细介绍了如何使用新建和使用一个nmap 的脚本,帮助读者自己独立使用NSE。
我们在使用nmap的时候往往忽视它最强大的NSE脚本扫描功能,其实这个庞大的脚本集合能够帮助我们进行网络连接故障诊断、网络流量路径分析、服务器的开放情况和运行情况,甚至还能用来进行端口渗透。在渗透测试中,好好利用nmap及其NSE脚本,往往有意想不到的收获。
Nmap是一个免费开放的网络扫描和嗅探工具包,也叫网络映射器(Network Mapper)。Nmap工具可以用来扫描电脑上开放的端口,确定哪些服务运行在哪些端口,并且推断出计算机运行的操作系统。通过使用该工具,可以评估网络系统安全。所以,Nmap是大部分用户所必要的工具之一。本章将对Nmap工具的基础知识进行详细介绍。
Nmap是一款非常不错的网络扫描工具,支持各种操作系统,如Windows、Linux、Mac OS等。为了帮助用户更好的使用该工具,本节将对Nmap工具做一个简单介绍。
Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具。软件名字Nmap是Network Mapper的简称。Nmap最初是由Fyodor在1997年创建的。随后在开源社区众多的志愿者参与下,该工具逐渐成为最为流行安全必备工具之一。目前,Nmap工具的最新版本是6.47。
由于Nmap工具具有许多优点,所以该工具被广泛应用。其中,Nmap工具的优点如下所示:
Nmap主要包括四个方面的扫描功能,分别是主机发现、端口扫描、应用与版本侦测、操作系统侦测。这四项功能之间,又存在大致的依赖关系。通常情况下顺序关系,如图1.1所示。
下面将详细介绍以上Nmap各功能之间的依赖关系。如下所示:
(1)首先用户需要进行主机发现,找出活动的主机。然后,确定活动主机上端口状况。
(2)根据端口扫描,以确定端口上具体运行的应用程序与版本信息。
(3)对版本信息侦测后,对操作系统进行侦测。
在这四项基本功能的基础上,Nmap提供防火墙与IDS(IntrusionDetection System,入侵检测系统)的规避技巧,可以综合应用到四个基本功能的各个阶段;另外Nmap提供强大的NSE(Nmap Scripting Language)脚本引擎功能,脚本可以对基本功能进行补充和扩展。
Nmap使用TCP/IP协议栈指纹准确地判断目标主机的操作系统类型。首先,Nmap通过对目标主机进行端口扫描,找出有哪些端口正在目标主机上监听。当侦测到目标主机上有多于一个开放的TCP端口、一个关闭的TCP端口和一个关闭的UDP端口时,Nmap的探测能力是最好的。Nmap工具的工作原理如表1-1所示。
Nmap对目标主机进行一系列测试,如表1-1所示。利用得出的测试结果建立相应目标主机的Nmap指纹。最后,将此Nmap指纹与指纹库中指纹进行查找匹配,从而得出目标主机的操作系统类型。
Nmap常见的扫描类型如表1-2所示。
当用户对Nmap工具有一个清晰的认识后,即可安装并使用该工具了。如果要安装该工具,则必须要先获取其软件包。本节将介绍如何获取Nmap工具的安装包。
Nmap工具的官网是http://nmap.org/。在该官网提供了Nmap各种类型包的下载地址。其中,下载地址是:
在浏览器中输入以上地址后,将打开如图1.2所示的界面。
在该界面根据自己的系统版本,选择相应的软件包。由于章节的原因,上图只截取了一部分(包括源码包和Windows二进制包的下载地址)。
通过上一节的介绍,用户可以顺利的获取到Nmap工具的安装包。接下来,用户就可以在操作系统中安装该工具了。为了使任何所有用户都可以很好的使用该工具,下面将分别介绍在Windows和Linux操作系统中安装Nmap工具的方法。
【示例1-1】下面将介绍在Windows下安装Nmap工具的方法。具体操作步骤如下所示:
(1)在Windows下双击下载的Nmap软件包,本例中的软件包名为nmap-6.47-setup.exe。双击该软件包后,将弹出许可协议对话框,如图1.3所示。
(2)该界面显示了安装Nmap工具的许可证协议。这里单击I Agree按钮,将弹出选择组件对话框,如图1.4所示。
(3)在该界面选择安装Nmap其它功能的一些组件,如Zenmap、Ndiff、Nping等。如果用户不想安装某组件的话,将组件名前面复选框中的对勾去掉即可。这里选择默认设置,安装所有组件。然后,单击Next按钮,将弹出安装位置选择对话框,如图1.5所示。
(4)该界面是用来设置Nmap安装位置的。如果用户希望安装到其它位置的话,则单击Browse按钮,选择要安装的位置。这里使用默认的位置,然后单击Install按钮,将弹出WinPcap许可协议对话框,如图1.6所示。
(5)该界面显示了安装WinPcap组件的许可证协议。WinPcap是重要的组件,用来实现数据包捕获和网络分析。所以,必须安装。这里单击I Agree按钮,将显弹出WinPcap安装完成提示信息对话框,如图1.7所示。
(6)该界面显示WinPcap组件已经完成。此时,单击Next按钮,将弹出WinPcap选项对话框,如图1.8所示。
(7)该界面用来设置启动NPF选项。这里使用默认设置,然后单击Next按钮,将弹出完成对话框,如图1.9所示。
(8)该界面提示WinPcap组件已设置完成。此时,单击Finish按钮,将显示开始安装Nmap工具。安装完成后,将弹出Nmap安装完成提示信息对话框,如图1.10所示。
(9)从该界面可以看到Nmap工具已经安装完成。此时,单击Next按钮,将弹出创建快捷方式的对话框,如图1.11所示。
(10)该界面用来设置Nmap工具创建快捷方式的位置。默认是在启动菜单栏和桌面上创建快捷方式,这里使用默认设置。然后,单击Next按钮,将弹出Nmap完成对话框,如图1.12所示。
(11)从该界面可以看到Nmap工具已设置完成。此时,单击Finish按钮,退出Nmap安装向导。
提示:如果用户当前系统中已经安装WinPcap的话,将不会弹出图1.6所示的对话框,而是弹出如图1.13所示的对话框。
从该界面可以看到提示WinPcap组件在当前系统中已经安装,接下来将跳过WinPcap组件安装。此时,单击“确定”按钮,将显示如图1.10所示的界面。如果用户不希望弹出图1.13对话框的话,在图1.4中去掉WinPcap 4.1.3组件前面复选框中的对勾即可。
在Linux下可以使用两种方法来安装。其中,一种是使用二进制包,另一种就是源码包。但是,在Linux中二进制包的安装有两大流派,分别是Red Hat的rpm(Redhat Package Management)和Debian的dpkg。所以,对于使用二进制包安装,则需要根据系统的类型选择相应的包进行安装。下面分别介绍这两种类型包的安装方法。
【示例1-2】在Red Hat系列系统中安装Nmap工具。下面以RHEL操作系统为例,演示Nmap的安装方法。执行命令如下所示:
看到以上输出信息,则表示Nmap工具安装成功。在以上命令中,rpm是命令,表示安装.rpm格式的软件包;-ivh是-i、-v和-h三个选项的组合,其中-i表示安装、-v显示详细信息、-h用来显示安装进度;nmap-6.47-1.i386.rpm是软件包名。
【示例1-3】在Debian系列系统中安装Nmap工具。下面以Ubuntu操作系统为例,演示Nmap的安装方法。执行命令如下所示:
看到以上类似输出信息,则表示Nmap功能安装成功。
源码包可以在各种系列的Linux系统中安装。下面将以RHEL操作系统为例,介绍使用源码包安装Nmap 工具的方法。具体操作步骤如下所示:
(1)解压Nmap安装包。执行命令如下所示:
执行以上命令后,将会将源码包中的文件解压的当前目录下nmap-6.47文件夹中。
(2)配置Nmap工具。执行命令如下所示:
执行以上命令,表示为Nmap工具指定了默认的安装位置。
(3)编译软件包。执行命令如下所示:
(4)安装软件包。执行命令如下所示:
以上命令执行成功的话,将会看到“NMAP SUCCESSFULLY INSTALLED”信息。该信息表示,Nmap工具安装成功。
本文选自:Nmap扫描基础教程大学霸内部资料,转载请注明出处,尊重技术尊重IT人!