什么是渗透测试评估的满意结果?

信息安全 渗透测试
2021-08-16 13:53:22

我想问你渗透测试工作的令人满意的结果是什么?

我主要担心的是渗透测试很困难,而且它并不总是导致获得远程外壳或根。但是,列出潜在漏洞要容易得多。

例如,如果有 2007 年的 PHP 版本 4,我可以将其列为潜在载体,但我可能无法利用它。成功利用是渗透测试工作的要求吗?如果包含一些成功的利用漏洞,那么漏洞扫描也会是这项工作的好结果(但占所有可能问题的不到 1%)。

4个回答

作为一个签约渗透测试人员而不是我作为渗透测试人员的人,我正在寻找的是你所做的不仅仅是运行 Nessus/ZAP/Burp - 我自己可以做到这一点(尽管我希望你这样做好)。我希望您观看应用程序/网站中的数据流,并寻找那些表明存在可能被利用的逻辑错误的松散线程。我希望你能告诉我你能从外面收集到什么,你能告诉我一些扫描无法发现的引起关注的事情。

我正在寻找您查看过的迹象,例如,密码重置屏幕并考虑过该流程是否可被利用。我想看看您是否考虑过特权信息是否可供非特权用户使用(即,应用程序是否只是使用 css 来隐藏它或类似的东西)。

理想情况下,在我与你签约之前,我已经完成了简单的工作——我已经完成了扫描,我已经完成了补丁,并且我已经挑选了所有低调的果实。我雇了一个渗透测试员来做一些困难的事情。

真的,如果你不设法利用漏洞,我想看看你已经把指甲磨破了,在外面抓挠,寻找裂缝。

成功利用是渗透测试工作的要求吗?

遵循渗透测试的严格定义,您必须实际攻击目标系统并记录您的成功和失败尝试。仅仅因为您的指纹识别工具揭示了过时的软件版本而得出服务器应该易受攻击的结论是不够的。您明确地站在攻击者的角度,并且必须证明系统是如何被渗透的。

SANS 渗透测试论文做出以下区分(尽管定义有所不同):

渗透测试与漏洞评估

[有]渗透测试和漏洞评估之间经常有些混淆。这两个术语是相关的,但渗透测试更强调获得尽可能多的访问权限,而漏洞测试则强调识别易受计算机攻击的区域。[...]漏洞评估员将在破坏系统之前停止,而渗透测试员将在合同范围内尽其所能。

也就是说,您的普通客户可能没有意识到这种区别,并且可能真的不希望您花太多时间“尽可能地”。对他们来说,获得关于究竟需要修复什么的明确说明可能比获取所有根 shell 的列表更重要。通过让您测试系统,您必须事先了解他们想要达到的效果。您的客户应该意识到渗透测试不等于全面的安全评估。

我想这取决于您要查找的内容以及工作范围。我做过的一些渗透测试只是想看看理论上的发现,其他人则想让我实际闯入并造成一些破坏。只有那些不真正喜欢它的人才能进行渗透测试。发挥创意,玩得开心……但要保持在范围内。;)

让我这么说吧:除非被测应用程序的开发者自己是安全专家,否则我绝对希望你至少能找到一些漏洞利用。如果您根本没有发现任何东西,我会非常不高兴,因为根据我的经验,您的普通开发人员对安全问题的理解不够透彻,无法从一开始就避免所有可能的漏洞。

请注意,我将为您的测试取消“默默无闻的安全性”限制。也就是说,您可以访问机器(shell 等),甚至可以访问源代码以获取有关应用程序的知识。你的渗透当然必须在没有它的情况下工作,就像真正的攻击者一样。