概述

本节PTES的目的是介绍和解释有助于渗透试验预啮合步骤成功的可用工具和技术。本节中的信息是世界上一些最成功的渗透测试人员多年综合经验的结果。

如果您是一位正在寻找渗透测试的客户,我们强烈建议您前往本文档的一般问题部分。它涵盖了测试开始前应该回答的主要问题。记住,渗透测试不应该是对抗性的。不应该是看测试人员能不能“黑”你的活动。它应该是关于识别与攻击相关的业务风险。

为了获得最大价值,请确保涵盖本文档中的问题。此外,随着范围界定活动的进展,一个好的测试公司将开始询问针对您的组织的额外问题。

范围介绍

定义范围可以说是渗透测试最重要的组成部分之一,但也是最容易被忽视的部分之一。虽然已经有许多关于可以用来访问网络的不同工具和技术的著作,但是关于渗透之前的主题(准备)的作品却很少。忽略其中的一些步骤有可能使渗透测试人员(或他的公司)面临许多令人头痛的问题,包括范围蔓延、客户文件受损,甚至法律麻烦。项目的范围明确定义了要测试的内容。测试的每个方面将如何进行,将在攻击章节中介绍。

首先一点,如何去确定好测试的范围,其实作为公司角度来说,首先应该与客户确定好相关测试的定价,定价不仅仅是确定测试一个服务器还是一个ip的价格,更应该是基于客户网站的使用人数、信息存储量、相关的安全策略等来协定,具体参考每个公司内部的定价表。确定好定价才能确定好客户需要测试的具体范围。但实际大部分公司本身自己也不知道该测试哪里,这一点就得测试人员参考等级保护的要求针对客户的业务网站做出相对应的方案。

尽管有一个明确的定价结构,这个过程并不完全是黑白分明的。对于客户来说,完全不知道他们到底需要测试什么是很常见的。也有可能客户不知道如何有效地传达他们对测试的期望。在预参与阶段,测试人员能够在客户未知的领域充当向导是很重要的。测试人员必须了解两种测试之间的区别,一种是以高强度测试单个应用程序,另一种是客户提供大范围的IP地址进行测试,目标只是简单地找到一种方法。

时间估计的度量

时间估计直接依赖于测试人员在某个领域的经验。如果一个测试人员在某个测试中有丰富的经验,他很可能天生就能够决定一个测试需要多长时间。如果测试人员在该领域的经验较少,重新阅读公司以前进行的类似测试的电子邮件和扫描日志是估计当前项目所需时间的一个好方法。一旦确定了测试时间,谨慎的做法是增加20%的时间。

时间值后端多出来的20%称为填充。在顾问圈子之外,这也被称为顾问开销。填充对于任何测试都是绝对必要的。它为测试中出现的任何中断提供了缓冲。有许多事件经常发生并阻碍测试过程。例如,某个网段可能出现故障,或者发现了一个重大漏洞,这需要与许多管理层召开多次会议来解决。这两个事件都很耗时,并且如果填充不到位,会显著影响原始时间估计。

如果20%的填充没有必要,会发生什么?向客户收取不工作时间的费用是非常不道德的,因此测试人员有责任提供额外的价值,如果约定时间限制已经达到,通常不会提供额外的价值。示例包括带领公司安全团队完成利用漏洞的步骤,如果它不是原始交付列表的一部分,则提供执行摘要,或者花一些额外的时间尝试破解在初始测试中难以捉摸的漏洞。

时间和测试度量的另一个组成部分是每个项目都需要有一个明确的截止日期。所有好的项目都有明确的开始和结束。如果您已经到了测试结束的具体日期,或者如果在该日期之后要求您进行任何额外的测试或工作,您将需要有一份经签署的工作说明书,说明工作和所需的时间。一些测试人员很难做到这一点,因为他们觉得当涉及到成本和时间时,他们太痛苦了。然而,根据作者的经验,如果你为主测试提供了额外的价值,客户不会拒绝支付你额外的工作。

范围界定会议

在许多情况下,范围界定会议将在合同签署后举行。确实存在这样的情况,其中许多与范围相关的主题可以在签订合同之前进行讨论,但是这种情况很少。对于这些情况,建议在进行任何深入的范围界定讨论之前签署保密协议。

范围界定会议的目标是讨论将要测试的内容。本次会议将不讨论参与规则和成本。这些主题中的每一个都应该在会议中处理,每个主题都是会议的焦点。这样做是因为如果焦点不明确,讨论很容易变得混乱。重要的是充当主持人,让讨论围绕主题进行,避免跑题,必要时宣布某些主题更适合离线讨论。

现在已经为项目建立了一个粗略的数量级(ROM)值,是时候与客户开会来验证假设了。首先,需要明确确定项目范围内的IP范围。客户抗拒并认为测试人员有权识别他们的网络并攻击它,以使测试尽可能真实,这种情况并不罕见。这确实是一种理想的情况,但是,必须首先考虑可能的法律后果。正因为如此,测试人员有责任向客户传达这些问题,并告诉他们隐式范围界定的重要性。例如,在会议中,应验证客户拥有所有目标环境,包括:DNS服务器、电子邮件服务器、运行web服务器的实际硬件以及防火墙/IDS/IPS解决方案。有许多公司会将这些设备的管理外包给第三方。

此外,必须确定目标环境运行所在的国家、省和州。法律因地区而异,测试很可能会受到这些法律的影响。例如,众所周知,欧盟国家有非常严格的个人隐私法律,这可能会极大地改变社会工程项目的执行方式。

基于时间的收费标准

任何未明确涵盖在合约范围内的事项都应小心处理。第一个原因是范围蔓延。随着范围的扩大,资源被消耗,减少了测试人员的利润,甚至可能引起客户的困惑和愤怒。还有一个问题,许多测试人员在临时承担额外工作时没有想到:法律后果。许多临时请求没有正确记录,因此在发生争议或法律诉讼时,很难确定谁说了什么。此外,合同是一个法律文件,规定了要做的工作。它应该与允许测试备忘录紧密联系在一起。

任何超出原始范围的请求都应该以工作说明书的形式记录下来,清楚地确定要完成的工作。我们还建议在合同中明确规定,额外工作将按每小时固定费用完成,并明确规定,在签署和会签SOW之前,额外工作无法完成。

问卷

在与客户的初始沟通期间,客户必须回答几个问题,以便能够正确估计合约范围。这些问题旨在让客户更好地了解他们希望从渗透测试中获得什么,为什么客户希望针对他们的环境执行渗透测试,以及他们是否希望在渗透测试期间执行某些类型的测试。以下是在此阶段可能会问到的问题示例。

一般问题

网络渗透测试

  1. 为什么客户要针对其环境执行渗透测试?
  2. 特定合规性要求是否需要渗透测试?
  3. 客户何时需要主动部分(扫描、枚举、利用等...)进行的渗透测试?
    1. 在营业时间?
    2. 下班后?
    3. 在周末?
  4. 总共测试了多少个IP地址?
    1. 多少个内部IP地址(如果适用)?
    2. 多少个外部IP地址(如果适用)?
  5. 是否有可能影响渗透测试结果的设备,如防火墙、入侵检测/防御系统、web应用程序防火墙或负载平衡器?
  6. 在系统被渗透的情况下,测试团队应该如何进行?
    1. 在受损机器上执行本地漏洞评估?
    2. 试图获取受损机器上的最高权限(Unix机器上的root、Windows机器上的SYSTEM或Administrator )?
    3. 对获得的本地密码哈希(例如,Unix机器上的/etc/shadow)执行无密码攻击、最小密码攻击、字典攻击或彻底密码攻击?

Web应用渗透测试

  1. 有多少web应用程序正在接受评估?
  2. 正在评估多少个登录系统?
  3. 正在评估多少静态页面?(近似值)
  4. 正在评估多少动态页面?(近似值)
  5. 源代码会随时可用吗?
  6. 会有什么文档吗?
    1. 如果是,什么样的文件?
  7. 将对该应用程序执行静态分析吗?
  8. 客户是否希望针对此应用程序执行模糊处理?
  9. 客户是否希望对该应用程序执行基于角色的测试?
  10. 客户端是否希望执行web应用程序的凭证扫描?

无线网络渗透测试

  1. 有多少无线网络?
  2. 是否使用了访客无线网络?如果是这样:
    1. 访客网络需要身份验证吗?
    2. 无线网络使用哪种类型的加密?
    3. 覆盖面积有多大?
    4. 是否有必要列举流氓设备?
    5. 团队会评估针对客户端的无线攻击吗?
    6. 大约有多少客户端将使用无线网络?

物理渗透试验

  1. 有多少地点正在接受评估?
  2. 该物理位置是共享设施吗?如果是这样:
    1. 范围内有多少层?
    2. 哪些楼层在范围内?
  3. 有没有需要绕过的保安?如果是这样:
    1. 保安是通过第三方雇佣的吗?
    2. 他们有武器吗?
    3. 允许他们使用武力吗?
  4. 这栋大楼有几个入口?
  5. 是否允许使用开锁工具或碰撞钥匙?(还要考虑当地法律)
  6. 此测试的目的是验证是否符合现有政策和程序,还是为了执行审核?
  7. 范围内该区域的面积是多少?
  8. 所有物理安全措施都有文件记录吗?
  9. 正在使用摄像机吗?
    1. 摄像机是客户所有的吗?如果是这样:

      1. 团队是否应该尝试访问存储摄像机数据的位置?
  10. 是否使用了武装报警系统?如果是这样:
    1. 警报是无声警报吗?
    2. 警报是由运动触发的吗?
    3. 警报是由门窗打开触发的吗?

社会工程

  1. 客户是否有他们希望对其进行社会工程攻击的电子邮件地址列表?
  2. 客户是否有一个他们希望进行社会工程攻击的电话号码列表?
  3. 是否批准了以获得未经授权的物理访问为目的的社会工程?如果是这样:
    1. 会针对多少人?

请注意,作为不同测试级别的一部分,可能不需要向业务部门经理、系统管理员和问讯台人员提问。但是,在这些问题是必要的情况下,可以在下面找到一些示例问题。

针对业务部门经理的问题

  1. 经理知道即将进行测试吗?
  2. 如果暴露、损坏或删除,会给组织带来最大风险的主要数据是什么?
  3. 是否有验证业务应用程序正常运行的测试和验证程序?
  4. 从最初开发应用程序时起,测试人员是否可以访问质量保证测试过程?
  5. 是否为应用程序数据制定了灾难恢复程序?

针对系统管理员的问题

  1. 是否有任何系统可以被描述为脆弱的?(有崩溃倾向的系统、较旧的操作系统或未打补丁的系统)
  2. 网络上是否有不属于客户的系统,可能需要额外的批准才能测试?
  3. 变更管理程序是否到位?
  4. 修复系统中断平均需要多长时间?
  5. 有系统监控软件吗?
  6. 最关键的服务器和应用程序是什么?
  7. 是否定期测试备份?
  8. 上次恢复备份是什么时候?

范围蔓延

范围蔓延是让渗透测试公司破产的最有效的方法之一。问题是,许多公司和管理者几乎不知道如何识别它,或者当它发生时如何做出反应。

在对抗范围蔓延时,有几件事情需要记住。首先,如果客户对某项服务的工作感到满意,他们通常会要求额外的工作。把这当成一种赞美,并毫不犹豫地要求额外的资金来补偿额外花费的时间。如果客户拒绝支付额外工作的费用,那么留下来做这项工作几乎是不值得的。

第二点更为关键。与现有客户打交道时,注意保持较低的价格。利用好形势哄抬价格是赶走回头客的可靠方法。考虑到价格可以降低,因为公司避免了获取客户的成本,如正式的RFP流程和寻找客户本身。此外,未来工作的最佳来源是通过现有的客户。善待他们,他们会回来的。

指定开始和结束日期

防止范围蔓延的另一个关键因素是明确说明开始和结束日期。这使得项目有明确的目标。范围蔓延最常见的地方之一是在重新测试期间。在追求一份合同时,重新测试听起来总是一个好主意。这表明该公司是关心和勤奋的,试图确保客户尽可能安全。当人们忘记工作只有完成后才能得到报酬时,问题就出现了。这包括重新测试。

为了降低这种风险,在合同中添加一个简单的声明,说明所有的重新测试必须在最终报告交付后的特定时间内完成。然后,带头进行重新测试工作就成了测试人员的责任。如果客户要求延期,请允许延期,条件是必须在最初指定的日期付款。最后,也是最重要的,进行质量再测试。请记住,未来工作的最佳来源是您现有的客户群。

指定IP范围和域

在开始渗透测试之前,必须识别所有目标。这些目标应该在最初的问卷调查阶段从客户那里获得。客户可以以特定IP地址、网络范围或域名的形式给出目标。在某些情况下,客户提供的唯一目标是组织的名称,并期望测试人员能够自己识别其余的。定义测试人员和最终目标之间的防火墙、IDS/IPS或网络设备等系统是否也在范围之内,这一点很重要。无论上游提供商和其他第三方提供商是否在范围内,都应确定和定义其他元素。

验证范围

在您开始攻击目标之前,您必须验证它们实际上属于您正在对其执行测试的客户。想象一下,如果您开始攻击一台机器并成功侵入,但后来发现该机器实际上属于另一个组织(如医院或政府机构),您可能会遇到的法律后果。

与第三方打交道

在许多情况下,合约将包括测试由第三方托管的服务或应用程序。近年来,随着“云”服务变得越来越流行,这种情况变得越来越普遍。最重要的是要记住,虽然客户可能已经授予了许可,但他们并不代表他们的第三方提供商。因此,为了测试托管系统,也必须获得他们的许可。未能获得适当的许可,一如既往地带来了违反法律的可能性,这可能会导致无尽的头痛。

云服务

测试云服务的一个最大问题是来自多个不同组织的数据存储在一个物理介质上。这些不同数据域之间的安全性通常非常松散。云服务提供商需要注意测试,需要确认测试正在进行,并授予测试组织进行测试的权限。此外,在云服务提供商内部需要有一个直接的安全联系人,以便在发现可能影响其他云客户的安全漏洞时能够联系上。一些云提供商有渗透测试人员需要遵循的特定程序,并可能要求他们在测试开始前提供申请表、时间表或明确的许可。

网络服务提供商

向客户核实ISP服务条款。在许多商业情况下,ISP会有具体的测试规定。在发起攻击之前,请仔细阅读这些术语。有些情况下,ISP会避开并阻止某些被认为是恶意的流量。客户可能同意这种风险,但在开始之前必须清楚地传达这种风险。虚拟主机与所有其他第三方一样,测试的范围和时间需要与虚拟主机提供商明确沟通。此外,在与客户沟通时,一定要清楚地阐明测试将只搜索web漏洞。该测试不会发现底层基础设施中的漏洞,这些漏洞仍可能为危害应用程序提供途径。

提供商

托管安全服务提供商也可能需要被通知测试。具体来说,当他们拥有的系统和服务将要被测试时,他们需要得到通知。但是,在某些情况下,MSSP不会收到通知。如果确定MSSP的实际响应时间是测试的一部分,通知MSSP肯定不符合测试完整性的最佳利益。根据一般经验,任何时候对MSSP明确拥有的设备或服务进行测试时,都需要通知他们。

托管服务器的省份

验证服务器所在的国家也符合测试人员的最大利益。验证国家/地区后,请在开始测试前查看特定省市/地区的法律。不应假设公司的法律团队会为测试人员提供完整的当地法律概要。也不应该假设公司会对其测试人员违反的任何法律承担法律责任。在开始测试之前,每个测试人员都有责任验证他们所测试的每个地区的法律,因为测试人员最终将不得不对任何违规行为负责。

定义可接受的社会工程学方式

许多组织希望以与当前攻击相一致的方式测试他们的安全状况。当今,社会工程和鱼叉式网络钓鱼攻击被许多攻击者广泛使用。虽然大多数成功的攻击使用例如钱,物质方面,但其中一些方式在企业环境中可能是不可接受的。在测试开始之前,确保为测试选择的任何方式都得到书面批准。

DoS测试

在合约开始之前,应讨论压力测试或拒绝服务测试。由于测试的潜在破坏性,这可能是许多公司感到不舒服的话题。如果一个公司只担心他们数据的机密性或完整性,压力测试可能是不必要的;但是,如果组织也担心其服务的可用性,那么压力测试应该在与生产环境相同的非生产环境中进行。

付款条例

许多测试人员完全忘记的另一个测试准备方面是他们应该如何得到报酬。就像合同日期一样,付款也应该有具体的日期和条款。对于较大的组织来说,尽可能长时间地延迟付款并不罕见。以下是几种常见的支付方式。这些只是简单的例子。我们强烈建议每个组织创建和调整自己的定价结构,以更好地满足客户和自己的需求。重要的是,在测试开始之前,某种结构已经就位。

付款日期

总金额应在最终报告交付后30天内支付。这通常与每月未付款的百分比罚款有关。这可以是您希望授予客户的任意天数(即45天或60天)。

定金

在测试开始之前,要求预付总费用的一半是很常见的。这对于长期合约来说非常常见。

分期付款

经常性付款计划更常用于长期合约。例如,有些约定可能长达一年或两年。让顾客全年定期分期付款是很常见的。

目标

每个渗透测试都应该是面向目标的。也就是说,测试的目的是识别导致损害客户业务或任务目标的特定漏洞。它不是关于寻找未打补丁的系统。它是关于识别将对组织产生负面影响的风险。

首要点

测试的主要目标不应该由符合性驱动。这种推理有许多不同的理由。首先,合规不等于安全。虽然应该理解许多组织因为遵从性而经历测试,但是这不应该是测试的主要目标。例如,作为PCI-DSS需求的一部分,可以雇佣一家公司来完成渗透测试。

处理信用卡信息的公司并不缺乏。然而,使目标组织在竞争市场中独一无二和生存下去的特质,如果受到损害,将会产生最大的影响。信用卡系统被入侵肯定是一个严重的问题,但信用卡号码以及所有相关的客户数据被泄露将是灾难性的。

其次

次要目标与合规性直接相关。主要目标和次要目标紧密相关的情况并不少见。例如,在PCI-DSS驱动测试的例子中,获得信用卡是次要目标。将数据泄露与组织的业务或任务驱动因素联系起来是主要目标。次要目标对法规遵从性和/或IT来说意味着什么。主要目标会引起高层管理人员的注意。

商情分析

在执行渗透测试之前,确定客户安全状况的成熟度级别是有益的。有许多组织选择直接进入渗透测试,首先评估这个成熟度级别。对于安全程序非常不成熟的客户来说,首先执行漏洞分析通常是个好主意。

一些测试人员认为围绕漏洞分析(VA)工作有一个污点。那些测试人员忘记了目标是识别目标公司中的风险,而不是追求所谓的“摇滚明星”生活方式。如果一个公司没有准备好进行全面的渗透测试,他们将从一个好的VA中获得比渗透测试更多的价值。

提前与客户确定他们将提供的系统信息。询问有关已经记录在案的漏洞的信息可能也会有所帮助。这将节省测试人员的时间,并通过不将测试发现与已知问题重叠来节省客户的资金。同样,如果法规遵从性没有绝对要求,完整或部分白盒测试可能比黑盒测试给客户带来更多的价值。

建立沟通渠道

任何渗透测试最重要的一个方面是与客户沟通。你与顾客互动的频率,以及你接近他们的方式,会对他们的满意度产生巨大的影响。下面是一个沟通框架,有助于让客户对测试活动感到舒适。

紧急联系信息

显然,能够在紧急情况下与客户或目标组织取得联系是至关重要的。可能会出现紧急情况,必须建立一个联系点来处理这些情况。创建紧急联系人列表。该列表应包括测试范围内各方的联系信息。一旦创建了紧急联系人列表,就应该与列表上的所有人共享。请记住,目标组织可能不是客户。

收集每个紧急联系人的以下信息:

  1. 全名
  2. 头衔和操作责任
  3. 讨论测试活动细节的授权(如果尚未指定)
  4. 两种形式的24/7即时联系,如手机、寻呼机或家庭电话,如果可能的话
  5. 一种安全的批量数据传输形式,如SFTP或加密电子邮件

注意:帮助台或运营中心等小组的电话号码可以代替一个紧急联系人,但前提是该电话号码必须全天候配备人员。每次渗透测试的性质都会影响谁应该出现在紧急联系人名单上。不仅需要提供客户和目标的联系信息,而且他们可能还需要在紧急情况下联系测试人员。该列表最好包括以下人员:

  1. 参与测试的测试组中的所有渗透测试人员
  2. 测试组的经理
  3. 每个目标组织的两名技术联系人
  4. 客户的两个技术联系人
  5. 客户的一名高层管理人员或业务联系人

上面的列表可能会有一些重叠。例如,目标组织可能是客户,测试组的经理也可能正在执行渗透测试,或者客户的技术联系人可能是高层管理人员。还建议为每个相关方指定一名联系人,由其领导并代表其承担责任。

事故报告流程

讨论组织当前的事件响应能力非常重要,原因有几个。渗透测试的一部分不仅是测试一个组织的安全性,还测试他们的事件响应能力。

如果整个项目可以在目标的内部安全团队没有注意到的情况下完成,那么就已经确定了安全状况中的主要差距。同样重要的是,要确保在测试开始之前,目标组织中的某个人知道测试何时进行,这样事件响应团队就不会在半夜给上层管理的每个成员打电话,因为他们认为自己受到了攻击或受到了威胁。

事件定义

美国国家标准与技术研究所(NIST)对事件的定义如下:“违反或即将违反计算机安全政策、可接受的使用政策或标准安全实践。”(计算机安全事故处理指南-特别出版物800-61第1版)。事故也可能发生在物理层面,其中一个人通过任何手段获得对一个区域未授权的物理访问。对于不同类型的事件,目标组织应该有不同的类别和级别。

状态报告频率

状态报告的频率可以变化很大。影响报告进度的一些因素包括测试的总长度、测试范围和目标的安全成熟度。一个有效的时间表能让顾客感到参与其中。被忽视的客户是以前的客户。

一旦确定了状态报告的频率和时间表,就必须完成。推迟或延迟状态报告可能是必要的,但不应该成为一种习惯。如有必要,可能会要求客户同意新的时间表。完全跳过状态报告是不专业的,应该尽可能避免。

PGP和其他替代品

加密不是可选的。与客户的沟通是任何渗透测试项目绝对必要的一部分,由于项目的敏感性,敏感信息的沟通必须加密,尤其是最终报告。在测试开始之前,必须与客户建立安全的通信方式。几种常见的加密方法如下:

  1. PGP/GPG既可用于电子邮件通信,也可用于加密最终报告(记住,主题行是以明文形式传递的)
  2. 托管在客户网络上的安全邮箱
  3. 电话
  4. 面对面会议
  5. 要交付最终报告,您也可以将报告存储在AES加密的归档文件中,但要确保您的归档实用程序支持使用CBC的AES加密。

也要询问哪些信息可以用书面形式表达,哪些信息只能用口头表达。一些组织有很好的理由来限制以书面形式向他们传输哪些安全信息。

攻击规则

虽然范围定义了将要测试的内容,但是约定规则定义了如何进行测试。这是两个不同的方面,需要彼此独立处理。

时间表

应为项目制定明确的时间表。范围定义了约定的开始和结束,而约定的规则定义了两者之间的一切。应该理解的是,随着测试的进行,时间表将会改变。然而,建立一个严格的时间表并不是我们的目标。更确切地说,在测试的开始就有一个合适的时间表将允许每个参与的人更清楚地确定要完成的工作和负责所述工作的人。甘特图和工作分解结构通常用于定义工作和每项具体工作所需的时间。以这种方式查看时间表有助于那些参与确定资源需要应用到哪里的人,并且有助于客户确定在测试过程中可能遇到的障碍。

互联网上有许多免费的甘特图工具。许多经理非常认同这些工具。正因为如此,他们是与目标组织高层管理人员沟通的绝佳媒介。

位置

任何给定项目的另一个重要参数是提前与客户建立关系,即测试人员在测试期间需要前往的任何目的地。这可能像确定当地酒店一样简单,也可能像确定特定目标国家的适用法律一样复杂。

一个组织在多个地点和地区开展业务并不少见,因此需要选择几个地点进行测试。在这些情况下,应避免前往每个客户所在地,而是应确定到站点的VPN连接是否可用于远程测试。敏感信息的披露

虽然给定合约的目标之一可能是获取敏感信息的访问权限,但某些信息实际上不应被查看或下载。这对新的测试人员来说似乎很奇怪,然而,在很多情况下,测试人员不应该拥有目标数据。例如个人健康信息(PHI),根据健康保险流通和责任法案(HIPAA),这些数据必须受到保护。在某些情况下,目标系统可能没有防火墙或防病毒(AV)保护。在这种情况下,应该绝对避免测试人员拥有任何个人身份信息(PII)。

然而,如果数据不能被物理地或虚拟地获得,如何证明测试人员确实获得了对信息的访问?这个问题已经用许多方法解决了。有很多方法可以证明保险库的门是在没有取走任何钱的情况下被打开的。例如,可以获取数据库模式和文件权限的屏幕截图,或者可以显示文件本身而不打开它们来显示内容,只要在文件名本身中看不到PII。

测试人员在给定的约定中应该有多谨慎是一个需要与客户讨论的参数,但是做测试的公司应该总是确保在法律意义上保护自己,不管客户的意见如何。不管是否暴露在敏感数据中,所有报告模板和测试机都应在每次项目后进行充分清理。作为一个特殊的旁注,如果测试人员发现非法数据(即儿童色情),应立即通知适当的执法官员,然后是客户。不要听从客户的指示。

证据处理

在处理测试证据和报告的不同阶段时,极其小心地处理数据是非常重要的。在两次测试之间,始终使用加密并清理您的测试机器。永远不要在安全会议上分发带有测试报告的u盘。无论您做什么,不要重复使用另一个客户项目的报告作为模板!在你的文档中提到另一个组织是非常不专业的。

定期情况会议

在整个测试过程中,定期与客户会面,告知他们测试的整体进度,这一点至关重要。这些会议应该每天举行,并且应该尽可能短。会议应该保持三个概念:计划、进展和问题。

通常对计划进行讨论,以便在重大计划外变更或停机期间不进行测试。进度只是向客户更新到目前为止已经完成的内容。问题也应该在这个会议上讨论,但是为了简洁起见,关于解决方案的对话应该总是离线进行。

一天中要测试的时间

某些客户要求所有测试都在工作时间之外进行。这对大多数测试人员来说意味着熬夜。在测试开始之前,应与客户充分确定时间要求。

应对回避

有些时候回避是完全可以接受的,有些时候它可能不符合测试的精神。例如,如果您的测试是一个完整的黑盒测试,您不仅要测试技术,还要测试目标组织的安全团队的能力,那么回避是完全可以的。然而,当您与目标组织的安全团队合作测试大量系统时,避开您的攻击可能不符合测试的最佳利益。

允许测试

渗透试验需要获得的最重要的文件之一是试验许可文件。该文件规定了测试范围,并包含一个确认测试人员活动的签名。此外,它应该清楚地说明测试会导致系统不稳定,测试人员应该注意不要在这个过程中使系统崩溃。然而,由于测试会导致不稳定,客户不应要求测试人员对任何系统不稳定或崩溃负责。至关重要的是,在客户签署本文档之前,不要开始测试。

此外,一些服务提供商在测试他们的系统之前需要提前通知和/或单独许可。例如,Amazon有一个必须填写的在线请求表单,在扫描他们云上的任何主机之前,该请求必须得到批准。如果需要,它应该是文件的一部分。

法律考虑

渗透测试中常见的一些活动可能违反当地法律。因此,建议在工作地点检查普通pentest任务的合法性。例如,在渗透测试过程中捕获的任何VOIP呼叫在某些地区都可能被视为窃听。

能力和技术到位

良好的渗透测试不只是检查未打补丁的系统。他们还测试目标组织的能力。为此,下面列出了您可以在测试时进行基准测试的内容。

  1. 检测和响应信息收集的能力
  2. 检测和响应脚印的能力
  3. 检测和响应扫描和漏洞分析的能力
  4. 检测和响应渗透(攻击)的能力
  5. 检测和响应数据聚合的能力
  6. 检测和响应数据过滤的能力

跟踪这些信息时,请务必收集时间信息。例如,如果检测到扫描,应该通知您并记录您当时执行的扫描级别。

前期交互流程(PTES的第一步)相关推荐

  1. ajax的交互流程有哪几步

    1)创建ajax对象 xhr = new XMLHttpRequest 2)规定请求地址 xhr.open(method,url,async) 3)等待服务器相应 xhr.onload 4)向服务器发 ...

  2. Plant simulation16.0 汽车总装车间仿真系列第一步:整体流程设定

    Plant simulation16.0 汽车总装车间仿真系列第一步:整体流程设定 目录 简介 Ⅰ.汽车总装工厂概叙 Ⅱ.各部份说明 Part01.滑橇线物流输送 Part02.内饰线+底盘线+最终装 ...

  3. 通达OA系统2019版流程中心,外部表单提交数据到指定流程第一步

    通达OA系统2019版流程中心,外部表单提交数据到指定流程第一步 总体操作过程 具体操作过程 1.根据需要提交到流程的表单,新建表 2.系统管理员账号登录OA系统,按照 菜单>流程中心>工 ...

  4. 【SEO学习】第一步:了解搜索引擎基本工作原理和工作流程

    我们常用的搜索引擎一般都是百度.谷歌.搜狗.360.bing这五种,对于搜索引擎的原理和工作流程应该是一样的.今天郑州SEO老冯先给大家说一下百度搜索引擎的工作原理以及抓取过程.这是SEO学习的第一步 ...

  5. 速卖通 授权流程 java_外贸开发,用java调用速卖通api第一步,token的获取。

    第一步 定义速卖通api的常量 public String client_id; public String client_key; public String site; 第二步 获取登陆的uRL ...

  6. 产品从0~1第一步——市场分析

    市场分析 市场分析是对市场规模.位置.性质.特点.市场容量及吸引范围等调查资料进行的经济分析. 对于产品经理来说,市场分析的目的是分析环境.竞品.用户,从中寻找和研究潜在需求,然后帮助产品经理更好的构 ...

  7. 深入浅出 Redis client/server交互流程

    2019独角兽企业重金招聘Python工程师标准>>> 最近笔者阅读并研究redis源码,在redis客户端与服务器端交互这个内容点上,需要参考网上一些文章,但是遗憾的是发现大部分文 ...

  8. 交互流程_交互装置详细创作流程全解

    装置项目可以存在于各个类型的作品集中,但是同学们总是对这类作品集存在认知上的误区.要知道交互装置并不是"靠近就会动"."可以按指令动起来"."有传感器 ...

  9. Rtsp之信令交互流程

    Rtsp协议包含两块,第一部分是信令交互,这一部分建立在tcp协议的基础之上,另一部分是流媒体数据,rtp传输,既可以建立在tcp协议基础之上,也可以建立在udp协议的基础之上. 本章主要讲解一下rt ...

  10. 重读《从菜鸟到测试架构师》-- 测试专家的第一步

    无论是大学毕业的第一份工作还是工作多年后重新入职新公司,我们都不可避免的会遇到上班第一天,在这第一天的时间里我们需要完成领设备.装系统等准备工作,当然,不可或缺的还有新人培训,这本书的第一章也直白地使 ...

最新文章

  1. 用ASP.NET上传图片并生成带版权信息的缩略图
  2. POJ2983 查分约束系统
  3. C语言标量变向量的函数,GLSL 详解(基础篇)
  4. 小辣椒p60手机怎么样_小辣椒双机来临,搭载联发科 最低499元
  5. 【学习笔记】opencv的python接口 形态学操作 腐蚀 膨胀 通用形态学函数
  6. Pandas profiling 生成报告并部署的一站式解决方案
  7. h5外卖源码php_校园食堂外卖APP走红 更多APP定制开发上一品威客网
  8. 【C语言进阶深度学习记录】三十一 数组作为函数参数时退化为指针
  9. 嵌入式基础认识2:shell脚本的一些简单语法规则
  10. 7-2 图形卡片分组游戏 (60 分)
  11. 使用EXE4J自动打包可运行jar文件
  12. 太阳能工程联箱知识_超导热管集热器为何在太阳能热水工程中咨询量那么高
  13. plsql 自动查询最后页_一次SQL查询优化思考过程(900W+数据,从17s到300ms)
  14. python3提取字符串中的数字_如何在Python中从字符串中提取数字?
  15. Little endian和Big endian的区别
  16. 数据挖掘之Apriori算法详解和Python实现代码分享_python
  17. pgadmin3连接mysql_postgresql – PgAdmin III – 密码为空时如何连接数据库?
  18. 全球最快下载工具 XDM
  19. connect etimedout php,npm error: tunneling socket could not be established, cause=connect ETIMEDOUT
  20. scrapy爬取微信公众号内容,多管道储存,orm数据储存

热门文章

  1. JavaScript参考手册
  2. 数字城市新型基础设施——打造以“运营与安全并重”为特色的新型数字空间
  3. 实例讲解什么是Meta回归,怎么利用Meta回归发表文章!
  4. IT基础架构规划方案一(网络系统规划)
  5. [吐槽]今天单纯吐槽一下VS2017社区版
  6. 指派问题中匈牙利算法----Python实现
  7. easyexcel excel自定义列导出 格式导出
  8. 【Excel】设置自定义单元格格式
  9. intelliJ IDEA 2017 破解方法
  10. Xshell6 Xftp6 官方永久免费版下载