首页 » 安全攻防 » 正文

第五讲:漏洞扫描

    漏洞扫描是指能够通过对目标系统进行探测,向目标系统发送数据,并将反馈数据与自带的漏洞特征库匹配,进而列举出目标系统上存在的安全漏洞。

各种操作系统网络模块的实现原理不同,因此它们对于接收到的探测数据往往会有不同响应。漏洞扫描器可以将这些独特的响应看做是目标系统的“指纹”,用以确定操作系统版本,甚至确定出补丁安装等级。漏洞扫描器也可以使用一个预先设定的登陆凭据登录到远程系统上,列举出远程系统上安装的软件和运行的服务,并判定它们是否已经安装了补丁程序。漏洞扫描器能够根据扫描结果生成报告,对系统上检测发现的安全漏洞进行描述,这份报告无论对于黑客,网管,还是渗透测试服务人员都意义重大。

    使用漏洞扫描器通常会在网络上产生大量流量,因此如果你不希望被别人发现渗透的踪迹,建议不要使用漏洞扫描器。无论你使用自动还是手工方式,漏洞扫描都是渗透攻击最为重要的步骤之一。

1.    使用Nessus进行扫描

Nessus漏洞扫描器是由Tenable Securityhttp://www.tenable.com)推出,是当前使用最为广泛的漏洞扫描器之一。使用MetasploitNessus插件,你可以在MSF终端中启动扫描并从Nessus获取扫描结果。但在下面的例子中,我们将演示如何导入独立运行的Nessus扫描器所生成的扫描结果。由于版权问题,我选择的是家用免费版的Nessus对目标机器进行授权扫描。实际上在渗透攻击的前期,使用的工具越多,获得的信息越多,对后续的攻击会提供更大的便利。(推荐有条件的朋友使用NeXposeOpenVAS等多种扫描器搭配)

1) 配置Nessus

下载并安装好NessusLinuxrpm安装,Windowsexe安装)后,打开你的网页浏览器,并转到https://<你的IP地址>:8834,接受证书警告,并使用你安装时设置的用户名和口令登录到Nessus。你能看到下图的Nessus主界面。

ww

登陆后,在界面顶端有如下内容:Scan(扫描)选项卡,用于创建新的扫描或查看当前的扫描进度;Policies(策略)选项卡,用于设置Nessus在扫描时所包含的扫描插件。

   2) 创建Nessus扫描策略

    在开始扫描之前,你可以创建一个Nessus扫描策略(也可以选择使用默认策略模板)。在Policies(策略)选项卡上,点击蓝色的new policy(新策略)按钮,打开如下所示的扫描策略配置窗口。

ww

3) 执行Nessus扫描

首先选择Scans(扫描)选项卡,点击new scan(新建扫描)按钮打开扫描配置窗口。大多数的Nessus配置已经包含在上面介绍的扫描策略中,所以你创建扫描时,只要为扫描任务取一个名字,选择一个扫描策略,并填写扫描目标就可以了,如下图所示。

ww

    我举的例子仅是对一个主机进行扫描,但你同样可以输入使用CIDR表示的地址块或使用一个包含扫描目标地址的文本文件对多个目标进行扫描。当你对扫描参数感觉满意时,点击启动按钮。

4) Nessus报告

 扫描结束后,在Scan页面就展示扫描任务的名字、状态以及最后更新的时间,点击进去可以发现该页面包含了经扫描发现的漏洞及其严重性等级的摘要。

ww

5) 将扫描结果导入Metasploit框架中

现在让我们把扫描结果导入Metasploit框架中。

(1)    在报告界面点击导出按钮,选择nessus格式(该格式可以被Metasploit解析)。

ww

(2)    打开MSF终端,使用db_connect创建一个新数据库,然后使用db_import,并在命令后面加上导出的报告文件名,将扫描结果导入到数据库中。

ww

(3)    为了验证扫描的主机和漏洞数据是否正确导入,可以如下所示输入hosts命令。这里的hosts命令会输出一个简要列表,里面包含了目标的IP地址、探测的服务数量以及Nessus在目标上发现的漏洞数量。

ww

(4)    如果想要显示一个详细的漏洞列表,可以输入不包含任何参数的vulns命令,如下所示:

ww

这些无论是作为攻击的信息收集还是渗透测试末期撰写渗透测试报告,都是非常有价值的参考数据。

欢迎大家关注我的新浪微博,以后课程设置,问题答疑都在微博进行,本课程不定时更新,边写,边改,甚至边删,完全取决于读者的需要。

  微博地址:http://weibo.com/lxyevil 

发表评论