有没有网络设备漏洞扫描器?

有没有专门针对网络设备做漏洞扫描的工具,入路由器、waf。

Metasploit ,Nessus 等。个人比较喜欢用Nessus,有免费版本,可以按照自己的需要选择专业付费版本

 一. 常见漏洞扫描器类型
  1.1 端口扫描器
  Nmap被称为扫描器之王。这种类型扫描器很容易引起误解,很多人认为对于nmap这种port scaner,功能仅限于扫描端口,这实际上是一个很大的误区,如果我们看一下它的功能,就会发现功能还是非常广泛的,包括操作系统的服务判定、操作系统指纹的判定、防火墙及IDS的规避技术。Nmap从技术角度来说是非常出色的,并且可以完成大范围的早期评估工作。实际上nmap的端口扫描的不管是主机开放端口、服务、操作系统版本,它的大部分依据都来自于端口扫描的结果,根据其结果去判定其他信息。所以,认为nmap只能扫描端口是一个误区。
  1.2 漏洞扫描器
  以nessus为免费产品代表,nessus的安装应用程序、脚本语言都是公开的,但从版本3开始它就转向一个私有的授权协议,其扫描引擎仍然免费,不过对其支持和最新的漏洞定义要收费,不过收费是有时间限制的,如果不想付钱的话,可以等待15天,15天之后,其大部分插件都将是免费插件。Nessus目前最新版本到了3.2。这种扫描器不仅可以检查系统漏洞,还可以检查一部分的配置失误。
  1.3 WEB应用扫描器
  这类扫描器相对而言,做的比较专,仅用于评估网站的安全性,对于系统、网络的基础情况一般不关注,关注的焦点主要是WEB应用。常见的有appscan、webinspect。主要检测WEB应用数据提交、信息泄露等问题。
  二. 商业扫描器特点
  基本上大部分商业扫描器都工作在黑盒模式,在这种模式下无法看到源代码,以一个近似于渗透者或攻击者的身份去看待需要评估的系统。这种扫描器特点有:
  2.1 漏洞精确扫描
  由于在商业化应用中,对误报、漏报的容忍程度比较低。但目前的情况,误报和漏报还是无法规避的。具体扫描的信息有:
  状态扫描:即其开放的服务、通信的情况、OS版本、应用服务的版本。
  漏洞扫描(验证):验证当前系统是否存在可以利用、不可以利用的漏洞,如果可以利用,某些扫描器可以进行写入文件或者拿到shell之类的功能。
  弱口令扫描:对于开放的服务进行弱口令扫描,这也是很重要的一个功能。
  2.2 修补措施
  商用扫描器在漏洞精确扫描之后,会给出一些建议和技术手段来屏蔽漏洞。最初是提供一些修补建议,这种方式对专业技术人员来说有相当价值,但对于一些技术较薄弱或者比较懒惰的用户,修补建议的作用就被忽略了。在新一代的商用扫描器中,提出了修补联动的概念,通过发送注册表去提示用户,用户双击注册表,就可以导入需要修改、升级补丁的信息,并且还可以和WSUS进行联动。这样就可以基本上达到自动化的修补。
  三. 常见扫描主要技术
  要了解常见扫描的主要技术,还要以扫描器工作的流程开始,以nmap为例,整个扫描流程如下:
  1、存活性扫描:是指大规模去评估一个较大网络的存活状态。例如跨地域、跨系统的大型企业。但是被扫描主机可能会有一些欺骗性措施,例如使用防火墙阻塞ICMP数据包,可能会逃过存活性扫描的判定。
  2、端口扫描:针对主机判断端口开放和关闭情况,不管其是不是存活。端口扫描也成为存活性扫描的一个有益补充,如果主机存活,必然要提供相应的状态,因此无法隐藏其存活情况。
  3、服务识别:通过端口扫描的结果,可以判断出主机提供的服务及其版本。
  4、操作系统识别:利用服务的识别,可以判断出操作系统的类型及其版本。
  这就是以nmap为代表的扫描过程。
  3.1 主机存活扫描技术
  主机扫描的目的是确定在目标网络上的主机是否可达。这是信息收集的初级阶段,其效果直接影响到后续的扫描。Ping就是最原始的主机存活扫描技术,利用icmp的echo字段,发出的请求如果收到回应的话代表主机存活。
  常用的传统扫描手段有:
  1. ICMP Echo扫描 精度相对较高。通过简单地向目标主机发送ICMP Echo Request 数据包,并等待回复的ICMP Echo Reply 包,如Ping。
  2. ICMP Sweep 扫描:sweep这个词的动作很像机枪扫射,icmp进行扫射式的扫描,就是并发性扫描,使用ICMP Echo Request一次探测多个目标主机。通常这种探测包会并行发送,以提高探测效率,适用于大范围的评估。
  3. Broadcast ICMP扫描:广播型icmp扫描,利用了一些主机在icmp实现上的差异,设置ICMP请求包的目标地址为广播地址或网络地址,则可以探测广播域或整个网络范围内的主机,子网内所有存活主机都会给以回应。但这种情况只适合于UNIX/Linux系统。
  4. Non-Echo ICMP扫描:在ICMP协议中不光光只有ICMP ECHO的ICMP查询信息类型,在ICMP扫描 技术中也用到Non-ECHO ICMP技术(不仅仅能探测主机,也可以探测网络设备如路由)。利用了ICMP的服务类型(Timestamp和Timestamp Reply 、Information Request和Information Reply 、Address Mask Request 和Address Mask Reply)。
  3.2 规避技术
  为到达规避防火墙和入侵检测设备的目的, ICMP协议提供网络间传送错误信息的功能也成为了主要的扫非常规描手段。其主要原理就是利用被探测主机产生的ICMP错误报文来进行复杂的主机探测。
  常用的规避技术大致分为4类:
  1. 异常的IP包头 :向目标主机发送包头错误的IP包,目标主机或过滤设备会反馈ICMP Parameter Problem Error信息。常见的伪造错误字段为Header Length 和IP Options。不同厂家的路由器和操作系统对这些错误的处理方式不同,返回的结果也不同。
  2. 在IP头中设置无效的字段值:向目标主机发送的IP包中填充错误的字段值,目标主机或过滤设备会反馈ICMP Destination Unreachable信息。这种方法同样可以探测目标主机和网络设备。
  3. 通过超长包探测内部路由器:若构造的数据包长度超过目标系统所在路由器的PMTU且设置禁止分片标志, 该路由器会反馈 Fragmentation Needed and Don’t Fragment Bit was Set差错报文。
  4. 反向映射探测:用于探测被过滤设备或防火墙保护的网络和主机。构造可能的内部IP地址列表,并向这些地址发送数据包。当对方路由器接收到这些数据包时,会进行IP识别并路由