渗透测试报告中那些“不起眼”的发现为何重要?

本文探讨了渗透测试报告中常被客户质疑的“次要发现”的实际安全价值,包括自动填充、安全标头缺失、详细错误信息等低风险问题,解释了它们如何可能成为攻击入口,并强调了防御深度和基本安全卫生的重要性。

为什么我的渗透测试报告中有这个发现?

理解客户常质疑的发现的价值

在一些报告解读会议中,我们可能会遇到客户查看Web应用程序报告并问:“你们为什么要报告那个?”这篇博客探讨了为什么我们会包含某些从客户角度看可能不严重甚至不相关的发现,但从安全和咨询的角度看仍然有价值。

从顾问的角度来看,当我们参与Web应用程序评估且没有发现关键或高严重性漏洞时,我们仍可能报告最佳实践或低严重性问题。这不是填充内容。这是关于提供价值,即使在没有明显威胁的情况下。没有顾问想提交一份简单说“我们找不到任何东西”的报告。在大多数情况下,我们可以识别一些值得注意的最佳实践差距或小漏洞。

现在,如果我们确实发现了多个高严重性问题,那些理所当然地成为报告的焦点。但根据参与的范围和长度,我们可能仍会在适当的时候包含其他不太严重的发现。

为什么一些发现保留在报告中

客户可能质疑某些发现的一个原因是我们通常没有完全了解其组织的安全文化或威胁模型。作为顾问,我们的默认立场是保守的;我们假设您雇用我们是为了在参与范围内发现并报告尽可能多的有效问题。

我们向具有更自由或风险容忍方法的组织呈现保守发现是很常见的。如果那些发现让您觉得不合适或过多,我们绝对可以在事后调整,或者理想情况下在参与规划阶段调整。

但它在开发/暂存环境中…

另一个常见的反对意见:“那只是在开发或QA环境中。”虽然开发系统通常具有不同的威胁配置文件是事实,但那些环境中的发现可能仍然相关,特别是如果系统是面向互联网的。如果您的暂存或QA实例是公开可访问的,攻击者也可以访问它。

一旦攻击者获得立足点,他们通常可以在内部进行横向移动。从我们的角度来看,任何互联网暴露的系统都是公平游戏,应该适当加固。

受到推回的发现示例

解读会议中最常见的推回时刻之一是当客户看到他们认为不重要的发现时。像敏感字段上启用自动完成这样的事情经常被当作次要问题而驳回,但它们实际上可能导致凭据泄漏,特别是在共享机器或受感染的浏览器上。想象一下,有人在酒店大堂信息亭登录应用程序并意外保存了他们的凭据;下一个用户可能直接进入该账户。

另一个是缺少安全标头,如X-Content-Type-Options、Strict-Transport-Security、X-Frame-Options或Content-Security-Policy。客户会说:“我们不是银行,真的需要这个吗?”但这些标头保护免受非常真实的攻击,如MIME类型混淆、点击劫持和XSS。这不是关于成为高价值目标;而是关于基本卫生和深度防御。

详细错误消息和暴露的堆栈跟踪也很常见。有时它们甚至出现在生产环境中,并且经常显示服务器软件或版本号,如Nginx、Apache或ASP.NET。该信息为攻击者提供了更清晰的堆栈配置文件,使他们更容易查找这些版本可能存在的漏洞。

在一次参与期间,一名顾问能够从详细错误消息中获取加密密钥。使用加密密钥,顾问随后能够解密应用程序响应,揭示IDOR漏洞并获取敏感信息。

我们也对过时的JavaScript库受到推回。您可能使用了10或15个,虽然没有一个可能看起来关键,但现实是其中一些库具有已知漏洞,如XSS,甚至更糟。随着供应链风险的存在,依赖未修补的第三方代码不是可以忽略的事情。是的,我们理解更新可能会破坏功能或需要时间,但至少应该有计划或补偿控制。

账户锁定和速率限制是另一个。一些客户觉得无限登录尝试不是那么大的问题,特别是在低威胁环境中。但没有这些控制,您对暴力攻击完全开放。添加锁定逻辑或实施MFA显著减少了该威胁,而且通常是低努力。

开放目录列表也往往被忽视。表面上,它们看起来无害。但一次又一次,我们在这些目录中找到敏感文件,如配置备份、数据库导出或带有用户名和密码的旧文本文件。很少只是一个空文件夹。

接下来,有会话cookie配置。缺少Secure或HttpOnly标志可能看起来像清单项目,但它们存在是有原因的。没有它们,会话令牌更容易通过XSS或MitM攻击被盗。这些标志易于实施并提供有意义的保护。

最后但并非最不重要的,让我们谈谈TLS/SSL漏洞。这些是渗透测试中相当常见的发现,客户经常质疑为什么它们包含在报告中。但现实是,如果您的服务器仍然支持过时的协议如TLS 1.0或1.1,或弱密码如RC4和过时的CBC套件,那是一个真正的安全问题,因为攻击者可以拦截和解密客户端和服务器之间的流量。

棘手的部分

修复所有这些的棘手部分是兼容性。如果您的组织有庞大或多样化的客户群,特别是使用旧浏览器的用户,禁用这些旧协议和密码可能会中断一些用户的访问。我们在银行、保险和金融等部门经常看到这种情况,客户可能仍在使用旧版本的Internet Explorer或类似旧平台。这使得更难一夜之间翻转开关并修复问题。

我们遇到的另一个挑战是当客户依赖云服务或基础设施限制了他们控制使用哪些TLS/SSL协议或密码套件的能力时。有时WAF或负载均衡器规定了可用的内容,您的选项受到限制。在这些情况下,您的手有些被束缚。

所以是的,这些可能看起来像小事情,但在现实世界中,攻击者不需要一打关键缺陷就能成功。有时,一个弱链接就是全部所需。这就是为什么我们将这些包含在我们的报告中。而且,作为一家精英网络安全咨询公司,如果我们不包含这些有帮助的,尽管有时是次要的发现,我们将是失职的。

希望我们排除发现?让我们谈谈。

自定义如何报告发现的最佳时间是在参与启动电话期间。如果您已经意识到某些问题并不想包含它们,或更愿意将它们移到附录或标记为信息性,请告诉我们。我们经常根据那种反馈为客户定制报告。

另一方面,如果有您更关心的特定漏洞,告诉我们!我们将更深入地关注那些并花更多时间挖掘您优先考虑的领域。您的问题是我们的定制。

最终,这是关于平衡。帮助您的顾问了解您组织的安全文化,无论是更保守还是更威胁容忍,使参与对每个人都更顺利。我们越了解您的期望,最终报告就越可操作、相关和有价值。

如果您对我们的渗透测试或Web应用程序服务感兴趣,请联系我们的团队。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计