Nessus与Nmap结合测试:插件实战与结果分析

本文通过实际测试Nessus的nmapxml插件,探讨了如何将Nmap扫描结果导入Nessus以改进服务发现和指纹识别。测试结果表明,该插件并未显著提升扫描准确性,但详细记录了安装配置流程和对比实验过程。

Nessus & Nmap

Sally Vandeven //
在与Paul Asadoorian的最近对话中,他提到了一个名为nmapxml的Nessus插件。他不确定它的效果如何,但建议我尝试一下。该插件允许您导入Nmap扫描结果,供Nessus在扫描的发现阶段使用。Nessus扫描的发现阶段发生在开始时,当Nessus试图“发现”哪些主机存活,以及哪些服务和操作系统在这些主机上运行,需要进行漏洞测试。

但您会说,Nessus有内置的端口/服务扫描器,对吧?是的,您完全正确,但由于Nmap专门从事端口扫描和服务/OS指纹识别,也许它会比其Nessus表亲做得更好!好吧,我无疑是一个毫不掩饰的Nmap粉丝女孩,所以我确信将Nmap加入其中会显著提高我们Nessus发现的准确性,并有望减少一些误报。怀着这个想法,我决定对这个插件进行测试,以下是我的发现……

……导入Nmap扫描结果在指纹识别或服务发现方面没有任何改进。如果您愿意,实际上可以在这里停止阅读。但如果您对这个过程如何进展感到好奇——请继续阅读。当然,如果您尝试过这个插件并取得了更好的结果,请给我留言告诉我。

过程大致如下: 步骤1:从http://static.tenable.com/documentation/nmapxml.nasl获取NASL文件
步骤2:将NASL文件放置在Nessus安装的插件文件夹中
$ cp nmapxml.nasl /opt/nessus/lib/nessus/plugins/
步骤3:停止Nessus服务
$ sudo /etc/init.d/nessusd stop
步骤4:安装新插件
$ cd /opt/nessus/sbin
$ sudo ./nessusd -y(安装新插件)
步骤5:重启Nessus服务
$ sudo /etc/init.d/nessusd start
步骤6:对目标网络运行Nmap扫描
$ nmap -A -oX nmap-output.xml –iL targets.txt

  • -A 表示包括OS和版本检测,并允许NSE脚本扫描和traceroute
  • -oX 表示以XML格式写入输出文件
  • -iL 表示从文件targets.txt中获取扫描目标列表,格式如下:
    10.11.12.13
    10.11.12.14
    172.16.24.0/24
    192.168.100-125

步骤7:配置Nessus在发现阶段使用您的Nmap结果:
(配置界面描述)

步骤8:使用新更新的策略运行Nessus扫描,该策略包括Nmap扫描结果。

真的就这么简单。在比较有和没有Nmap文件的结果后,结果基本相同。经过三次扫描尝试和一些Nmap扫描选项的调整,我发现的唯一差异非常小,可能由于其他网络拥塞。这些差异没有显著影响指纹识别或服务检测。

那么,为什么还要写这些不令人兴奋的结果呢?有两个原因。首先,因为万一这对您听起来有希望,并且您也把它放在您的待办事项列表中——我想我会为您节省时间。其次,因为这是我们经常做的事情……尝试一些东西,结果发现它并不像我们假设的那样工作。但好消息是,我们在这个过程中学到了东西,这正是我喜欢这项工作的原因!!

我计划进一步实验(例如,IPv6指纹识别),如果我学到任何有趣的东西,我一定会在这里发布。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计