怎么开展渗透测试项目
1.概述
渗透测试是一项在计算机系统上进行的授权模拟攻击,旨在对其安全性进行评估,是为了证明网络防御按照预期计划正常运行而提供的一种测试活动。完成一项渗透测试项目是需要多方配合协调、多个角色参与、有组织有计划进行的。完整地开展渗透测试项目一般遵循流程如下:
- 方案制定与测试准备:根据工作计划及测试目标态势制定渗透测试方案,准备需要用到的工具,与业务方沟通准备环境,识别可能导致的风险并制定相应的解决方案。——(角色)渗透测试组
- 获取审批和授权:制定好测试方案和准备的工具与环境之后,需提交相关责任部门审核方案的合理合规性和计划的可行性。需获取目标业务部门和安全与隐私保护部门授权许可。——(角色)目标业务部门负责人、安全与隐私保护部门负责人
- 实施执行渗透测试:发布渗透通知知会相关部门,按计划实施常规渗透测试 ——(角色)渗透测试组。
- 关键操作审批:利用漏扫工具进行扫描或进行高风险测试操作时,需进行提前申请,并知会安全监控部门SOC和业务部门。——(角色)渗透测试组,安全运营人员
- 结果处理:完成渗透测试后按照规范整理渗透测试结果形成报告,提供漏洞修复建议,并进行渗透测试汇报。业务组根据报告进行漏洞修复整改,并实施安全加固策略。安全运营人员跟踪漏洞闭环。——(角色)渗透测试组,安全运营人员,业务部门
2. 人员角色与职责
每个企业的组织架构不同,参与渗透测试项目的成员会有所差异,以下是根据职责确定的几个渗透测试项目中关键角色:
角色 | 职责 |
网络安全技术专家组 | 审核渗透测试计划和方案,对渗透测试团组进行授权许可。对关键操作进行审批。 |
渗透测试组负责人 | 拟制渗透测试项目计划和实施方案,对关键操作进行审核,提交网络安全评估。对渗透测试的整体结果负责。 |
渗透测试组成员 | 针对渗透测试项目制定计划和策略,启动环境IP和人员备案,对漏扫和关键测试操作申请审批,通过渗透测试发现安全漏洞,完成报告编写并对结果进行汇报。 |
产品组负责人 | 给渗透测试成员提供环境和信息支撑,例如提供源码、有必要的情况下介绍一下业务。组织按照渗透测试报告进行整改,并制定安全加固方案。 |
3. 实施渗透测试
对于渗透测试组来说,实施渗透测试一般按如下流程进行:
- 明确目标:确定测试目标的范围、IP、域名、内外网、测试账户,确定规则,能渗透到什么程度,所需要的时间、能否修改上传、能否提权等,确定需求,web应用的漏洞、业务逻辑漏洞、人员权限管理漏洞等。
- 信息收集:利用搜索引擎、扫描工具等获取IP、网段、域名、端口、应用信息、人员信息、防护信息等。
- 漏洞扫描:利用漏扫等工具进行扫描,发现系统漏洞。
- 漏洞验证:将发现的有可能可以成功利用的全部漏洞进行验证。
- 信息分析:结合实际情况对获取到的信息进行分析。获取内部信息、基础设施信息(网络架构,VPN,路由,拓扑等),内网入侵,权限维持,清理痕迹,如日志、操作记录、文件等。
- 漏洞验证与整理:整理渗透过程中用到的代码、poc、exp等,整理渗透过程中收集到的一切信息,整理渗透过程中遇到的各种漏洞、脆弱位置信息等。
- 形成报告:按照与客户确定的范围、需求整理渗透测试结果形成报告,提供漏洞修复建议和解决方法。
每个企业都有自己的渗透测试流程规范,渗透测试活动基本流程和上述差不多,业界也有一些渗透测试标准技术指南指导渗透测试活动,不同企业会根据自己的业务特性制定适合自己的流程。有些会根据获取信息的不同,以及业务组参与层度不同,会增加一些业务介绍,威胁建模分析等流程给渗透测试组提供更多信息,以帮助业务发现更多安全风险。渗透测试流程是不断完善的过程,慢慢形成适合自己企业业务的套路,当然业务流程和技术不断创新,旧的套路也需要不断迭代,也会促进渗透测试不断更新完善。
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
文章目录