推荐10大Web漏洞扫描程序
Nikto
这是一个开源的Web服务器扫描程序,它可以对Web服务器的多种项目(包括3500个潜在的危险文件/CGI,以及超过900个服务器版本,还有250多个服务器上的版本特定问题)进行全面的测试。其扫描项目和插件经常更新并且可以自动更新(如果需要的话)。
Nikto可以在尽可能短的周期内测试你的Web服务器,这在其日志文件中相当明显。不过,如果你想试验一下(或者测试你的IDS系统),它也可以支持LibWhisker的反IDS方法。
https://cirt.net/Nikto2
Paros
这是一个对Web应用程序的漏洞进行评估的代理程序,即一个基于Java的web代理程序,可以评估Web应用程序的漏洞。
WebScarab
它可以分析使用HTTP 和HTTPS协议进行通信的应用程序,WebScarab可以用最简单地形式记录它观察的会话,并允许操作人员以各种方式观查会话。如果你需要观察一个基于HTTP(S)应用程序的运行状态,那么WebScarabi就可以满足你这种需要。不管是帮助开发人员调试其它方面的难题,还是允许安全专业人员识别漏洞,它都是一款不错的工具。
WebInspect
这是一款强大的Web应用程序扫描程序。SPI Dynamics的这款应用程序安全评估工具有助于确认Web应用中已知的和未知的漏洞。它还可以检查一个Web服务器是否正确配置,并会尝试一些常见的Web攻击,如参数注入、跨站脚本、目录遍历攻击(directory traversal)等等。
Whisker/libwhisker
Libwhisker是一个Perla模块,适合于HTTP测试。它可以针对许多已知的安全漏洞,测试HTTP服务器,特别是检测危险CGI的存在。Whisker是一个使用libwhisker的扫描程序。
Burpsuite
这是一个可以用于攻击Web应用程序的集成平台。Burp套件允许一个攻击者将人工的和自动的技术结合起来,以列举、分析、攻击Web应用程序,或利用这些程序的漏洞。各种各样的burp工具协同工作,共享信息,并允许将一种工具发现的漏洞形成另外一种工具的基础。
Wikto
可以说这是一个Web服务器评估工具,它可以检查Web服务器中的漏洞,并提供与Nikto一样的很多功能,但增加了许多有趣的功能部分,如后端miner和紧密的Google集成。它为MS.NET环境编写,但用户需要注册才能下载其二进制文件和源代码。
Acunetix Web Vulnerability Scanner
这是一款商业级的Web漏洞扫描程序,它可以检查Web应用程序中的漏洞,如SQL注入、跨站脚本攻击、身份验证页上的弱口令长度等。它拥有一个操作方便的图形用户界面,并且能够创建专业级的Web站点安全审核报告。
Watchfire AppScan
这也是一款商业类的Web漏洞扫描程序。AppScan在应用程序的整个开发周期都提供安全测试,从而测试简化了部件测试和开发早期的安全保证。它可以扫描许多常见的漏洞,如跨站脚本攻击、HTTP响应拆分漏洞、参数篡改、隐式字段处理、后门/调试选项、缓冲区溢出等等。
N-Stealth
N-Stealth是一款商业级的Web服务器安全扫描程序。它比一些免费的Web扫描程序,如Whisker/libwhisker、 Nikto等的升级频率更高,它宣称含有“30000个漏洞和漏洞程序”以及“每天增加大量的漏洞检查”,不过这种说法令人质疑。还要注意,实际上所有通用的VA工具,如Nessus, ISS Internet Scanner, Retina, SAINT, Sara等都包含Web 扫描部件。(虽然这些工具并非总能保持软件更新,也不一定很灵活。)N-Stealth主要为Windows平台提供扫描,但并不提供源代码。
一款优秀的Linux漏洞扫描器
对于系统管理员来说,每天进行安全漏洞分析和软件更新是每日必需的基本活动。为了避免生产环境中的故障,对系统管理员来说选择不使用由保管理器提供的自动更新选项并执行手动更新非常常见。但是这会导致以下问题的发生:
1、系统管理员必需不断提防NVD(国际漏洞数据库)中所有新的安全漏洞等。对于系统管理员来说
2、如果在服务器上安装了大量的软件,那么监控所有的软件基本是不可能的。
3、通过执行分析来确定被漏洞影响的服务器需要付出高昂的代价。在分析过程中忽略一两个服务器是很正常的。
Vuls是解决以上问题的工具。它具有以下特征:
1、通知系统相关漏洞的用户。
2、通知受影响服务器的用户。
3、实现漏洞自动化检测以防止检查。
4、在使用CRON等的日常基础上生成报告来管理漏洞。
more info
Linux下查找系统漏洞的两类常用工具 基于主机的实用扫描软件
more info
漏洞管理
Rapid7 Nexpose 识别和管理“可被利用的”漏洞。
渗透测试
Metasploit 帮助验证漏洞和补救方案,并管理风险评估
一、网络漏洞扫描的三个阶段
1、寻找目标主机或网络
2、进一步搜集目标信息,包括OS类型,运行的服务以及服务软件的版本等
3、判断或进一步检测系统是否存在安全漏洞
二、漏洞扫描的两种策略:
(1)被动式策略
被动式策略就是基于主机之上,对系统中不合适的设置、脆弱的口令以及其他与安全规则抵触的对象进行
检查,称为系统安全扫描。
(2)主动式策略
主动式策略是基于网络的,它通过执行一些脚本文件模拟对系统进行攻击的行为并记录系统的反应,从而
发现其中的漏洞,称为网络安全扫描。
三、漏洞扫描技术的原理:
漏洞扫描技术是建立在端口扫描技术的基础之上的,从对黑客的攻击行为的分析和收集的漏洞来看,绝大多数都是针对某一个特定的端口的,所以漏洞扫描技术以与端口扫描技术同样的思路来开展扫描的。漏洞扫描技术的原理是主要通过以下两种方法来检查目标主机是否存在漏洞,在端口扫描后得知目标主机开启的端口以及端口上的网络服务,将这些相关信息与网络漏洞扫描系统提供的漏洞库进行匹配,查看是否有满足匹配条件的漏洞存在,通过模拟黑客的攻击手法,对目标主机系统进行攻击性的安全漏洞扫描,若模拟攻击成功,则表明目标主机系统存在安全漏洞,
(1)漏洞库的特征匹配方法
基于网络系统漏洞库的漏洞扫描的关键部分就是它所使用的漏洞库。通过采用基于规则的匹配技术,即根据安全专家对网络系统安全漏洞、黑客攻击案例的分析和系统管理员对网络系统的安全配置的实际经验,可以形成一套标准的网络系统漏洞库,然后再次基础上构成相应的匹配规则,由扫描程序自动的进行漏洞扫描的工作。若没有被匹配的规则,系统的网络连接是禁止的。
工作原理:
扫描客户端提供良好的界面,对扫描目标的、范围、方法等进行设置,向扫描
引擎(服务器端)发出扫描命令。服务器根据客户端的选项进行安全检查,并调用
规则匹配库检测主机,在获得目标主机TCP/IP端口和其对应的网络访问服务的相关信息后,
与网络漏洞扫描系统提供的系统漏洞库进行匹配,如果满足条件,则视为存在漏洞。
服务器的检测完成后将结果返回到客户端,并生成直观的报告。在服务器端的规则
匹配库是许多共享程序的集合,存储各种扫描攻击方法。漏洞数据从扫描代码中分离。
使用户能自行对扫描引擎进行更新。
因此漏洞库信息的完整性和有效性决定了漏洞扫描的性能,漏洞库的修订和更新
的性能也会影响漏洞扫描系统运行的时间。
(2)功能模块(插件)技术
插件是由脚本语言填写的子程序,扫描程序可以通过调用它来执行漏洞扫描。 检测出系统中存在的一个或多个漏洞。添加新的插件就可以使漏洞扫描软件 增加新的功能,扫描出更多的漏洞。插件编写规范化后,基于用户自己都可以 Perl、C或自行设计的脚本语言编写的插件来扩充漏洞扫描软件的功能, 这种技术使漏洞扫描软件的升级维护变的相对简单,而专用脚本语言的 使用也简化了编写新插件的编程工作,使漏洞扫描软件具有强的扩展性。
工作原理:
它的前端工作原理基本和基于网络系统漏洞库的漏洞扫描工作原理相同,不同的就是将系统漏洞库和规则匹配库换成了扫描插件库和脆弱性数据库。扫描插件库包含各种脆弱性扫描插件,每个插件对一个或多个脆弱点进行检查和测试。插件之间相对独立,这部分应该随着新脆弱性的发现而及时更新。脆弱性数据库收集了国际上公开发布的脆弱性数据,用于检查检测的完备性。它与扫描插件库之间是一对一或者是一对多的关系,寄一个插件可以进行一个或多个脆弱点的检测。因此,扫描插件库和脆弱性数据库可以及时更新,具有很强的扩展性。
如何借助lynis扫描Linux的安全漏洞?
Nmap
Nmap即Network Mapper,它是在免费软件基金会的GNU General Public License (GPL)下发布的。其基本功能有:探测一组主机是否在线;扫描主机端口,嗅探提供的网络服务;判断主机的操作系统。软件下载后,执行 configure、make和make install三个命令,将nmap二进制码安装到系统上,就可以执行nmap了。
Nmap支持不同类别的端口扫描,TCP连接扫描可以使用“-sT”命令。
nmap -sT -p 80 -I -O www.yourserver.com
p0f
p0f对于网络攻击非常有用,它利用SYN数据包实现操作系统被动检测技术,能够正确地识别目标系统类型。和其他扫描软件不同,它不向目标系统发送任何的数据,只是被动地接受来自目标系统的数据进行分析。因此,一个很大的优点是:几乎无法被检测到,而且p0f是专门系统识别工具,其指纹数据库非常详尽,更新也比较快,特别适合于安装在网关中
ISS
ISS Internet Scanner是全球网络安全市场的顶尖产品,通过对网络安全弱点全面和自主地检测与分析并检查它们的弱点,将风险分为高中低三个等级,并且可以生成大范围的有意义的报表。现在,这个软件的收费版本提供了更多的攻击方式,并逐渐朝着商业化的方向发展。
Nessus
Nessus是一款功能强大的远程安全扫描器,它具有强大的报告输出能力,可以产生HTML、XML、LaTeX和ASCII文本等格式的安全报告,并能为每个安全问题提出建议。软件系统为client/sever模式,服务器端负责进行安全检查,客户端用来配置管理服务器端。在服务端还采用了 plug-in的体系,允许用户加入执行特定功能的插件,可以进行更快速和更复杂的安全检查。除了插件外,Nessus还为用户提供了描述攻击类型的脚本语言,来进行附加的安全测试。
Xprobe
XProbe是一款主动操作系统指纹识别工具,它可以测定远程主机操作系统的类型。XProbe依靠与一个签名数据库的模糊匹配以及合理的推测来确定远程操作系统的类型,利用ICMP协议进行操作系统指纹识别是它的独到之处。使用时,它假设某个端口没有被使用,它会向目标主机的较高端口发送 UDP包,目标主机就会回应ICMP包,然后,XProbe会发送其他的包来分辨目标主机系统,有了这个软件,判断对方的操作系统就很容易了