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

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

渗透测试流程:

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

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 文档获取方式: 

加入我的软件测试交流群:822269834免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/199078.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

场景交互与场景漫游-对象选取(8-2)

对象选取示例的代码如程序清单8-11所示: /******************************************* 对象选取示例 *************************************/ // 对象选取事件处理器 class PickHandler :public osgGA::GUIEventHandler { public:PickHandler() :_mx(0.0f), _my…

TableUtilCache:针对CSV表格进行的缓存

TableUtilCache:针对CSV表格进行的缓存 文件结构 首先来看下CSV文件的结构,如下图: 第一行是字段类型,第二行是字段名字;再往下是数据。每个元素之间都是使用逗号分隔。 看一下缓存里面存储所有表数据的字段 如下图&#xff…

【心得】基于flask的SSTI个人笔记

目录 计算PIN码 例题1 SSTI的引用链 例题2 SSTI利用条件: 渲染字符串可控,也就说模板的内容可控 我们通过模板 语法 {{ xxx }}相当于变相的执行了服务器上的python代码 利用render_template_string函数参数可控,或者部分可控 render_…

基于SSM的供电公司安全生产考试系统设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

算法之路(二)

🖊作者 : D. Star. 📘专栏 : 算法小能手 😆今日分享 : 你知道北极熊的皮肤是什么颜色的吗?(文章结尾有答案哦!) 文章目录 力扣的209题✔解题思路✔代码:✔总结: 力扣的3题✔解题思路&#xff1a…

【计算机视觉】24-Object Detection

文章目录 24-Object Detection1. Introduction2. Methods2.1 Sliding Window2.2 R-CNN: Region-Based CNN2.3 Fast R-CNN2.4 Faster R-CNN: Learnable Region Proposals2.5 Results of objects detection 3. SummaryReference 24-Object Detection 1. Introduction Task Defin…

Android Studio常见问题

Run一直是上次的apk 内存占用太大,导致闪退

基于Python3的scapy解析SSL报文

scapy对于SSL的支持个人觉得不太好,至少在构造报文方面没有HTTP或者DNS这种常见的报文有效方便,但是scapy对于SSL的解析还是可以的。下面我们以一个典型的HTTPS的报文为例,展示scapy解析SSL报文。 一:解析ClientHello报文 from sc…

【zabbix监控三】zabbix之部署代理服务器

一、部署代理服务器 分布式监控的作用: 分担server的几种压力解决多机房之间的网络延时问题 1、搭建proxy主机 1.1 关闭防火墙,修改主机名 systemctl disbale --now firewalld setenforce 0 hostnamectl set-hostname zbx-proxy su1.2 设置zabbix下…

Docker 可视化面板 ——Portainer

Portainer 是一个非常好用的 Docker 可视化面板,可以让你轻松地管理你的 Docker 容器。 官网:Portainer: Container Management Software for Kubernetes and Docker 【Docker系列】超级好用的Docker可视化工具——Portainer_哔哩哔哩_bilibili 环境 …

服务注册发现 springcloud netflix eureka

文章目录 前言角色(三个) 工程说明基础运行环境工程目录说明启动顺序(建议):运行效果注册与发现中心服务消费者: 代码说明服务注册中心(Register Service)服务提供者(Pro…

三十二、W5100S/W5500+RP2040树莓派Pico<UPnP示例>

文章目录 1 前言2 简介2 .1 什么是UPnP?2.2 UPnP的优点2.3 UPnP数据交互原理2.4 UPnP应用场景 3 WIZnet以太网芯片4 UPnP示例概述以及使用4.1 流程图4.2 准备工作核心4.3 连接方式4.4 主要代码概述4.5 结果演示 5 注意事项6 相关链接 1 前言 随着智能家居、物联网等…

ESP32-BLE基础知识

一、存储模式 两种存储模式: 大端存储:低地址存高字节,如将0x1234存成[0x12,0x34]。小端存储:低地址存低字节,如将0x1234存成[0x34,0x12]。 一般来说,我们看到的一些字符串形式的数字都是大端存储形式&a…

服务器端请求伪造(SSRF)

概念 SSRF(Server-Side Request Forgery,服务器端请求伪造) 是一种由攻击者构造形成的由服务端发起请求的一个安全漏洞。一般情况下,SSRF是要攻击目标网站的内部系统。(因为内部系统无法从外网访问,所以要把目标网站当做中间人来…

Flutter 中在单个屏幕上实现多个列表

今天,我将提供一个实际的示例,演示如何在单个页面上实现多个列表,这些列表可以水平排列、网格格式、垂直排列,甚至是这些常用布局的组合。 下面是要做的: 实现 让我们从创建一个包含产品所有属性的产品模型开始。 …

Android描边外框stroke边线、rotate旋转、circle圆形图的简洁通用方案,基于Glide与ShapeableImageView,Kotlin

Android描边外框stroke边线、rotate旋转、circle圆形图的简洁通用方案,基于Glide与ShapeableImageView,Kotlin 利用ShapeableImageView专门处理圆形和外框边线的特性,通过Glide加载图片装载到ShapeableImageView。注意,因为要描边…

⑩⑤【DB】详解MySQL存储过程:变量、游标、存储函数、循环,判断语句、参数传递..

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ MySQL存储过程 1. 介绍2. 使用3. 变量①系统变…

每天学习一点点之 Spring Web MVC 之抽象 HandlerInterceptor 实现常用功能(限流、权限等)

背景 这里介绍一下本文的背景(废话,可跳过)。上周有个我们服务的调用方反馈某个接口调用失败率很高,排查了一下,发现是因为这个接口被我之前写的一个限流器给拦截了,随着我们的服务接入了 Sentinel&#x…

MTK Pump Express 快速充电原理分析

1 MTK PE 1.1 原理 在讲正文之前,我们先看一个例子。 对于一块电池,我们假设它的容量是6000mAh,并且标称电压是3.7V,换算成Wh(瓦时)为单位的值是22.3Wh(6000mAh*3.7V);普通的充电器输出电压电流是5V2A(10W)&#xff0c…

RK3588平台开发系列讲解(项目篇)嵌入式AI的学习步骤

文章目录 一、嵌入式AI的学习步骤1.1、入门Linux1.2、入门AI 二、瑞芯微嵌入式AI2.1、瑞芯微的嵌入式AI关键词2.2、AI模型部署流程 沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 本篇将给大家介绍什么是嵌入式AI。 一、嵌入…