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

2023-11-03

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

渗透测试流程:

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

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

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

2. 情报搜集 (Intelligence Gathering)

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

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

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

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等), 以及造成业务影响后果的攻击途径,同时还要站在防御者的角度上,帮助他们分析安全防御体系中的薄弱环节、存在的问题,以及修补与升级技术方案。

今天的分享就到此结束了,大家还有什么不懂的可以评论区下提问哈,如果我的文章对你有所帮助的话,可以点赞三联支持一下

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 软件测试|使用matplotlib绘制多种折线图

    简介 在数据可视化领域 Matplotlib是一款非常强大的Python库 它可以用于绘制各种类型的图表 包括折线图 本文将介绍如何使用Matplotlib创建多种不同类型的折线图 并提供示例代码 创建模版 在绘图之前 我们可以先创建我们的
  • 软件测试|使用matplotlib绘制平行坐标系图

    简介 绘制平行坐标系图 Parallel Coordinates Plot 是一种用于可视化多维数据的强大方法 在这篇文章中 我们将介绍如何使用Matplotlib库创建平行坐标系图 以及如何解释和定制这种图表 我们将使用一个示例数据集来演
  • 软件测试|web自动化测试神器playwright教程(三十八)

    简介 在我们使用selenium时 我们可以获取元素的属性 元素的文本值 以及输入框的内容等 作为比selenium更为强大的web自动化测试神器 playwright也可以实现对元素属性 文本值和输入框内容的抓取 并且实现比seleniu
  • 软件测试|Pydantic处理时间类型数据

    简介 我们之前介绍过使用 pydantic 验证数据 比如校验数据的格式等 但是在我们的日常工作中 还有一种数据是需要我们验证的 比如时间数据 时间数据不同于字符串 列表等数据 与他们的验证不一样 本文就来为大家介绍一下 pydantic
  • 软件测试|教你如何使用Python绘制出奥运五环旗

    简介 我们之前介绍过使用turtle来绘制正多边形 但是绘制正多边形只是turtle模块最基础的使用 我们可以使用turtle模块绘制出更多不一样的精彩图形 本文就来给大家介绍一个比较简单的turtle绘图实例 绘制奥运五环旗 初始化参数
  • 软件测试|如何使用selenium处理iframe富文本输入框

    简介 在网页开发中 富文本框是常见的元素 用于输入富文本内容 如富文本编辑器或邮件编辑器 如果我们要使用Python和Selenium进行自动化测试或操作这种富文本框 可能会遇到一些挑战 本文将详细介绍如何使用Python和Selenium
  • Python自动化测试 | 如何使用Robot Framework进行自动化测试?

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 如何写好一个错误报告

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 一篇文章带你了解Python常用自动化测试框架——Pytest

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 摸爬滚打多年的打工人,总结了三条职场真理,绝不假大空!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 新手也能看懂的【前端自动化测试入门】

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 软件测试中的白盒测试,这些技巧你知道吗?

    对于很多刚开始学习软件测试的小伙伴来说 如果能尽早将黑盒 白盒测试弄明白 掌握两种测试的结论和基本原理 将对自己后期的学习有较好的帮助 今天 我们就来聊聊黑盒 白盒测试的相关话题 1 黑盒测试的方法和小结 最常见黑盒测试方法包括 边界值 等
  • 新手也能看懂的【前端自动化测试入门】!

    前言 最近在网上搜索前端自动化测试相关的文档 但是发现网上的文章都是偏使用 没有把一些基础概念说清楚 导致后续一口气遇到一些 karma Jasmine jest Mocha Chai BDD 等词汇的时候很容易一头雾水 这次一方面整理一下
  • Python常用的自动化小脚本!

    一 list转json string转json 可以使用Python内置的 json 模块将列表 List 和字符串 String 转换成JSON格式 List转JSON假设我们有一个列表 List my list apple banana
  • 探索自动化测试断言:提升测试效率与质量的关键!

    前言 断言在自动化测试中起着关键的作用 它是验证测试结果是否符合预期的重要手段 如果在自动化测试过程中忽视了断言 那么这个测试就失去了其本质的意义 因为我们无法得知测试结果是否达到了预期的效果 因此 断言在自动化测试中的重要性不言而喻 那么
  • 2024拒绝行业内卷!八年软件测试20K*16薪行业心得 想入行必看

    目前工作做软件测试工作8年 属于高级测试员那个级别吧 现在看到各行各业的人都在转行学习软件测试 想给大家一些学习建议和忠告 很多粉丝都跟我说今年行情很差 找不到工资 真的找不到工作了吗 我们常在网上看到的 程序员饱和 程序员过剩 其实一般是
  • 做测试不会 SQL?超详细的 SQL 查询语法教程来啦!

    前言 作为一名测试工程师 工作中在对测试结果进行数据比对的时候 或多或少要和数据库打交道的 要和数据库打交道 那么一些常用的sql查询语法必须要掌握 最近有部分做测试小伙伴表示sql查询不太会 问我有没有sql查询语法这一块的文档可以学习
  • 15:00面试,15:06就出来了,问的问题有点变态。。。

    从小厂出来 没想到在另一家公司又寄了 到这家公司开始上班 加班是每天必不可少的 看在钱给的比较多的份上 就不太计较了 没想到9月一纸通知 所有人不准加班 加班费不仅没有了 薪资还要降40 这下搞的饭都吃不起了 还在有个朋友内推我去了一家互联
  • 外包干了3个月,技术退步明显。。。。。

    先说一下自己的情况 本科生 20年通过校招进入广州某软件公司 干了接近3年的 功能测试 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了3年的功能测试 已经让我变得不思进取 谈了2年的女朋
  • 用Python实现高效数据记录!Web自动化技术助你告别重复劳动!

    自动化关键数据记录 简介 关键数据记录是 Web 自动化测试中的关键部分 它们提供了关于系统行为和执行过程的详细信息 有助于验证用例的正确性 排查问题和确保应用程序的质量 行为日志 行为日志是一种用于记录系统或应用程序的操作和事件的技术 它

随机推荐

  • 快速排序python实现

    简述过程 1 设置标准值为列表第一个prime lst 0 2 设置指针cur1 和 cur2 初始位置的索引分别为0和len lst 1 cur1和cur2描述的是索引index 指针2 从列表后方向前遍历 找到比标准值小或者和标准值相等
  • select 中的union 和union all用法

    UNION The UNION command is used to select related information from two tables much like the JOIN command However when us
  • Linux 使用 Systemd 管理进程服务(新手必看)

    systemd 介绍 systemd是目前Linux系统上主要的系统守护进程管理工具 由于init一方面对于进程的管理是串行化的 容易出现阻塞情况 另一方面init也仅仅是执行启动脚本 并不能对服务本身进行更多的管理 所以从CentOS 7
  • python语言结构_Python语言学习之结构的用法

    Python语言的三种结构 顺序结构 将一条一条语句按顺序执行 分支结构 语句执行的时候 有不同的分支来执行 循环结构 当在执行语句时 有些是重复性的代码 即可使用循环进行操作 分支结构 if else 语句 if elif else 语句
  • openswan安装配置手册(RSA)

    下载地址 www openswan org download 下载源码包 openswan 2 6 32 tar gz 64 位CentOS 5 8 系统环境 1 解压编译安装openswan tar xvf openswan 2 6 32
  • 访问zabbix web页面格式混乱不能正常显示的问题

    通过搜索 找到了一个网友的一篇文章 https blog csdn net weixin 45607094 article details 100542394 修改下面的配置文件 把location 的注释去掉 原因是 一些静态文件没有进行
  • JSP中 page指令的应用

    JSP指令中 Page language 值只能 java extends 一定要继承Servlet session true JSP页面内可以直接使用session对象 import 用来导包 buffer和autoFlush 设置缓冲区
  • 浏览器插件crx文件怎么导入到谷歌浏览器

    浏览器插件crx文件怎么导入到谷歌浏览器 作为开发人员 我们少不了和浏览器插件打交道 比如Fehelper插件 我们下载的插件格式基本都是crx为后缀名的 下载好了之后 我们可以直接拖动插件文件到浏览器 会自动添加 然后就可以使用了 但是有
  • Python解离散数学

    离散数学 离散数学是对可数的 不同的或独立的数学结构的研究 一个很好的例子是像素 从手机到电脑显示器再到电视机 现代屏幕由数百万个称为像素的小点组成 这些点排列成网格 每个像素根据设备的命令以指定的颜色亮起 但每个像素只能显示有限数量的颜色
  • 频繁分配释放内存导致的性能问题的分析

    频繁分配释放内存导致的性能问题的分析 现象 1 压力测试过程中 发现被测对象性能不够理想 具体表现为 进程的系统态CPU消耗20 用户态CPU消耗10 系统idle大约70 2 用ps o majflt minflt C program命令
  • map容器的四种插入元素方法

    插入元素 四种插入方法比较 void display map
  • C++程序翻译成C语言程序

    C 程序翻译成C语言程序 C 语言是在C语言的基础上发展过来的 第一个C 的编译器实际上是将C 程序翻译成C原因程序 再通过C语言编译器进行编译 然而C语言中没有类的概念 只有结构 而且函数还是全局函数 没有类成员函数 在翻译时 将clas
  • 【华为OD机试】连续字母长度(C++ Python Java)2023 B卷

    题目描述 给定一个字符串 只包含大写字母 求在包含同一个字母的子串中 长度第k长的子串的长度 相同字母只取最长的那个子串 若子串中只包含同一个字母的子串数小于k 则输出 1 输入描述 第一行有一个字符串 1 lt 长度 lt 100 只包含
  • Git提示 fatal: Not a git repository 错误解决方法

    fatal Not a git repository or any of the parent directories git 提示说没有 git这样一个目录 解决办法如下 git init 然后在进行操作就可以了
  • 大学操作系统原理课程笔记

    进程的概念 定义 可并发执行的程序 在一个数据集合上运行的过程 申请 拥有资源 调度 线程 程序 静态概念 是指令和数据的集合 可长期存储 进程与程序对应关系 a 一个程序可以对应一个进程或多个进程 b 一个进程可以对应一个程序 或者一段程
  • ajax.beginform insertionmode,MVC Ajax.BeginForm InsertionMode

    的JavaScript引用的文件 CSHTML页 using Ajax BeginForm new AjaxOptions UpdateTargetId result LoadingElementId progress InsertionM
  • 【C#学习笔记】保存文件

    using System using System Collections Generic using System ComponentModel using System Data using System Drawing using S
  • Windows下Qt静态编译全解

    Windows下Qt静态编译全解 2012 04 16 16 59 05 转载 标签 杂谈 分类 QT Windows下Qt静态编译全解 2010 09 08 13 42 分类 QT 编译准备 下载NOKIA网站上的QT SDK 解压或安装
  • pyautogui 的截图及图片匹配

    pyautogui 的截图 import pyautogui as pg 官网有提在不同的操作系统上 具体操作还不太一样 我的环境 win10 python3 9 截图需依赖 Pillow PIL 库 截全屏 pg screenshot 只
  • 渗透测试流程是什么?7个步骤给你讲清楚!

    在学习渗透测试之初 有必要先系统了解一下它的流程 静下心来阅读一下 树立一个全局观 一步一步去建设并完善自己的专业领域 最终实现从懵逼到牛逼的华丽转变 渗透测试是通过模拟恶意黑客的攻击方法 同时也是在授权情况下对目标系统进行安全性测试和评估