• 0
  • 0
分享
  • 渗透测试步骤——软件测试圈
  • 北极 2021-05-20 10:37:03 字数 1144 阅读 2361 收藏 0

渗透方法:

  • 黑盒测试:在不知道目标内部的基本构造和内部特性的情况下进行测试

  • 白盒测试:与黑盒相反

  • 灰盒测试:介于黑白盒之间,在知道较少内部架构的情况下进行攻击

渗透目标:

  • 主机操作系统渗透测试

  • 数据库系统渗透测试

  • 应用系统渗透测试

  • 网络设备渗透测试:网络通信设备、网络安全设备

  • 内网渗透测试

  • 外部渗透测试

渗透七个步骤:

1、前期交互

确定渗透测试范围

  • 时间估计:预估整体项目的时间周期

  • 问答交谈:对企业内雇员进行问答交流(这里应该指社工)

  • 范围制定:项目起止时间、授权文件、目标规划

  • 确定测试资源:IP、域名范围、ISP、服务器所在国家(渗透需要的资源情报)

目标规划

  • 确定目标

  • 业务分析与需求分析

建立通信渠道

  • 紧急联系方式

  • 应急响应流程

  • 进展报告周期

  • PGP或其他加密方式

  • 取得与外部第三方的联络方式

交互确定规则

  • 时间线

  • 地点

  • 渗透测试的控制基线

  • 证据处理

其他要素

  • 前期交互检查表与后期交互检查表

  • 装备测试系统与工具

  • 数据包监听

2、信息收集

收集方式

  • 白盒收集:场内收集、场外收集

  • 人力资源:关键雇员、合作伙伴\供应商、社会工程、踩点

信息分析

  • 21——FTP,匿名访问

  • 22——SSH,弱口令

  • 80——HTTP,web漏洞

  • 443——openssl,心脏出血

  • 445——smb、ms08-067、ms17-010

  • 1433——mssql,弱口令

  • 1521——oracle,弱口令

  • 3389——win远程登录,弱口令

  • 6379——redis未授权访问,弱口令

  • 8080——tomcat漏洞

寻找外网入口

  • 黑盒web渗透

  • 邮件服务器

识别防御机制

3、威胁建模

业务流程分析

  • 使用的基础设施

  • 人力基础设施

  • 使用的第三方平台

社区分析

  • 内部人员

  • 竞争对手

  • 国家政府

  • 组织恐怖集团

  • 假期值守人员

威胁能力分析

  • 分析使用的渗透测试工具

  • 可用的相关渗透代码和攻击载荷

  • 通信机制(加密、下载站点、命令控制、安全宿主站点)

4、漏洞分析

  • 对前几个阶段内获得的信息进行分析从而判断攻击方式

5、渗透攻击

根据漏洞分析中的攻击方式判断攻击入口和过程,攻击过程要包含:

  • 精准打击

  • 绕过防御机制

  • 定制渗透攻击路径

  • 绕过检测机制

  • 触发攻击响应控制

  • 渗透代码测试

6、后期渗透

基础设施分析

  • 当前网络连接分析

  • 网络接口查询

  • VPN检测

  • 路由检测

  • 网络邻居有系统探查

  • 使用的网络协议

  • 使用的代理服务器

  • 网络拓扑

  1. 高价值目标识别

  2. 掠夺敏感信息

  3. 业务影响攻击

  4. 掩踪灭迹

  • 记录渗透攻击过程步骤

  • 确保清理现场

  • 删除测试数据

  • 对证据进行打包和加密

  • 必要时从备份恢复数据

持续性存在

  • 自启动恶意代码

  • 反向连接

  • Rootkit(用户模式、内核模式)

  • 命令控制媒介(HTTP、dns、tcp)

  • 后门

  • 植入代码

  • 口令保护的VPN

7、报告生成

  • 根据公司提供的报告模板进行报告生成

作者:Munch_D_Rudy

原文链接:https://blog.csdn.net/Munch_D_Rudy/article/details/115692929


  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 前言小伙伴们,好久不见呀,今天呢笔者想和大家聊聊postman参数化,在接口测试中,部分参数每次发送请求是唯一的数值,这时可以采用把测试数据参数化处理的方式实现,postman参数化的形式主要有三种。1、内置变量实现内建变量为postman自带的系统变量,但是不能进行精确化的对比Variable NameDescriptionExamples{{$guid}}添加一个V4风格的GUID“611c2e81-2ccb-42d8-9ddc-2d0bfa65c1b4”{{$timestamp}}添加当前的时间戳,精确到秒1562757107 , 1562757108 , 1562757109{{$ra...
            0 0 4235
            分享
          • 前言今天在做验证码识别项目的时候,一开始就碰到了一个问题,出了各种各样的报错,研究查询了很久终于解决了,在这里归纳分享一下。碰到的问题及解决方法在我定位验证码滑块元素的时候一直显示我定位语句错误,多次调试定位方法及路径未果,后来发现这里验证码的部分是用iframe写入的,也就是子Frame,相当于页面的子页面,它的结构与外部网页完全一致,selenium在打开网页后,默认在父级Frame里面操作,所以获取不到子Frame的节点。这时需要用switch_to.frame()的方式切换到iframe:from selenium import webdriver &nb...
            0 0 3954
            分享
          •   随着开发的逐渐深入,从节省时间、资源和提高测试效率的角度来说,自动化用例必然会成为一个大众型选择。并且,几乎大大小小的软件公司,都在朝着测试自动化的脚步迈进。  那么,我们应该如何有效地利用自动化测试结果挖掘问题,或者说如何通过自动化测试结果分析出一些问题呢?当然,这里的问题不全指代码故障,也可能包括测试脚本问题。  首先,让我们来看看,软件公司常用的将自动化测试嵌入开发流程方法。提及此,不得不提到DevOps(开发运营一体化)。  传统DevOps流程包括:设计——>开发——>测试——>部署,如下图所示。  构建DevOps流程需要一个持续化集成工具,如Jenkins,...
            11 12 1315
            分享
          • 一、Java集合框架概述集合可以看作是一种容器,用来存储对象信息。所有集合类都位于java.util包下,但支持多线程的集合类位于java.util.concurrent包下。Java集合类主要由两个根接口Collection和Map派生出来的,Collection派生出了三个子接口:List、Set、Queue,因此Java集合大致也可分成List、Set、Queue、Map四种接口体系,(注意:Map不是Collection的子接口)。其中List代表了有序可重复集合,可直接根据元素的索引来访问;Set代表无序不可重复集合,只能根据元素本身来访问;Queue是队列集合;Map代表的是存储k...
            0 0 1279
            分享
          • 自动化测试是什么?自动化测试学什么?自动化测试面试题及答案?–看完后吊打面试官!一、前言最近有童鞋和我抱怨,说网上很难搜到那些全面又合适的自动化测试面试题,这里根据我个人的经验以及收集整理的:你没看错,不慌,慢慢来。先从什么是自动化测试开始说起哈!二、什么是自动化测试?什么是自动化测试?当我第一次知道自动化测试的时候,除了知道“自动化”这三个有些高大上的称呼之外,我对自动化测试一无所知,正如谈恋爱一样,找女朋友之前要知道她是谁。自动测试就是把以人为驱动的测试转化为机器执行的一种过程,它是一种以程序测试程序的过程。嗦嘎!那么…三、自动化测试需要学什么技能?这是我以前在知乎写的,可以详细的了解20...
            13 16 4176
            分享
      • 51testing软件测试圈微信