渗透测试流程是什么?7个步骤给你讲清楚!

在学习渗透测试之初,有必要先系统了解一下它的流程,静下心来阅读一下,树立一个全局观,一步一步去建设并完善自己的专业领域,最终实现从懵逼到牛逼的华丽转变。渗透测试是通过模拟恶意黑客的攻击方法,同时也是在授权情况下对目标系统进行安全性测试和评估的过程。 需要强调的是,重点是测试,是过程,而不是不计后果的攻击或测试防御,它是一套科学流程,不局限于某一工具或技巧的运用。

渗透测试流程:

1. 前期交互 (Pre-engagement Interactions)

渗透测试团队与客户组织进行交互讨论,最重要的是确定渗透测试的范围、目标、限制条件以及服务合同细节。其中定义范围可以说是渗透测试中最重要的组成部分之一,客户完全不知道他们需要测试的是什么也有可能,问卷调查是一种较好的形式,客户必须回答几个问题,以便可以正确地估计参与范围。

该阶段通常涉及收集客户需求、准备测试计划、定义测试范围与边界、定义业务目标、项目管理与规划等活动。和客户对上述目标达成一致意见后,拿到正式的授权委托书。

2. 情报搜集 (Intelligence Gathering)

许多公司没有考虑到在公共场合有关于他们公司及员工的大量信息,而这些信息可能成为被人利用的弱点。

渗透测试团队尽可能地使用多种信息搜集工具,尝试获取更多关于目标组织网络拓扑、系统配置与安全防御措施的信息。渗透测试者可以使用的情报搜集方法包括网站微信微博、邮箱、Google Hacking、whois查询、扫描探测、网络监听、社交网络等。

情报搜集能力是渗透测试者一项非常重要的技能,只有建立在足够信息分析的基础上,渗透测试才能游刃有余。因为信息越多,发现漏洞的几率越大。其中我们会重点学习常用的一些扫描探测的工具如 netdiscover, nmap, appscan, nessus 和 nikto 。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036

3. 威胁建模 (Threat Modeling)

在搜集到充分的情报信息之后,渗透测试团队成员要坐下来进行威胁建模与攻击规划。在威胁建模过程中,要对客户公司的组织资产进行分类和罗列,举例如下:

  • 公司的内部政策、商业计划、路线图
  • 公司的产品信息和源代码
  • 公司的财务信息(如银行,信贷,股权账户)
  • 公司的技术信息如基础设施信息,系统配置信息和用户帐户凭据
  • 员工数据和客户数据

当识别出这些商业资产,分析不同资产的价值,便建立准确的威胁模型,通过团队的头脑风暴,进行缜密的情报分析与渗透思路整理,可以从大量的信息情报中理清头绪,确定出最可行的渗透通道。这个步骤在学习阶段也可以暂时跳过。

4. 漏洞分析 (Vulnerability Analysis)

在该阶段,高水平的渗透测试团队还会针对攻击通道上的一些关键系统与服务进行安全漏洞探测与挖掘,期望找出可被利用的未知安全漏洞,并开发出渗透代码,从而打开攻击通道上的关键路径。

假设我们在前面步骤知道对方站点的 ftp 是 vsFTPd 2.3.4 ,可以在 Google 搜索 "vsFTPd 2.3.4 漏洞”, 就会发现它是笑脸漏洞(Backdoor Command Execution) 这样我们就可以针对性的进行渗透。常见的漏洞搜索网站还有 http://exploit-db.com 和 http://github.com 。

5. 渗透攻击 (Exploitation)

渗透攻击是渗透测试过程中进行精确打击并最具有魅力的环节。在此环节中,渗透测试团队需要利用找出的安全漏洞,来真正入侵系统当中,获得访问控制权。渗透攻击可以利用公开渠道可获取的渗透代码。

6. 后渗透攻击 (Post Exploitation)

后渗透攻击是很能体现渗透测试团队职业操守与技术能力的环节。

前面的环节可以说都是在按部就班地完成非常普遍的目标,而在这个环节中,在得到客户允许的情况下,渗透测试团队进行权限提升并保持对机器的控制以供以后使用,就是常说的后门。同时需要和客户约定规则,以确保客户的日常运营和数据不会面临风险。一些重要的规则举例如下:

  • 除非事先达成一致,否则将不会修改客户认为对其基础设施"至关重要"的服务。
  • 必须记录针对系统执行的所有修改,包括配置更改。
  • 必须保留针对受损系统采取的详细操作列表。
  • 密码(包括加密形式的密码)将不会包含在最终报告中
  • 测试人员收集的所有数据必须在测试人员使用的系统上加密。
  • 除非客户在订立合同/工作说明书中明确授权,否则不得删除,清除或修改日志。

7. 形成报告 (Reporting)

渗透测试过程最终向客户组织提交,取得认可并成功获得合同付款的就是一份渗透测试报告。

这份报告凝聚了之前所有阶段之中渗透测试团队所获取的关键情报信息、探测和发掘出的系统安全漏洞、成功渗透攻击的过程,渗透过程中用到的代码(poc,exp等), 以及造成业务影响后果的攻击途径,同时还要站在防御者的角度上,帮助他们分析安全防御体系中的薄弱环节、存在的问题,以及修补与升级技术方案。

如果有写的不好的地方,请大家多多指教。如果有其他想法,也欢迎在评论区和我交流。

参考资源链接:[OWTF中文指南:自动化渗透测试框架](https://wenku.csdn.net/doc/7p5oaw7daj?utm_source=wenku_answer2doc_content) OWTF的自动化配置实现主要依赖于其内部的配置管理和工作流程优化。它通过内置的插件系统整合了大量的安全测试工具,并根据测试目标的特性自动选择合适的工具和模块。用户无需手动配置每一种工具,大大简化了渗透测试的复杂性。 具体来说,OWTF的自动化配置体现在以下几个方面: 1. **模块化设计**:OWTF将各种安全测试工具封装成独立模块,每个模块负责特定的测试任务。这样的设计使得OWTF能够灵活应对不同的测试需求,并且容易扩展。 2. **自适应测试目标**:OWTF能够分析目标站点的特性,自动选择最合适的测试工具和策略。例如,它会根据目标站点的语言、框架和提供的服务类型来决定使用哪些工具进行测试。 3. **插件管理**:OWTF提供了一个插件管理机制,使得测试人员可以方便地查看、选择和排除特定插件,甚至允许创建自定义插件来集成新的工具,极大地方便了工具的管理和使用。 4. **配置简化**:通过使用配置文件和命令行参数,OWTF允许用户快速设置测试环境,无需深入了解每个工具的复杂配置。 此外,OWTF还在其工作流程中提供了许多实用的自动化特性,如: - 任务自动化:OWTF可以自动执行一系列预设任务,减少测试人员的手动干预。 - 结果聚合:它能够聚合来自不同工具的测试结果,提供一个统一的测试报告。 - 资源优化:OWTF优化资源使用,确保测试过程高效运行。 要充分利用OWTF的自动化配置优势,可以通过阅读《OWTF中文指南:自动化渗透测试框架》来获得详细的配置和使用指导。该指南不仅提供了OWTF的基础知识,还详细介绍了如何在Kali或Backtrack系统中进行安装和配置,以及如何在Eclipse开发环境中进行插件开发,帮助用户深入理解和掌握OWTF的自动化配置能力,从而大幅提升渗透测试工作的效率和质量。 参考资源链接:[OWTF中文指南:自动化渗透测试框架](https://wenku.csdn.net/doc/7p5oaw7daj?utm_source=wenku_answer2doc_content)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值