什么是渗透测试

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

Pen testing可能涉及企图破坏任何数量的应用程序系统(例如,应用程序协议接口(API),前端/后端服务器)以发现漏洞,例如容易受到代码注入攻击的未经过滤的输入。

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

渗透测试阶段

pen testing 过程可以分为五个阶段。

1.规划和侦察

第一阶段包括:

定义测试的范围和目标,包括要解决的系统和要使用的测试方法。

收集情报(例如,网络和域名,邮件服务器)以更好地了解目标的工作方式及其潜在漏洞。

2.扫描

下一步是了解目标应用程序将如何响应各种入侵尝试。 通常使用以下方法完成此操作:

静态分析-检查应用程序的代码以估计其在运行时的行为方式。 这些工具可以一次扫描整个代码。

动态分析-在运行状态下检查应用程序的代码 这是一种更实用的扫描方式,因为它可以实时查看应用程序的性能。

3.获得访问权限

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

4.维护访问

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

5.分析

然后将渗透测试的结果编译成详细的报告:

被利用的特定漏洞

已访问的敏感数据

pen testing工具能够被检测到而无法保留在系统中的时间

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

渗透测试方法

外部测试

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

内部测试

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

盲测

在盲测中,仅给测试人员指定目标企业的名称。 这使安全人员可以实时查看实际的应用攻击将如何发生。

双盲测试

在双盲测试中,安全人员没有模拟攻击的先验知识。 与现实世界一样,他们在尝试突破之前将没有任何时间加强防御。

定向测试

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

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

渗透测试和WAF是互斥的,但互惠互利的安全措施。

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

反过来,WAF管理员可以从 pen testing数据中受益。 测试完成后,可以更新WAF配置以防止测试中发现的薄弱环节。

最后, pen testing满足安全审核程序的某些合规性要求,包括PCI DSS和SOC 2.某些标准(例如PCI-DSS 6.6)只能通过使用经过认证的WAF来满足。 但是,这样做不会因笔录测试的上述好处和改进WAF配置的能力而使 pen testing变得如此有用。

author

石头 磊哥 seven 随便叫

company

thoughtworks

大家好,本人不才,目前依旧混迹于thoughtworks,做着一名看起来像全栈的QA,兴趣爱好前端,目前是thoughtworks 西安QA社区的leader,如果有兴趣分享话题,或者想加入tw,可以找我

roles

QA(营生) dev(front-end dev 兴趣爱好)

联系方式

如果想转载或者高薪挖我 请直接联系我 哈哈

wechat:

qileiwangnan

email:

qileilove@gmail.com