查看原文
其他

漏洞扫描浅析

c.j 计算机与网络安全 2022-06-01

信息安全公益宣传,信息安全知识启蒙。

加微信群回复公众号:微信群;QQ群:16004488

加微信群或QQ群可免费索取:学习教程

教程列表见微信公众号底部菜单


漏洞扫描是指基于漏洞数据库,通过扫描等手段对指定的远程或者本地计算机系统的安全脆弱性进行检测,发现可利用漏洞的一种安全检测(渗透攻击)行为。


一、意义


如果把网络信息安全工作比作一场战争的话,漏洞扫描器就是这场战争中,盘旋在终端设备,网络设备上空的“全球鹰”。


网络安全工作是防守和进攻的博弈,是保证信息安全,工作顺利开展的奠基石。及时和准确地审视自己信息化工作的弱点,审视自己信息平台的漏洞和问题,才能在这场信息安全战争中,处于先机,立于不败之地。只有做到自身的安全,才能立足本职,保证公司业务稳健的运行,这是信息时代开展工作的第一步。

漏洞扫描器,就是保证这场信息战争胜利的开始,它及时准确的察觉到信息平台基础架构的安全,保证业务顺利的开展,保证业务高效迅速的发展,维护公司,企业,国家所有信息资产的安全。


二、定义


漏洞扫描技术是一类重要的网络安全技术。它和防火墙、入侵检测系统互相配合,能够有效提高网络的安全性。通过对网络的扫描,网络管理员能了解网络的安全设置和运行的应用服务,及时发现安全漏洞,客观评估网络风险等级。网络管理员能根据扫描的结果更正网络安全漏洞和系统中的错误设置,在黑客攻击前进行防范。如果说防火墙和网络监视系统是被动的防御手段,那么安全扫描就是一种主动的防范措施,能有效避免黑客攻击行为,做到防患于未然。


功能


1. 定期的网络安全自我检测、评估


配备漏洞扫描系统,网络管理人员可以定期的进行网络安全检测服务,安全检测可帮助客户最大可能的消除安全隐患,尽可能早地发现安全漏洞并进行修补,有效的利用已有系统,优化资源,提高网络的运行效率。


2. 安装新软件、启动新服务后的检查


由于漏洞和安全隐患的形式多种多样,安装新软件和启动新服务都有可能使原来隐藏的漏洞暴露出来,因此进行这些操作之后应该重新扫描系统,才能使安全得到保障。


3. 网络建设和网络改造前后的安全规划评估和成效检验


网络建设者必须建立整体安全规划,以统领全局,高屋建瓴。在可以容忍的风险级别和可以接受的成本之间,取得恰当的平衡,在多种多样的安全产品和技术之间做出取舍。配备网络漏洞扫描/网络评估系统可以让您很方便的进行安全规划评估和成效检验网络的安全系统建设方案和建设成效评估。


4. 网络承担重要任务前的安全性测试


网络承担重要任务前应该多采取主动防止出现事故的安全措施,从技术上和管理上加强对网络安全和信息安全的重视,形成立体防护,由被动修补变成主动的防范,最终把出现事故的概率降到最低。配备网络漏洞扫描/网络评估系统可以让您很方便的进行安全性测试。


5.网络安全事故后的分析调查


网络安全事故后可以通过网络漏洞扫描/网络评估系统分析确定网络被攻击的漏洞所在,帮助弥补漏洞,尽可能多得提供资料方便调查攻击的来源。


6.重大网络安全事件前的准备


重大网络安全事件前网络漏洞扫描/网络评估系统能够帮助用户及时的找出网络中存在的隐患和漏洞,帮助用户及时的弥补漏洞。


7.公安、保密部门组织的安全性检查


互联网的安全主要分为网络运行安全和信息安全两部分。网络运行的安全主要包括以ChinaNet、ChinaGBN、CNCnet等10大计算机信息系统的运行安全和其它专网的运行安全;信息安全包括接入Internet的计算机、服务器、工作站等用来进行采集、加工、存储、传输、检索处理的人机系统的安全。网络漏洞扫描/网络评估系统能够积极的配合公安、保密部门组织的安全性检查。


分类


依据扫描执行方式不同,漏洞扫描产品主要分为两类:漏洞扫描不仅仅是以下三类,还有针对WEB应用、中间件等。


1.针对网络的扫描器

2.针对主机的扫描器

3.针对数据库的扫描器


基于网络的扫描器就是通过网络来扫描远程计算机中的漏洞;而基于主机的扫描器则是在目标系统上安装了一个代理(Agent)或者是服务(Services),以便能够访问所有的文件与进程,这也使得基于主机的扫描器能够扫描到更多的漏洞。二者相比,基于网络的漏洞扫描器的价格相对来说比较便宜;在操作过程中,不需要涉及到目标系统的管理员,在检测过程中不需要在目标系统上安装任何东西;维护简便。


主流数据库的自身漏洞逐步暴露,数量庞大;仅CVE公布的Oracle漏洞数已达1100多个;数据库漏扫可以检测出数据库的DBMS漏洞、缺省配置、权限提升漏洞、缓冲区溢出、补丁未升级等自身漏洞。


技术


1. 主机扫描:确定在目标网络上的主机是否在线。

2. 端口扫描:发现远程主机开放的端口以及服务。

3. OS识别技术:根据信息和协议栈判别操作系统。

4. 漏洞检测数据采集技术:按照网络、系统、数据库进行扫描。

5.智能端口识别、多重服务检测、安全优化扫描、系统渗透扫描

6.多种数据库自动化检查技术,数据库实例发现技术;

7.多种DBMS的密码生成技术,提供口令爆破库,实现快速的弱口令检测方法。


三、部署方式


对于电子商务、电子政务、教育行业、中小型企业和独立的IDC等用户,由于其数据相对集中,并且网络结构较为简单,建议使用独立式部署方式。独立式部署就是在网络中只部署一台TopScanner设备,接入网络并进行正确的配置即可正常使用,其工作范围通常包含用户企业的整个网络地址。用户可以从任意地址登录TopScanner系统并下达扫描评估任务,检查任务的地址必须在产品和分配给此用户的授权范围内。


多级式部署


对于政府行业、军工行业、电力行业、电信运营商、金融行业、证券行业和一些规模较大传统企业,由于其组织结构复杂、分布点多、数据相对分散等原因,采用的网络结构较为复杂。对于一些大规模和分布式网络用户,建议使用分布式部署方式。在大型网络中采用多台TopScanner系统共同工作,可对各系统间的数据共享并汇总,方便用户对分布式网络进行集中管理。TopScanner支持用户进行两级和两级上的分布式、分层部署。


漏扫结果


漏洞扫描结果分为:1推荐2可选3不推荐。


1、推荐:表示系统已存在漏洞,需要安装补丁,来进行修复,对于电脑安全十分重要,因此推荐的补丁,应尽快进行安装。


2、可选:表示对于自身电脑的情况进行有选择性的修复,对于这类补丁,大家应在对电脑自身情况有着充分的了解,再来进行选择性的修复。


3、不推荐:表示如果修复这些补丁,会有可能引起系统蓝屏,无法启动等问题,因此对于这些漏洞,建议大家不要修复,以免引起更大的电脑故障。当然这些漏洞往往也是对于电脑没有太大损害的。


四、主要工具


市场上的漏洞扫描工具众多。其中尤以专门提供Saas服务的Qualys工具为首,专为各类企业提供云端的包括企业网络、网站应用等多方位的定制化扫描检测与报告服务。


另外,FoundStone, Rapid7, Nessus等厂商在业界也都有着较高的地位,可以提供相对较先进的服务。


相较而言,国内的一些扫描工具不论就扫描速率、问题发现的完整性还是误报率上来说,技术水平还是需要进一步提高的。但目前国内不少企业也都开始纷纷尝试云端的定制化服务,也开辟了一块新的市场。


五、漏洞扫描功能


漏洞扫描是所有PaaS和基础设施即服务(IaaS)云服务都必须执行的。无论他们是在云中托管应用程序还是运行服务器和存储基础设施,用户都必须对暴露在互联网中的系统的安全状态进行评估。大多数云供应商都同意执行这样的扫描和测试,但是这要求他们事先与客户和/或测试人员进行充分沟通和协调,以确保其它的租户(用户)不会遭遇中断事件或受到性能方面的影响。



六、扫描漏洞

(一)、使用 Nikto 扫描


Nikto 是个命令行工具,所以我们打开终端。

我们会扫描 Peruggia 漏洞应用,并导出结果到 HTML 报告:

nikto -h http://192.168.56.102/peruggia/ -o result.html

-h选项告诉 Nikto 扫描哪个主机,-o选项告诉在哪里存放输出,文件的扩展名决定了接受的格式。这里,我们使用.html来获得 HTML 格式的结果报告。输出也可以以 CSV、TXT 或 XML 格式。

它需要一些时间来完成扫描。完成之后,我么可以打开result.html文件:


工作原理:


我们使用 Nikto 来扫描应用并生成 HTML 报告。这个工具拥有一些更多的选项,用于执行特定扫描或生成特定输出格式。一些最实用的选项是:

  • -H:这会显示 Nikto 的帮助。

  • -config <file>:在扫描中用自定义的配置文件。

  • -update:更新插件数据库。

  • -Format <format>:这定义了输出格式,可以为CSV、HTML、NBE(Nessus)、SQL、TXT 或 XML。例如 CSV、XML 和 NBE 的格式在我们打算将其用于其它工具的输入时非常实用。

  • -evasion <techique>:这使用一些编码技巧来帮助避免 Web 应用防火墙和入侵检测系统的检测。

  • -list-plugins:查看可用的测试插件。

  • -Plugins <plugins>:选择在扫描中使用哪个插件(默认为全部)。

  • -port <port number>:如果服务器使用非标准端口(80,443),我们可能会以这个选项来使用 Nikto。

(二)、使用 OWASP ZAP 扫描漏洞


OWASP ZAP 用于不同的任务,并且在它的众多特性中,包含了自动化的漏洞扫描器。

准备:


在我们使用 OWASP ZAP 成功执行漏洞扫描之前,我们需要爬取站点:

1.打开 OWASP ZAP 并配置浏览器将其用作代理。

2.访问 192.168.56.102/peruggia/。


3.遵循第三章“使用 ZAP 的蜘蛛”中的指南。

操作步骤:


1.访问 OWASP ZAP 的Sites面板,并右击peruggia文件夹。

2.访问菜单中的Attack | Active Scan。



3.新的窗口会弹出。这里,我们知道我们的应用和服务器使用哪种技术,所以,访问Technology标签页,并只勾选MySQL、PostgreSQL和Linux,以及Apache。


这里我们可以配置我们的扫描器的Scope(从哪里开始扫描、在什么上下文中,以及其它)、Input Vectors(选项是否你打算测试 GET 和 POST 请求、协议头、Cookie和其它选项)、Custom Vectors(向原始请求中添加特定的字符或单词作为攻击向量)、Technology(要执行什么技术特定的测试)、以及Policy(为特定测试选项配置参数)。

4.点击Start Scan。


5.Active Scan标签页会出现在面板顶部,并且所有请求都会出现在那里。当扫描完成时,我们可以在ALerts标签页中检查结果。



6.如果我们选项某个警告,我们可以查看生成的请求,以及从服务器获得的响应。这允许我们分析攻击并判断是否是真正的漏洞,或者是误报。我们也可以使用这个信息来模糊测试,在浏览器中重放这个请求,或者深入挖掘以利用。为了生成 HTML 报告,就像前一个工具那样,在主菜单中访问Report之后选择Generate HTML Report....。


7.新的对话框会询问文件名和位置。例如,设置zap_result. html并且在完成时打开文件:



工作原理:


OWASP ZAP 能够执行主动和被动漏洞扫描。被动扫描是 OWASP ZAP 在我们浏览过、发送数据和点击链接程中进行的非入侵测试。主动测试涉及对每个表单变量或请求值使用多种攻击字符串,以便检测服务器的响应是否带有我们叫做“脆弱行为”的东西。

OWASP ZAP 使用多种技术生成测试字串,它对于首次识别目标所使用的技术非常实用,以便优化我们的扫描并减少被检测到或导致服务崩溃的可能。

这个工具的另一个有趣特性是,我们可以产生于漏洞检测中的请求,而且它的相应响应在检测的时候会位于相同窗口中。这允许我们快读判断它是真正的漏洞还是误报,以及是否要开发我们的漏洞证明(POC)还是开始利用。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存