渗透测试报告中的“次要”发现:为何它们依然重要?

本文探讨了渗透测试报告中常被客户质疑的“次要”发现的价值,包括自动完成功能、安全标头缺失、详细错误消息等低风险问题的实际安全影响,并解释了为何这些发现对整体安全态势至关重要。

为何这份发现出现在我的渗透测试报告中?

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

在某些报告解读会上,我们可能会遇到客户查看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 设计