什么是渗透测试,渗透测试阶段,渗透测试方法

416 阅读4分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第11天,点击查看活动详情

什么是渗透测试

渗透测试(也称为渗透测试)是对计算机系统的模拟网络攻击,以检查可利用的漏洞。在Web应用程序安全性的上下文中,渗透测试通常用于增强Web应用程序防火墙(WAF)。

渗透测试可能涉及尝试破坏任意数量的应用程序系统(例如,应用程序协议接口 (API)、前端/后端服务器),以发现漏洞,例如容易受到代码注入攻击的未经清理的输入。

渗透测试提供的见解可用于微调 WAF 安全策略并修补检测到的漏洞。

渗透测试阶段

渗透测试过程可以分为五个阶段。

image.png

1.规划和侦察第一阶段包括:

  • 定义测试的范围和目标,包括要解决的系统和要使用的测试方法。
  • 收集情报(例如,网络和域名、邮件服务器)以更好地了解目标的工作原理及其潜在的漏洞。

2.扫描下一步是了解目标应用程序将如何响应各种入侵尝试。这通常使用以下命令完成:

  • 静态分析 – 检查应用程序的代码以估计其运行时的行为方式。这些工具可以在一次操作中扫描整个代码。
  • 动态分析 – 在运行状态下检查应用程序的代码。这是一种更实用的扫描方式,因为它提供了应用程序性能的实时视图。

3. 获取访问权限此阶段使用 Web 应用程序攻击(如跨站点脚本、SQL 注入和后门)来发现目标的漏洞。然后,测试人员尝试利用这些漏洞,通常是通过提升权限,窃取数据,拦截流量等,以了解它们可能造成的损害。

4. 维护访问此阶段的目标是查看漏洞是否可用于在被利用的系统中实现持久存在 - 足够长的时间让不良行为者获得深入访问。这个想法是模仿高级持续性威胁,这些威胁通常会在系统中保留数月,以窃取组织中最敏感的数据。

5. 分析然后将渗透测试的结果编译成一份报告,详细说明:

  • 被利用的特定漏洞
  • 访问过的敏感数据
  • 渗透测试人员能够在系统中停留而不被发现的时间

此信息由安全人员进行分析,以帮助配置企业的 WAF 设置和其他应用程序安全解决方案,以修补漏洞并防止将来的攻击。

渗透测试方法

外部测试

外部渗透测试针对在互联网上可见的公司资产,例如,Web应用程序本身,公司网站以及电子邮件和域名服务器(DNS)。目标是获得访问权限并提取有价值的数据。

内部测试

在内部测试中,有权访问其防火墙后面的应用程序的测试人员模拟恶意内部人员的攻击。这并不一定是在模拟流氓员工。常见的起始方案可能是由于网络钓鱼攻击而凭据被盗的员工。

盲测

在盲测中,测试人员只被赋予被定位的企业的名称。这使安全人员能够实时了解实际应用程序攻击将如何发生。

双盲测试

在双盲测试中,安全人员事先不了解模拟攻击。与现实世界一样,在试图突破之前,他们将没有任何时间来加强防御。

针对性检测

在这种情况下,测试人员和安全人员一起工作,并相互评估他们的动作。这是一项有价值的培训练习,可为安全团队提供从黑客角度的实时反馈。

渗透测试和 Web 应用程序防火墙

渗透测试和 WAF 是独一无二但互惠互利的安全措施。

对于多种渗透测试(盲法和双盲法测试除外),测试人员可能会使用 WAF 数据(如日志)来定位和利用应用程序的弱点。

反过来,WAF 管理员可以从渗透测试数据中受益。测试完成后,可以更新 WAF 配置,以防范测试中发现的弱点。

最后,渗透测试满足安全审核过程的一些合规性要求,包括 PCI DSS 和 SOC 2。某些标准(如 PCI-DSS 6.6)只能通过使用经过认证的 WAF 来满足。但是,这样做并不会降低渗透测试的用处,因为它具有上述优点和改进 WAF 配置的能力。