【新朋友】点击标题下面蓝字「皮鲁安全之家」关注 【老朋友】点击右上角,分享或收藏本页精彩内容 【公众号】搜索公众号:皮鲁安全之家,或者ID :piluwill
漏洞扫描一般指扫描暴露在外网或者内网里的系统、网络组件或应用程序,检测其中的漏洞或安全弱点,而漏洞扫描器则是用来执行漏洞扫描的工具。漏洞扫描器一般基于漏洞数据库来检查远程主机,漏洞数据库包含了检查安全问题的所有信息(服务、端口、包类型、潜在的攻击路径,等等)。它可以扫描网络和网站上的上千个漏洞,提供一个风险列表,以及补救的建议。
下列人员会用到漏洞扫描器:
安全审计人员在进行安全审计时。
恶意攻击者或者黑客在攻击目标、获取非法访问时。
程序开发团队在发布环境中部署产品之前。
安全审计人员在进行安全审计时。
恶意攻击者或者黑客在攻击目标、获取非法访问时。
程序开发团队在发布环境中部署产品之前。
维护一个包含最新漏洞的数据库。
以较低的误报率检测出漏洞。
同时扫描多个目标。
提供详细的报告,包括请求和响应对。
提供修复漏洞的建议。
维护一个包含最新漏洞的数据库。
以较低的误报率检测出漏洞。
同时扫描多个目标。
提供详细的报告,包括请求和响应对。
提供修复漏洞的建议。
展开全文
扫描器的组件
漏洞扫描可以分成四个部分:
1、用户接口:用户通过这个接口运行和配置一个扫描。这可以是图形界面(GUI)也可以是命令行接口(CLI)。
2、扫描引擎:扫描引擎通过安装和配置的插件来执行扫描。
3、扫描数据库:扫描数据库保存了扫描器需要的数据。包括,漏洞信息、插件、消除漏洞的步骤、CVE-ID映射(常见的漏洞)、扫描结果,等等。
4、报告模块:报告模块提供了不同的选项,可以生成不同类型的报告。比如,详细报告、漏洞列表、图形化报告,等等。
1、用户接口:用户通过这个接口运行和配置一个扫描。这可以是图形界面(GUI)也可以是命令行接口(CLI)。
2、扫描引擎:扫描引擎通过安装和配置的插件来执行扫描。
3、扫描数据库:扫描数据库保存了扫描器需要的数据。包括,漏洞信息、插件、消除漏洞的步骤、CVE-ID映射(常见的漏洞)、扫描结果,等等。
4、报告模块:报告模块提供了不同的选项,可以生成不同类型的报告。比如,详细报告、漏洞列表、图形化报告,等等。
外网扫描:有一些设备和资产是暴露在互联网的。大部分的机构都开放了80或者443端口,这样人们可以通过互联网访问他们的网站。许多管理员觉得他们实现了边界防火墙,这样他们就很安全了。但是,并不总是这样的。防火墙可以依据定义的规则和策略阻止对网络的非授权访问,但是如果攻击者找到了通过这些端口(比如80或者443)攻击其它系统的方法,防火墙就不能保护你了,因为利用这些端口,攻击者就自动绕过了防火墙,进入了你的网络。
外部扫描是重要的,它检测那些面向互联网的资产的漏洞。攻击者通过这些漏洞可以访问内网。外部扫描可以通过在互联网机器上运行漏洞扫描器来实现。最好在攻击者利用已公开的安全问题和漏洞之前,就消除它们,
内网扫描:并不是所有的攻击都来自外部网络。黑客和恶意软件也可以在内网中出现。通过以下方式,就可以访问内网:
恶意软件或者病毒通过互联网或者USB下载到网络中
一个可以访问内网的不满的员工
外部的黑客获取了访问内部网络的权限
恶意软件或者病毒通过互联网或者USB下载到网络中
一个可以访问内网的不满的员工
外部的黑客获取了访问内部网络的权限
因此,在内网里运行漏洞扫描器也同样重要。在内网的一台机器上运行漏洞扫描器,可以对网络中的关键组件进行扫描。重要的组件包括核心路由器、交换机、工作站、web服务器、数据库,等等。
多久扫描一次?
每天都有很多新漏洞被发现。每个新的漏洞都会增加危险。因此,定期扫描资产非常重要。发现最新的安全问题可以帮助机构关闭安全漏洞,抵御攻击。
多久执行一次漏洞扫描并没有确定的数字。根据机构的不同而不同。
扫描的频率基于以下几点:
资产的重要性:越重要的资产扫描应该越频繁,这样就能打上最新的补丁。
曝光度:识别和扫描那些暴露给大量用户的组件。这可以是外部和内部资产。
变动现存环境时:对现存环境的任何修改,增加新的组件和资产等,都应该进行漏洞扫描。
资产的重要性:越重要的资产扫描应该越频繁,这样就能打上最新的补丁。
曝光度:识别和扫描那些暴露给大量用户的组件。这可以是外部和内部资产。
变动现存环境时:对现存环境的任何修改,增加新的组件和资产等,都应该进行漏洞扫描。
支付卡行业数据安全标准PCI DSS(Payment Card Industry Data Security Standard)是一系列保证那些处理、存储、传递信用卡信息的企业的环境安全的必要条件。PCI SSC(Payment Card Industry Security Standard Council)是在2006年9月7日发起的,旨在改善交易过程的安全状况。PCI DSS要求所有接受信用卡的厂商执行定期的漏洞扫描,发现他们商业网络和应用程序中潜在的安全问题。
根据PCI DSS Requirement and Security Assessment Procedures document/documents/PCI_DSS_v3-2.pdf文档
11.2 最少一季度运行一次内部和外部网络漏洞扫描,在一些重大变化之后也扫描一次(比如安装了新的系统组件,改变了网络拓扑,修改了防火墙规则,设计了产品)。
外网扫描:PCI要求对所有的外网IP地址都要进行漏洞扫描。可以在机构网络的外面进行扫描。扫描必须由PCI SSC认证过的扫描供应商来(ASV)实施。
内网扫描:PCI要求对内网中保存卡的数据的组件进行漏洞扫描。这可以从内部的角度发现存在的安全问题,识别出攻击者在获取内网访问权限后能够利用的脆弱点。内网扫描必须由有资格的人来实施,不需要ASV。
漏洞扫描器对内外网进行自动化地非侵入式扫描,识别出操作系统、设备、应用程序上的漏洞。ASV使用的扫描器包括Qualys和Nessus。我们将在本文后面逐个介绍。扫描器提交的报告中的漏洞必须要修复,才能达到标准。对于外网扫描,所有被评估为“Medium”及以上的漏洞必须要修复。对于内网扫描,只有“Critical”和“High”级别的漏洞才必须修复。通过再次运行漏洞扫描器,来确认发现的漏洞是否已经关闭了。根据PCI DSS标准,PCI扫描必须每季度进行,大多数机构都会选择更频繁的扫描,以发现最新的安全问题。
免费 vs 收费
并没有确定的答案来回答使用免费、开源的漏洞扫描器还是商业扫描器。在互联网上可以下载到许多可用的漏洞扫描器。一些是免费的,还有一些是收费的版本。免费版本的工具,比如Burp、Nessus等,在渗透测试常会用到。但是在一些场合,强制使用商业版。免费版本的漏洞扫描器可以在初步安全扫描时使用,但是他们也有一些限制:
扫描范围:免费的扫描器在扫描范围上有限制。在比较高的层级上扫描,不能覆盖到应用程序的所有部分。
精确性:可能会导致漏报,发现不了存在的安全问题。与误报相比,这个更为严重。
支持所有的攻击和输入载荷:免费的扫描支持的攻击和输入载荷与付费版相比要少。付费版的漏洞和载荷数据库会定期更新,能检查最新的漏洞。
支持详细的报告:大部分扫描器都支持报告功能,但是免费版的扫描也许不能够生成包含有请求-响应对、修补方法、补丁下载链接等详细内容的报告。
扫描范围:免费的扫描器在扫描范围上有限制。在比较高的层级上扫描,不能覆盖到应用程序的所有部分。
精确性:可能会导致漏报,发现不了存在的安全问题。与误报相比,这个更为严重。
支持所有的攻击和输入载荷:免费的扫描支持的攻击和输入载荷与付费版相比要少。付费版的漏洞和载荷数据库会定期更新,能检查最新的漏洞。
支持详细的报告:大部分扫描器都支持报告功能,但是免费版的扫描也许不能够生成包含有请求-响应对、修补方法、补丁下载链接等详细内容的报告。
Nessus:Nessus是最流行的漏洞扫描器之一。它可以用于认证和非认证的漏洞扫描。除了可以进行网络漏洞扫描外,它还支持外部和内部PCI扫描、恶意软件扫描、移动设备扫描、策略合规性扫描、web应用程序测试、补丁审计等。它使用超过70,000个插件来扫描一个目标机。
Nessus有两个版本,免费版本和专业版本。免费版有一些限制,它不能用于专业的环境中(比如工作中),较少的插件等等。
可以在这里下载用户手册 http://static.tenable.com/documentation/nessus_6.4_user_guide.pdf
可以在这里下载Nessus扫描器 http://www.tenable.com/products/nessus/select-your-operating-system
OpenVAS:Open Vulnerability Assessment System (OpenVAS)是由若干服务和工具组成的框架,提供全面而强大的漏洞扫描和漏洞管理功能。它是开源的,可以免费使用。它有一个客户端-服务器架构的web接口。server组件用来调度扫描任务和管理插件,client组件用于配置扫描和查看报告。
包含如下特点:
支持插件定制:OpenVAS扫描器支持定制插件,用户可以使用Nessus Attack ing Language (NASL)编写插件。
认证扫描:在认证扫描时,用户提供目标机的登录凭证,扫描器可以登录,并扫描主机上安装的组件的漏洞(Adobe reader、Wireshark等)
导出报告:OpenVAS有多个选项来导出报告。用户可以以HTML、XML、TXT和PDF的格式生成和下载报告。
端口扫描:OpenVAS有多个选项进行端口扫描。包括TCP scan, SYN scan, IKE-scan,来定位IPSec, VPN等.
安全检查:OpenVAS支持安全地扫描。在这个模式下,scanner会依据远程主机的banner来发送载荷,而不是发送所有的载荷。这个选项对于重要的和陈旧的主机很有用,可以防止在扫描时崩溃。
支持插件定制:OpenVAS扫描器支持定制插件,用户可以使用Nessus Attack ing Language (NASL)编写插件。
认证扫描:在认证扫描时,用户提供目标机的登录凭证,扫描器可以登录,并扫描主机上安装的组件的漏洞(Adobe reader、Wireshark等)
导出报告:OpenVAS有多个选项来导出报告。用户可以以HTML、XML、TXT和PDF的格式生成和下载报告。
端口扫描:OpenVAS有多个选项进行端口扫描。包括TCP scan, SYN scan, IKE-scan,来定位IPSec, VPN等.
安全检查:OpenVAS支持安全地扫描。在这个模式下,scanner会依据远程主机的banner来发送载荷,而不是发送所有的载荷。这个选项对于重要的和陈旧的主机很有用,可以防止在扫描时崩溃。
可以在这里下载到OpenVAS http://www.openvas.org/download.html
在Kali LInux上设置和运行OpenVAS的教程。 https://www.kali.org/penetration-testing/openvas-vulnerability-scanning/
QualysGuard:QualysGuard是一个Saas(Software as a Service)的私有云。可以使用基于web的用户界面登录,能在任何地方使用这个服务。工具包括网络发现、资产映射、漏洞检查、报告、修复跟踪。Qualys appliances通过与云上的系统通信来进行内网扫描。
Qualys申购包可以在这里找到。 https://www.qualys.com/qualysguard-subion-plans/
一旦申购确认后,可以通过WEB入口访问云上的服务,web入口在这里 https://qualysguard.qualys.com/qglogin/index.html
Burp Suite:Burp Suit是一个基于Java的工具,用来执行web应用程序安全测试。单个平台中集成了测试过程中需要的不同的工具。具有免费和商业两个版本。Burp Suit的免费版本有如下功能:
一个拦截式代理,作为一个代理服务器可以分析和修改后台的请求和响应。
Burp Spider能够爬取目标程序的页面和链接。
Burp Repeater用于多次操纵和发送请求。
Burp Sequencer用来分析session token的随机性和强度。
Burp Intruder执行可定制的自动化攻击,寻找和利用漏洞。
Burp Spider能够爬取目标程序的页面和链接。
Burp Repeater用于多次操纵和发送请求。
Burp Sequencer用来分析session token的随机性和强度。
Burp Intruder执行可定制的自动化攻击,寻找和利用漏洞。
一个高级的web应用程序扫描器,检测web应用程序里的漏洞。
Burp Extension让你编写自己的插件,使用Burp执行复杂和定制的任务
可以保存当前状态,并在以后用它。
生成扫描报告。
一个高级的web应用程序扫描器,检测web应用程序里的漏洞。
Burp Extension让你编写自己的插件,使用Burp执行复杂和定制的任务
可以保存当前状态,并在以后用它。
生成扫描报告。
这里有视频教程。 https://portswigger.net/burp/tutorials/
免费和专业版的Burp Suit可以在这里下载。https://portswigger.net/burp/download.html
OWASP ZAP: OWASP ZAP是一个基于Java的跨平台开源的web应用程序安全检查工具。
主要功能包括:
拦截式代理:拦截式代理可以用来手动观察和处理应用程序和它的参数。它能拦截发往服务器的请求,用户可以操作URL、隐藏的参数、协议头等等,分析应用程序的行为和安全性。同样,server返回的响应也可以修改。
爬虫:与Burp Suit相同,ZAP中的spider用来爬取目标应用程序的web页面和链接。额外功能包括支持基于AJAX的爬虫,应用程序会使用Java生成链接。对于基于AJAX的爬虫有一个单独的页面,spider会在那里通过调用浏览器来探索应用程序。
主动和被动扫描:Zap支持主动和被动扫描两种技术。在被动扫描时,工具会扫描爬虫和代理收集到的请求和响应。扫描运行在后台,因此不会影响真实的测试。在主动扫描时,扫描器会发送载荷,发现潜在的漏洞。用户可以控制主动扫描,根据扫描程度手动配置扫描器。
可以保存当前的会话,后面再用。
生成扫描报告。ZAP支持HTML报告。
包括端口扫描、模糊测试等功能,支持web Sockets。
拦截式代理:拦截式代理可以用来手动观察和处理应用程序和它的参数。它能拦截发往服务器的请求,用户可以操作URL、隐藏的参数、协议头等等,分析应用程序的行为和安全性。同样,server返回的响应也可以修改。
爬虫:与Burp Suit相同,ZAP中的spider用来爬取目标应用程序的web页面和链接。额外功能包括支持基于AJAX的爬虫,应用程序会使用Java生成链接。对于基于AJAX的爬虫有一个单独的页面,spider会在那里通过调用浏览器来探索应用程序。
主动和被动扫描:Zap支持主动和被动扫描两种技术。在被动扫描时,工具会扫描爬虫和代理收集到的请求和响应。扫描运行在后台,因此不会影响真实的测试。在主动扫描时,扫描器会发送载荷,发现潜在的漏洞。用户可以控制主动扫描,根据扫描程度手动配置扫描器。
可以保存当前的会话,后面再用。
生成扫描报告。ZAP支持HTML报告。
包括端口扫描、模糊测试等功能,支持web Sockets。
这里有用户指南 https://github.com/zaproxy/zap-core-help/wiki
可以在这里下载OWASP ZAP工具 https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project
Acunetix Web漏洞扫描器:Acunetix web漏洞扫描器是自动化的应用程序安全测试工具。它主要用于扫描web应用程序上的安全问题,比如SQL注入,XSS,目录遍历,命令注入等。用户可以用这个扫描器扫描SANS top 20和OWASP top 10的漏洞。Acunetix有两个版本,免费和商业版。免费版试用14天,可以扫描所有漏洞,但是不会显示确切的位置。你可以扫描acunetix test webiste,http://test.acunetix.com/查看详细的漏洞扫描样本。安装非常简单。主要的功能包括:
扫描器:Acunetix的主要组件是扫描器。它是完全可定制的扫描器,用户可以根据需要配置它。用户可以在属性页定义要检查的漏洞的类型。扫描的时间基于应用程序的大小和属性页的配置情况。
漏洞检测:除了扫描常规的web应用程序之外,Acunetix也能扫描基于HTML5/JS技术的网站。
网站爬虫:当爬虫爬取文件和目录时,我们可以配置要包含和排除的文件的类型。
子域名扫描:Acunetix可以根据DNS记录搜索子域名。
调度器:Acunetix可以制定计划扫描一个或多个网站。这个功能很有用,用户可以让它在晚上或者周末扫描。
目标寻找:用户可以扫描一个子网发现开放80或443等端口的web服务。
HTTP编辑器:可以用这个工具定制请求和响应来分析特定的漏洞。它可以编码和解码参数的值。它也可以用于修改request参数,比如URL、Cookie、request数据等。
扫描器:Acunetix的主要组件是扫描器。它是完全可定制的扫描器,用户可以根据需要配置它。用户可以在属性页定义要检查的漏洞的类型。扫描的时间基于应用程序的大小和属性页的配置情况。
漏洞检测:除了扫描常规的web应用程序之外,Acunetix也能扫描基于HTML5/JS技术的网站。
网站爬虫:当爬虫爬取文件和目录时,我们可以配置要包含和排除的文件的类型。
子域名扫描:Acunetix可以根据DNS记录搜索子域名。
调度器:Acunetix可以制定计划扫描一个或多个网站。这个功能很有用,用户可以让它在晚上或者周末扫描。
目标寻找:用户可以扫描一个子网发现开放80或443等端口的web服务。
HTTP编辑器:可以用这个工具定制请求和响应来分析特定的漏洞。它可以编码和解码参数的值。它也可以用于修改request参数,比如URL、Cookie、request数据等。
在这里有用户手册。http://www.acunetix.com/resources/wvsmanual.pdf
可以在这里下载到Acunetix web漏洞扫描器的试用版。http://www.acunetix.com/vulnerability-scanner/download/
NetSparker:Netspark也是一个web应用程序安全扫描器,可以检测和利用漏洞。这个扫描器特有的一个功能是,内部确认引擎可以通过漏洞利用或者以其它方式测试,来减少误报。如何扫描器可以利用这个安全问题,那么它就会在报告的“Confirmed”区域中列出来。它有三个版本,社区版、标准版和专业版。社区版是免费试用的产品。标准版限制我们只能扫描三个网站。专业版不限制扫描的网站,价格和比较表在这里。https://www.netsparker.com/pricing/?ce=1
特点包括:
易于使用:我们只需要提供网站的URL就可以开始扫描。更高级的选项是,用户可以使用登录宏去记录登录的序列,扫描器就可以在扫描时登录应用程序。当用户选择了这个选项,扫描器会打开一个选项卡,那里记录用户的凭证和登录序列。在同样的配置区域,我们可以配置扫描的范围和要扫描的漏洞。
爬虫:扫描器有一个高级爬虫,用户可以爬取连接,并同时发起攻击。
精确性:正如上面提到的,扫描器的一个特点是内部确认引擎。扫描器可以通过它减少误报。扫描器对报告的漏洞进行安全地利用,如果利用成功,就把这个漏洞标记为已确认。
报告:Netsparker支持多种格式的报告,包括详细扫描报告、遵从PCI的报告、OWASP top 10报告等。
易于使用:我们只需要提供网站的URL就可以开始扫描。更高级的选项是,用户可以使用登录宏去记录登录的序列,扫描器就可以在扫描时登录应用程序。当用户选择了这个选项,扫描器会打开一个选项卡,那里记录用户的凭证和登录序列。在同样的配置区域,我们可以配置扫描的范围和要扫描的漏洞。
爬虫:扫描器有一个高级爬虫,用户可以爬取连接,并同时发起攻击。
精确性:正如上面提到的,扫描器的一个特点是内部确认引擎。扫描器可以通过它减少误报。扫描器对报告的漏洞进行安全地利用,如果利用成功,就把这个漏洞标记为已确认。
报告:Netsparker支持多种格式的报告,包括详细扫描报告、遵从PCI的报告、OWASP top 10报告等。
这里是用户手册。https://netsparker.zendesk.com/entries/20938312-Download-PDF-Manual
在这里下载免费版本。https://www.netsparker.com/web-vulnerability-scanner/download/
在这里下载标准版和专业版。https://www.netsparker.com/pricing/?ce=1
总结
漏洞扫描很快,能够节省你的时间,但是我们不能完全依赖他们。没有一个单独的工具能够发现网络或web应用程序中所有的漏洞。如何可以的话,使用多个自动化扫描工具来减少误报和漏报的概率。web漏洞扫描器不能发现应用程序中与业务逻辑相关的问题。这些漏洞很严重,而且需要手工办法来发现。最好的办法是漏洞扫描器和手动测试结合起来。
如果你只拿到扫描器给出的安全问题列表,而不对它做任何工作,这是没有意义的。而且,应该由那些能够配置扫描器、理解扫描结果、明白风险和修复技术的安全工程师来实施扫描。
*文章来源: infosec http://resources.infosecinstitute.com/vulnerability-scanners-2/,来自FreeBuf
回复
获得以下图文等信息
论坛
可进入微论坛畅谈
任意
官方机器人陪聊
首页
查看技术文档(逐步更新中)
留言
进入留言板
相册
国内外大牛真容