目录

  1. 明确目标

  2. 分析风险,获得授权

  3. 信息收集

  4. 漏洞探测(手动&自动)

  5. 漏洞验证

  6. 信息分析

  7. 利用漏洞,获取数据

  8. 信息整理

  9. 形成报告


1.明确目标

1)确定范围:测试的范围,如:IP、域名、内外网、整站or部分模块;
2)确定规则:能渗透到什么程度(发现漏洞为止or继续利用漏洞)、时间限制、能否修改上传、能否提权...

  • 目标系统介绍、重点保护对象及特性。
  • 是否允许数据破坏?
  • 是否允许阻断业务正常运行?
  • 测试之前是否应当知会相关部门接口人?
  • 接入方式?外网和内网?
  • 测试是发现问题就算成功,还是尽可能的发现多的问题?
  • 渗透过程是否需要考虑社会工程?

3)确定需求:web应用的漏洞(新上线程序)?业务逻辑漏洞(针对业务的)?人员权限管理漏洞(针对人员、权限)?
根据需求和自己技术能力来确定能不能做、能做多少

2.分析风险,获得授权

分析渗透测试过程中可能产生的风险,如大量测试数据的处理、影响正常业务开展、服务器发生异常的应急、数据备份和恢复、测试人力物力成本...
由测试方书写实施方案初稿并提交给客户(or本公司内部领导)进行审核。在审核完成后,从客户(or本公司内部领导)获取对测试方进行书面委托授权书,授权测试方进行渗透测试。

3.信息收集

在信息收集阶段,我们需要尽量多的收集关于目标系统的各种信息,比如:脚本语言的类型、服务器的类型、目录的结构、使用的开源软件、数据库类型、所有链接页面,用到的框架等。
方式:主动扫描;开放搜索
开放搜索:利用搜索引擎获得后台、未授权页面、敏感url

  1. 基础信息:IP,网段,域名,端口

  2. 系统信息:操作系统版本

  3. 应用信息:各端口的应用,例如web应用,邮件应用等

  4. 版本信息:所有探测到的版本

  5. 服务信息:服务器类型、版本

  6. 人员信息:域名注册人员信息,web应用中网站发帖人的id,管理员姓名等

  7. 防护信息:试着看能否探测到防护设备

4.漏洞探测(手动&自动)

利用上一步中列出的信息,使用相应的漏洞检测

方法:
1)漏扫:AWVS、AppScan...
2)结合漏洞去exploit-db等位置找利用
3)在网上寻找验证POC

内容:
系统漏洞:系统没有及时打补丁
Websever漏洞:Websever配置问题
Web应用漏洞:Web应用开发问题
其它端口服务漏洞:各种21/8080(st2)/7001/22/3389
通信安全:明文传输,token在cookie中传送等

5.漏洞验证

将上一步中发现的有可能可以成功利用的全部漏洞都验证一遍。结合实际情况,搭建模拟环境进行试验,成功后再应用于目标中。

  • 自动化验证:结合自动化扫描工具提供的结果
  • 手工验证:根据公开资源进行验证
  • 试验验证:自己搭建模拟环境进行验证
  • 登录猜解:有时可以尝试猜解一下登陆口的账号密码等信息
  • 业务漏洞验证:如发现业务漏洞,要进行验证
  • 公开资源的利用

exploit-db/wooyun/
          渗透代码网站
          通用、缺省口令
          厂商的漏洞警告等

6.信息分析

为下一步实施渗透做准备

  • 精准攻击:准备好上一步探测到的漏洞exp(漏洞利用),用来精准攻击
  • 绕过防御机制:是否有防火墙等设备,如何绕过
  • 定制攻击路径:最佳工具路径,根据薄弱入口,高内网权限位置,最终目标
  • 绕过检测机制:是否有检测机制,流量监控,杀毒软件,恶意代码检测等(免杀)
  • 攻击代码:经过试验得来的代码,包括不限于xss代码,sql注入语句等

7.利用漏洞,获取数据

  • 实施攻击:根据前几步的结果,进行攻击
  • 获取内部信息:基础设施(网络连接,vpn,路由,拓扑等)
  • 进一步渗透:内网入侵,敏感目标
  • 持续性存在:一般对客户做渗透不需要。rookit,后门,添加管理账号,驻扎手法等
  • 清理痕迹:清理相关日志(访问,操作),上传文件等

8.信息整理

  • 整理渗透工具:整理渗透过程中用到的代码,poc,exp等
  • 整理收集信息:整理渗透过程中收集到的一切信息
  • 整理漏洞信息:整理渗透过程中遇到的各种漏洞,各种脆弱位置信息

目的:为了最后形成报告,形成测试结果使用。

9.形成报告

  • 按需整理:按照之前第一步跟客户确定好的范围,需求来整理资料,并将资料形成报告
  • 补充介绍:要对漏洞成因,验证过程和带来危害进行分析
  • 修补建议:当然要对所有产生的问题提出合理高效安全的解决办法

风险规避

  1. 不要进行诸如ddos攻击,不破坏数据;
  2. 测试之前对重要数据进行备份;
  3. 任何测试执行前必须和客户进行沟通,以免引来不必要的麻烦;
  4. 可以对原始系统生成镜像环境,然后对镜像环境进行测试;
  5. 明确渗透测试范围;

转载来源:

作者:Fighting_001
链接:https://www.jianshu.com/p/13fa3be9c5b9
来源:简书

渗透测试流程——渗透测试的9个步骤(转)的更多相关文章

  1. APP测试流程梳理

    APP测试流程梳理 1 APP测试基本流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试 ...

  2. Kali Linux渗透测试实战 1.3 渗透测试的一般化流程

    1.3 渗透测试的一般化流程 凡事预则立,不预则废,做任何事情都要有一个预先的计划.渗透测试作为测试学科的一个分支,早已形成了完整的方法论.在正式开始本书的实践教学章节之前,我也想谈一谈使用Kali ...

  3. Web渗透测试流程

    什么是渗透测试? 渗透测试 (penetration test)并没有一个标准的定义,国外一些安全组织达成共识的通用说法是:渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法 ...

  4. 【渗透测试】如何利用burpsuite测试无回显漏洞

    前面的文章讲了在windows和linux上的不同的无文件渗透测试的方法,那么这篇文章给大家讲解如何在漏洞没有回显的情况下,利用burpsuite自带插件进行测试的方式. 首先我们稍微提一下有哪些无回 ...

  5. 【腾讯优测干货分享】如何降低App的待机内存(二)——规范测试流程及常见问题

    本文来自于腾讯优测公众号(wxutest),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/806TiugiSJvFI7fH6eVA5w 作者:腾讯TMQ专项测 ...

  6. APP测试流程

    1 APP测试基本流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间.正式测试前先向 ...

  7. 自己做的加速app测试流程的小工具,目前打算开放使用,想注册的朋友抓紧了,嘻嘻

    为了加速小团队app的测试流程做了这个东西,www.xunce.net 主要特性: web: 一键上传app,方便随时下载 备注测试要点 添加附件,如checklist等文档  自动识别app版本,名 ...

  8. [liu yanling]测试流程

    测试流程 1.制定测试计划 2.编辑测试用例 3.执行测试用例 4.发现并提交BUG 5.开发组修正BUG 6.对已修正BUG进行返测 7.修正完成的BUG将状态置为已关闭,未正确修正的BUG重新激活

  9. 深圳尚学堂:Android APP的测试流程

    每一个新开发的软件都避免不了测试,我在这里总结了一些Android系统的移动端APP测试的一些测试流程,希望可以给大家一些帮助. 1. UI 测试App主要核ui与实际设计的效果图是否一致:交互方面的 ...

随机推荐

  1. Java学习日报7.9

    今日内容 阅读了构建之法第一章 工程师的宗旨:我构建,故我在. 哲学家的宗旨:我思,故我在. 科学家的宗旨:我发现故我在. 明天继续研究构建之法这本书!

  2. Spring Cloud Config原码篇(十)

    上篇中说到通过@Value注解获取配置中心的内容进行注入,要想了解这个就要知道spring Environment原理,关于这原理我看了下网上分析的文章:https://blog.csdn.net/t ...

  3. informix部署安装

    informix部署安装 一.环境准备 Linux版本:centos7.6 Linux主机名:localhost informix安装包:ibm.ids.14.10.FC4W1.LNX.tar inf ...

  4. gcc/g++命令参数

    在windows环境下,我们运行一程序,只需要在VS中点击运行按键即可,VS帮我们做完了程序的预处理.编译.汇编.链接阶段 但是在linux环境下,我们只能借助gcc/g++完成这一系列的操作 -o参 ...

  5. 使用 SOS 对 Linux 中运行的 .NET Core 进行问题诊断

    目录 说明 准备一个方便的学习环境 2.x 配置内容 3.x 配置内容 工具介绍 lldb sos plugin 1. attach 到进程上进行调试 2. 分析core dump文件 SOS 案例分 ...

  6. Azure Terraform(三)部署 Web 应用程序

    一,引言 上一节关于 Terraform 的文章讲到 Terraform 使用到的一些语法,以及通过演示使用 Terraform 在Azure 上部署资源组,极大的方便了基础设施实施人员,也提高了基础 ...

  7. 经典项目管理 OR 敏捷项目管理,我该怎么选?

    CODING 项目协同近期为支持传统项目管理推出了「经典项目管理」.至此,CODING 已全面支持敏捷项目管理以及传统项目管理.那么问题来了,「经典项目管理」和「敏捷项目管理」,我该怎么选呢?本文将从 ...

  8. OpenOCD安装与使用(JTAG调试)

    本文介绍openocd开源软件的安装以及搭配JTAG对Xilinx u500VC707devkit的调试 PC OS: Ubuntu20.04 LTS Target ARCH: riscv64 JTA ...

  9. 最新最简洁Spring Cloud Oauth2.0 Jwt 的Security方式

    因为Spring Cloud 2020.0.0和Spring Boot2.4.1版本升级比较大,所以把我接入过程中的一些需要注意的地方告诉大家 我使用的版本是Spring boot 2.4.1+Spr ...

  10. 十一:WEB渗透必懂知识点

    简述WEB层面上的漏洞以及类型,具体漏洞的危害等级, 如何形成以及如何发现 右边权重大于左边 CTF,SRC,红蓝对抗,实战 简要说明以上漏洞危害 简要说课以上漏洞等级划分 简要说明以上漏洞重点内容 ...