阅读并执行:自己扫描网络

鉴于世界上最近发生的事件,许多公司已转向远程操作。同时,为了保持业务流程的效率,将不打算直接放置在外围的应用程序(例如内部公司Web应用程序)放置在网络外围;我们最近对这个主题进行了研究。如果IT与信息安全服务之间没有紧密的联系,则当业务应用程序出现在网络外围时,就会出现这种情况,信息安全服务对此不了解任何信息。



解决此类问题的方法可以是定期检查组织的外围。网络扫描仪,IoT搜索引擎,漏洞扫描仪和安全分析服务适合解决此问题。在本文的进一步内容中,我们将考虑扫描的类型和参数,其优缺点,常用的工具以及处理结果的方法。



平扫描



首先要考虑的扫描是ping扫描。主要任务是检测网络中的“活动”节点。Ping扫描是指广播ICMP数据包。扫描程序将Echo REQUEST数据包发送到指定的IP地址,并期望Echo REPLY数据包作为响应。如果收到响应,则认为主机在网络上的指定IP地址上。



ICMP被网络管理员广泛用于诊断,因此,为避免泄露有关节点的信息,正确配置外围保护非常重要。对于公司网络,这种类型的扫描与外部扫描无关,因为默认情况下,大多数安全工具都会阻止ICMP或ICMP响应。在公司网络中没有非标准任务的情况下,通常允许以下类型的ICMP消息退出:目标不可达,回显请求,错误IP标头和回显,目标不可达,源猝灭,超过时间,错误IP标头。本地网络没有严格的安全策略,攻击者可以在已经进入网络的情况下使用此方法,但是很容易检测到。



端口扫描



让我们将TCP扫描和UDP扫描结合起来使用通用名称-端口扫描。使用这些方法进行扫描,可以确定节点上的可用端口,然后根据接收到的数据,对所使用的操作系统类型或目标节点上运行的特定应用程序进行假设。端口扫描是指测试尝试连接到外部主机。让我们考虑一下自动网络扫描仪中实现的主要方法:



  1. TCP SYN,
  2. TCP连接
  3. UDP扫描。


TCP SYN方法是最受欢迎的方法,在95%的情况下使用。因为未完全建立连接,所以称为半开扫描。将SYN消息发送到正在调查的端口,然后期望响应,并以此为基础确定端口状态。 SYN / ACK答复指示端口正在侦听(打开),而RST响应指示端口未侦听。



如果在几次请求之后未收到响应,则通过防火墙过滤了到目标端口的网络流量(以下我们将使用术语“已过滤端口”)。如果返回的ICMP消息带有“目标不可达”消息以及特定的代码和标志,则端口也被标记为已过滤。



TCP CONNECT方法不如TCP SYN流行,但在实践中仍然很常见。在实现TCP CONNECT方法时,将尝试通过握手过程建立与所需端口的TCP连接。该过程在于交换用于协商连接参数的消息,即节点之间的SYN,SYN / ACK,ACK服务消息。连接是在操作系统级别建立的,因此有可能被保护工具阻止并最终进入事件日志。



UDP扫描比TCP扫描更慢,更复杂。由于扫描UDP端口的特殊性,通常会忘记它们,因为对于大多数自动扫描程序而言,每个节点使用标准参数扫描65,535个UDP端口的总时间最多需要18个小时。可以通过并行化扫描过程和其他多种方式来减少时间。应该考虑寻找UDP服务,因为UDP服务与攻击者通常感兴趣的大量基础结构服务进行通信。



在网络外围通常会发现UDP服务DNS(53),NTP(123),SNMP(161),VPN(500、1194、4500),RDG(3391)。不太常见的服务,例如回声(7),丢弃(9),计费(19)以及DAYTIME(13),TFTP(69),SIP(5060),NFS(2049),RPC(111、137-139) ,761等),DBMS(1434)。



发送空的UDP标头以确定端口的状态,如果返回了带有“目标端口不可到达”代码的ICMP“目标无法到达”可达性错误,则表明该端口已关闭;其他ICMP可达性错误(目标主机不可达,目标协议不可达,网络受管理禁止,主机受管理禁止,通信受管理禁止)表明端口已被过滤。如果端口以UDP数据包响应,则该端口是开放的。由于UDP和数据包丢失的特殊性,请求会重复几次,通常为三次或更多。通常,如果未收到响应,则端口状态被确定为“打开”或“已过滤”,因为尚不清楚导致流量的原因-保护工具阻止流量或数据包丢失。



为了准确确定端口的状态以及在UDP端口上运行的服务本身,使用了特殊的有效负载,该负载的存在会在所研究的应用程序中引起一定的反应。



稀有扫描方法



实际不使用的方法:



  1. TCP确认
  2. TCP NULL,FIN,Xmas,
  3. 延迟扫描。


ACK扫描方法的直接目的是识别保护规则并识别已过滤的端口。对于这种类型的扫描,仅在请求数据包中设置了ACK标志。打开和关闭的端口将返回RST数据包,因为ACK数据包可到达这些端口,但是状态未知。不响应或不响应带有特定代码的“ ICMP目标不可达”消息的端口被视为已过滤。



TCP NULL,FIN,Xmas方法将在TCP标头中发送带有禁用标志的数据包。 NULL扫描不设置任何位,FIN扫描设置TCP FIN位,而Xmas扫描设置FIN,PSH和URG标志。这些方法基于RFC 793的功能,根据该功能,当端口关闭时,不包含RST的传入段将导致发送RST作为响应。打开端口后,将没有任何响应。 ICMP可达错误表示正在过滤端口。这些方法被认为比SYN扫描更为机密,但准确性较低,因为并非所有系统都遵循RFC 793。



延迟扫描是最隐秘的方法,因为它使用另一台称为僵尸主机的主机进行扫描。该方法被入侵者用于情报。该扫描的优点是为僵尸主机确定了端口状态,因此通过使用不同的主机,可以在主机之间建立信任关系。此处提供了该方法的完整说明



漏洞识别过程



漏洞是指整个节点或其各个软件组件的弱点,可用于实施攻击。在标准情况下,漏洞的存在是由程序代码或所用库中的错误以及配置错误引起的。



该漏洞记录在MITER CVE中,详细信息发布在NVD中。为漏洞分配了CVE标识符和总体CVSS漏洞评分,该评分反映了该漏洞对最终系统造成的风险级别。有关评估漏洞的详细信息,请参阅我们的文章。集中的MITER CVE列表是漏洞扫描程序的参考点,因为扫描的任务是检测易受攻击的软件。



配置错误也是一个漏洞,但是在MITER数据库中很少发现此类漏洞。但是,它们仍然存在于带有内部标识符的扫描仪的知识库中。MITER CVE中没有的其他类型的漏洞也属于扫描仪的知识库,因此在选择扫描工具时,请务必注意其开发人员的专业知识。漏洞扫描程序将轮询节点,并将收集的信息与漏洞数据库或已知漏洞列表进行比较。扫描仪拥有的信息越多,结果越准确。



让我们看一下扫描参数,扫描类型和使用漏洞扫描程序检测漏洞的原理。



扫描选项



在一个月内,组织的范围会不断变化。进行额头周长扫描会浪费时间,结果变得无关紧要。随着扫描速度的强劲提高,服务可能会“下降”。我们需要找到一个平衡并选择正确的扫描参数。花费的时间,结果的准确性和相关性取决于选择。总共可以扫描65,535个TCP端口和相同数量的UDP端口。根据我们的经验,落入扫描池的公司的平均统计范围是两个完整的C级网络,其掩码为24。



基本参数:



  1. 端口数量
  2. 扫描深度
  3. 扫描速度
  4. 确定漏洞的参数。


根据端口的数量,扫描可以分为三种类型:扫描TCP和UDP端口的整个列表,扫描TCP端口和流行的UDP端口的整个列表,扫描流行的TCP和UDP端口。如何确定港口的受欢迎程度?在nmap实用程序中,基于实用程序开发人员收集的统计信息,在配置文件中定义了数千个最受欢迎的端口。商用扫描仪还具有针对多达3500个端口的预配置配置文件。



如果网络在非标准端口上使用服务,则也应将它们添加到扫描列表中。对于常规扫描,我们建议使用中间选项,该选项将扫描所有TCP端口和常用的UDP端口。就时间和结果准确性而言,此选项是最平衡的。在执行渗透测试或完整的网络边界审核时,建议您扫描所有TCP和UDP端口。



重要说明:从本地网络进行扫描时,您将无法看到外围的真实图片,因为扫描器将受到来自内部网络的防火墙规则的约束。必须从一个或多个外部站点执行外围扫描;仅当它们位于不同的国家/地区时才使用不同的站点才有意义。



扫描深度是指有关扫描目标的已收集数据量。这包括操作系统,软件版本,有关用于各种协议的加密的信息,有关Web应用程序的信息。同时,存在直接关系:我们想知道的越多,扫描程序将越长时间工作并收集有关节点的信息。



选择速度时,必须遵循进行扫描的通道的带宽,正在扫描的通道的带宽以及扫描仪的功能。存在阈值,超过该阈值不能保证结果的准确性,不能保证扫描节点和各个服务的可操作性。不要忘记考虑完成扫描所花费的时间。



漏洞检测选项是扫描选项中最广泛的部分,它确定扫描的速度和可以检测到的漏洞数量。例如,横幅检查不会花费很长时间。攻击模拟将仅针对某些服务执行,并且也不会花费很多时间。最长的视图是Web爬网。



对数百个Web应用程序进行全面扫描可能需要数周时间,具体取决于所使用的词汇表和需要检查的应用程序入口点的数量。重要的是要理解,由于实施Web模块和Web爬网程序的特殊性,对Web漏洞的工具验证不会提供100%的准确性,但会大大减慢整个过程。



最好通过仔细选择要扫描的应用程序,与常规扫描分开进行网络爬网。要进行深入分析,请使用静态和动态应用程序分析工具或渗透测试服务。我们不建议在执行常规扫描时使用危险扫描,因为这可能会破坏服务的性能。有关检查的详细信息,请参阅下面有关扫描仪操作的部分。



工具类



如果您曾经研究过站点的安全日志,则可能已经注意到,Internet已被大量研究人员,在线服务和僵尸网络扫描。详细描述所有工具毫无意义,我们将列出一些用于扫描网络边界和Internet的扫描仪和服务。每个扫描工具都有不同的用途,因此在选择工具时,应了解为什么要使用它。有时使用多个扫描仪以获得完整而准确的结果是正确的。



网络扫描仪:MasscanZmapnmap...实际上,还有许多实用程序可用于扫描网络,但是您几乎不需要其他实用程序即可扫描外围。这些实用程序解决了与端口和服务扫描相关的大多数任务。



物联网或在线爬网程序上的搜索引擎通常是收集有关Internet信息的重要工具。它们提供了站点成员身份,证书,活动服务和其他信息的摘要。可以与此类扫描仪的开发人员达成共识,将您的资源从扫描列表中排除,或者保留有关资源的信息,仅供企业使用。最有名的搜索引擎:初段Censys佛法



为了解决该问题,没有必要使用带有大量支票的复杂的商业工具:不必扫描几个“轻型”应用程序和服务。在这种情况下,免费的扫描仪就足够了。有很多免费的网络爬虫,很难选择最有效的网络爬虫;这里的选择只是一个品味问题;最著名的:SkipfishNiktoZAPAcunetixSQLmap



为了执行最少的扫描任务并确保“纸张”安全性,预算具有不断更新的漏洞知识以及供应商的支持和专业知识的商业扫描仪以及FSTEC证书可能是合适的。最著名的是:XSpider,RedCheck,Scanner-VS。



为了进行仔细的手动分析,Burp Suite,Metasploit和OpenVAS工具将派上用场。谷歌的海啸扫描仪最近已经发布



值得一提的另一行是在线漏洞搜索引擎Vulners... 这是一个信息安全内容的大型数据库,该数据库从众多来源收集有关漏洞的信息,除了标准数据库外,还包括供应商安全公告,漏洞赏金计划和其他主题资源。该资源提供了一个可以获取结果的API,因此您可以在系统上实施横幅检查,而无需在此时此地进行实际扫描。或使用Vulners漏洞扫描程序,该程序将收集有关操作系统,已安装程序包的信息,并通过Vulners API检查漏洞。资源的某些功能已付费。



安全分析工具



所有商业安全系统均支持基本扫描模式,如下所述,该模式与各种外部系统(如SIEM系统,补丁管理系统,CMBD,票务系统)集成。商业漏洞分析系统可以根据不同的标准发送警报,并支持不同的报告格式和类型。所有系统开发人员都使用常见的漏洞数据库以及自己的知识库,这些知识库会根据研究不断进行更新。



商业安全分析工具之间的主要区别是支持的标准,政府机构的许可证,所执行检查的数量和质量,以及对一个或另一个销售市场的关注,例如对扫描家用软件的支持。本文无意对漏洞分析系统进行定性比较。我们认为,每个系统都有其自身的优点和缺点。列出的工具适用于安全性分析,您可以使用它们的组合:QualysMaxPatrol 8Rapid 7 InsightVMTenable SecurityCenter



安全分析系统如何工作



扫描模式是根据三个相似的原理实现的:



  1. 审核或白盒模式。
  2. 符合性或验证符合技术标准。
  3. Pentest或黑匣子模式。


外围扫描的主要兴趣在于黑匣子模式,因为它模拟了对扫描节点一无所知的外部攻击者的行为。以下是所有模式的快速参考。



审核是白盒模式,允许您执行完整的网络清单,检测所有软件,确定其版本和参数,并在此基础上详细得出有关系统漏洞的结论,并检查系统是否使用弱密码。扫描过程需要与企业网络进行一定程度的集成,特别是需要帐户来授权节点。



对于作为扫描仪的授权用户而言,获取有关节点,其软件和配置参数的详细信息要容易得多。在扫描期间,根据收集数据的系统的具体情况,使用各种机制和操作系统的传输来收集数据。传输列表包括但不限于WMI,NetBios,LDAP,SSH,Telnet,Oracle,MS SQL,SAP DIAG,SAP RFC,使用适当协议和端口的远程引擎。



符合性是一种检查是否符合任何安全标准,要求或策略的方式。该模式使用类似于审核的机制和传输方式。该模式的一个特点是能够检查公司系统是否符合安全扫描器中嵌入的标准。标准示例包括用于支付系统和处理的PCI DSS,用于俄罗斯银行的STO BR IBBS,用于符合欧盟要求的GDPR。另一个示例是内部安全策略,其要求可能比标准中规定的要求更高。此外,还有更新安装检查和其他自定义检查。



Pentest是黑盒模式,在这种模式下,扫描仪除目标地址或域名外没有其他数据。请考虑在该模式下使用的检查类型:



  1. 标语检查
  2. 模仿攻击
  3. 网络检查
  4. 检查配置,
  5. 危险检查。


标语检查基于以下事实:扫描程序确定所用软件和操作系统的版本,然后根据内部漏洞数据库检查这些版本。为了搜索标语和版本,使用了各种来源,其可靠性也有所不同,并且由扫描仪的内部逻辑考虑在内。来源可以是服务标语,日志,应用程序响应及其参数和格式。在分析Web服务器和应用程序时,将检查来自错误和拒绝访问页面的信息,并分析这些服务器和应用程序的响应以及其他可能的信息源。扫描程序将横幅广告检测到的漏洞标记为可疑漏洞或未确认漏洞。



模拟攻击是利用主机上漏洞的安全尝试。模拟攻击的误报率很小,并且经过了全面测试。当扫描程序在扫描目标上检测到漏洞签名时,便会利用该漏洞。检查使用检测漏洞所需的方法;例如,将非典型请求发送到不会导致拒绝服务的应用程序,而漏洞的存在则取决于易受攻击的应用程序的典型响应。



另一种方法:成功利用允许执行代码的漏洞后,扫描程序可以从易受攻击的主机向自身发送传出的PING或DNS请求。重要的是要理解,并非总是可以安全地检查漏洞,因此,通常在渗透测试模式下,检查的出现要晚于其他扫描模式。



Web检查是检测到的Web应用程序可以接受的最广泛,最耗时的检查类型。在第一阶段,将扫描Web应用程序目录,并在可能存在潜在漏洞的位置检测参数和字段。此类扫描的速度取决于用于搜索目录的词典以及Web应用程序的大小。



在同一阶段,将收集CMS和应用程序插件的标语,这些标语用于检查已知漏洞。下一步是基本的Web检查:搜索各种类型的SQL注入,搜索身份验证和会话存储系统中的错误,搜索敏感数据和不受保护的配置,检查XXE注入,跨站点脚本,不安全的反序列化,加载任意文件,远程执行代码和遍历路径...该列表可以更大,具体取决于扫描参数和扫描仪功能;通常,在最大参数下,将根据OWASP十大列表进行检查



配置检查旨在检测软件配置错误。它们可以识别默认密码,也可以针对使用不同帐户的一小段密码尝试使用密码。显示管理身份验证面板和控制界面,可用的打印机,弱加密算法,访问权限错误以及通过标准路径披露的机密信息,可下载的备份以及IT系统和信息安全系统的管理员所犯的其他类似错误。



在那些危险的检查中,有可能导致违反数据完整性或可用性的检查。这包括检查拒绝服务,带有参数的SQL注入选项,这些参数用于删除数据或进行更改。暴力破解攻击不受导致帐户封锁的暴力破解尝试的限制。由于可能产生的后果,很少使用危险检查,但是安全扫描程序将其作为模拟攻击者行为的一种手段,这些攻击者无需担心数据安全。



扫描和结果



我们回顾了基本的扫描方法和工具,让我们继续探讨如何在实践中使用这些知识的问题。首先,您需要回答有关什么以及如何扫描的问题。要回答此问题,您需要收集有关属于组织的外部IP地址和域名的信息。根据我们的经验,最好将扫描目标分为清单和漏洞识别。



与漏洞扫描相比,清单扫描的执行频率要高得多。在清单中,优良作法是使用有关服务管理员,服务的内部IP地址(如果使用NAT)以及服务的重要性及其用途等信息来丰富结果。将来,信息将有助于快速消除与检测有害或易受攻击的服务有关的事件。理想情况下,公司具有将服务放置在网络外围的过程和策略,该过程涉及IT和信息安全服务。



即使采用这种方法,也可能由于人为因素和各种技术故障而导致错误,从而导致在外围出现不必要的服务。一个简单的示例:在Check Point网络设备上编写一条规则,该规则将端口443从内部网络广播到外围。那里的服务已经过时且无法使用。 IT服务人员未获悉此事,因此规则仍然存在。在这种情况下,外围可能会以对Check Point设备管理面板或其他计划在此处不托管的内部服务的身份验证结束。同时,外围图片尚未正式更改,并且该端口可用。



为了检测到此类变化,有必要定期扫描并对结果进行差异比较,然后服务标语中会有明显的变化,这将引起注意并导致事件分析。



消除漏洞



正确实施漏洞消除过程的技术步骤的第一步是正确呈现您将要使用的扫描结果。如果使用多个不同的扫描仪,则最正确的方法是在一处分析并合并节点上的信息。为此,建议使用分析系统,该系统还将存储有关库存的所有信息。

修复漏洞的基本方法是安装更新。您还可以使用另一种方法-将服务带出外围(仍然需要安装安全更新)。



您可以应用补偿性调整措施,即排除使用易受攻击的组件或应用程序。另一种选择是使用专门的安全工具,例如IPS或应用程序防火墙。当然,防止不必要的服务出现在网络边界上是更正确的做法,但是由于各种情况(尤其是业务要求),这种方法并非总是可行的。



漏洞消除优先级



修复漏洞的优先级取决于组织的内部流程。在努力消除网络外围的漏洞时,重要的是要清楚了解服务为何位于外围,由谁来管理和拥有它。首先,您可以消除负责公司关键业务功能的节点上的漏洞。自然,此类服务无法从外围移除,但可以采用补偿措施或其他安全措施。对于不太重要的服务,则更容易:它们可以从外围临时移除,缓慢更新并返回服务。



另一种方法是根据节点的严重性或漏洞数量来消除优先级。当节点检测到10到40条横幅广告扫描漏洞的嫌疑时,没有必要检查它们是否都存在,首先,这表明该是该节点上软件更新的时候了。如果没有续约的机会,则必须制定补偿措施。如果组织中有大量节点,发现其中没有更新的易受攻击的软件组件,那么该考虑考虑切换到仍处于更新(支持)周期的软件了。为了更新软件,您可能首先需要更新操作系统。



结果



您不仅可以从网络上获取有关服务和服务的信息,还可以从Internet上的任何人获取。以一定的准确性,即使不进行扫描也可以识别系统漏洞。为了降低信息安全事件的风险,您需要监视网络边界,及时隐藏或保护不需要的服务,并安装更新。



流程是独立组织还是由第三方专家提供外围控制或安全分析服务都没有关系。最重要的是确保定期进行边界控制和漏洞修复。积极技术PT专家安全中心在线服务部高级专家Maxim Fedotov



发布



All Articles