什么是渗透测试
渗透测试是经过授权的模拟攻击,目的在于
- 找出系统的弱点
- 确定安全控制的可靠性
- 支持符合数据隐私和安全规范(PCI DSS,HIPAA,GDPR)
- 为管理层提供当前安全态势和预算优先级的定性、定量示例
攻击目的:
渗透测试类型
-
黑盒
- 对目标系统的内部结构一无所知,从外部发起攻击
-
灰盒
- 了解一套或者多套凭证,了解目标的内容数据结构、代码、算法。根据详细设计文档,构建测试用例
-
白盒
- 对于白盒测试,tester可访问源代码、二进制文件、容器、运行的服务器。白盒方法可以在最短时间内提供最高水平的安全保证。
渗透测试阶段
-
侦查
- 从公共和专用来源手机目标的相关信息,以指定攻击策略
-
扫描
- 使用工具检查目标是否存在弱点,包括开放服务、应用安全问题、开源漏洞
-
获得访问权限
- 利用漏洞(如 SQL注入)进行窃取、修改、删除数据
-
维护访问权限
- 一旦取得访问权限,模拟攻击须保持足够长时间的连接
工具类型
-
用于发现网络主机和开放端口的侦察工具
-
用于发现网络服务、WEB应用和API问题的漏洞扫描器
-
代理工具
-
用于到达系统或放权资产的利用工具
-
与系统交互、维护、扩展访问权限、实现攻击的工具
测试方法
手动测试
优劣:可发现为列入常用列表的漏洞和弱点,并测试自动测试可能忽略的业务逻辑(数据验证、完整性检查)。此外手动测试审查可帮助识别自动化测试报告误报的问题。
自动化测试
优劣:生成结果更快,可自动跟踪结果,到处至集中式报告平台。
渗透测试优缺点
优:1. 找出上游安全,保证活动中的漏洞,活动包括(自动化工具、配置、编码标准、架构分析)
2. 查找已知和未知的软件缺陷和安全漏洞
缺:1. 耗费人力成本
2. 不会全面地防止漏洞和缺陷进入生产环节
测试框架
渗透测试框架是用于指导测试人员使用正确的工具和方法进行渗透测试。具体取决于计划进行的渗透测试类型和测试范围。完成渗透测试后,测试人员应继续使用框架来进一步评估和报告测试中的发现。
步骤
-
初始化规划和准备:
确定测试人员、渗透测试框架和方法、确定测试和报告结果的期望、任何法律和合规要求、测试需要的工具和资源
-
情报和信息收集(发现、测试、扫描或评估阶段):
资产所有权范围、网络目标、漏洞利用、任何涉及的第三方、网络端口、IP地址、相关人/员工的姓名和财产位置。
-
攻击阶段:
测试人员开始攻击,并根据框架预定义的战术类别评估系统的性能
-
攻击后阶段:
测试人员或网络安全团队确保测试环境的资产和功能恢复到原始状态
-
报告结果:
根据工具和性能阐述结果
战术类别
典型的渗透测试框架会明确列出测试人员应使用的战术类别,以便在渗透测试过程中从多个方面评估网络安全性能。以下是常见的战术类别:
- 信息收集
- 命令和控制
- 凭证/信息访问
- 防御规避能力和策略
- 风险发现和信息收集
- 模拟攻击执行
- 泄漏/窃取
- 横向移动
- 实现持久化驻留
- 权限提升
常见使用方式:
- 漏洞评估和管理
- 实现主动网络安全防护的道德黑客活动
- 防御性网络安全风险评估
- 发现、探测和侦察
- 安全缺陷和风险枚举
- 网络安全和合规审计
主流测试框架
可以借助成熟的渗透测试方法和框架,简化工作难度,取得更好的测试效果。
Cobalt Strike
这个框架包含了攻击模拟、事件响应指导和社会工程能力等。用户可以选择借助Community Kit仓库,对Cobalt Strike进行定制修改,还可以与Fortra提供对渗透测试软件Core Impact整合,进一步扩展测试功能。
Metasploit
由Rapid7和开源社区写作设计等渗透测试框架。经典功能特性包括 1500个漏洞利用工具、网络发现、处理网络分段测试和自动化测试等元模块,并提供了基准审计报告、手动利用漏洞、凭据蛮力破解等选项。可以使用免费的开源版或付费专业版。
NIST Cybersecurity Framework
NIST的网络安全框架(CSF)是一种测试功能非常广泛的渗透测试框架。有五大功能:识别、保护、检测、响应、恢复。(PS||:
这是一种来自美国商务部的标准化测试框架)
https://www.nist.gov/cyberframework
开源安全测试方法手册饿(OSSTMM)
OSSTMM框架是由美国安全和开放方法研究所(ISECOME)开发,有功能测试、安全测试和分析的完整方法论。在其详细指南中,全面涵盖了测试的流程、战术和方法。对如何确定安全测试范围、演练规则、错误处理、结果披露有完整的信息。
https://www.isecom.org/OSSTMM.3.pdf
渗透测试执行标准(PTES)
PTES是非常受欢迎的渗透测试框架,并已经发展成一种完整的渗透测试方法论。全面涵盖了渗透测试的基础原理、情报收集、威胁建模、漏洞研究、漏洞利用、攻击后阶段、测试报告生成。
http://www.pentest-standard.org/index.php/Main_Page
开放Web应用程序安全项目(OWASP)
此框架侧重于面向信息安全和应用程序安全渗透测试。
https://owasp.org/www-project-continuous-penetration-testing-framework/
渗透测试者框架(PTF)
PanTesters Framework(PTF)是基于Penetration Testing Execution Standard标准,旨在使相关的测试工具的安装和打包更简洁。是一款高度可定制和可配置的测试框架。