渗透测试流程

渗透测试流程

核心: 漏洞、漏洞探测、漏洞验证、漏洞利用

OWASP top 10

Web 安全测试指南(WPWSTG)

通用渗透测试框架

范围界定

在开展技术性安全评估之前,务必要观察、研究目标环境的被测范围

  • 取得授权
  • 测试对象是什么(baidu.com,news.baidu.com)
  • 应当采取何种测试方法
  • 有哪些在渗透测试过程中需要满足的条件
  • 需要多长时间完成测试任务
  • 应当达到怎样的任务目标

信息收集

测试人员需要使用公开资源尽可能的获取目标的相关信息。
各种公开资源: 论坛、新闻、媒体文章、社交网络、其它商业或非商业的网站、搜索引擎
信息越多,越有利于提高渗透测试的成功率

  • DNS 服务器
  • 路由关系
  • Whois 数据库
  • 电子邮件地址
  • 电话号码
  • 学号、工号
  • 个人信息
  • 用户帐号

目标识别

(资产的收集和整理)

主要是识别目标的网络状态、操作系统和网路架构。
完整的展现目标网络中的各种网路设备或技术的完整关系。

  • 有哪些设备
    • 安全设备
    • 网络设备
    • 服务器
    • 终端PC
  • 如何访问

服务枚举

(资产的收集和整理)

进一步找出在线主机开发的端口,由端口推导出运行的服务

在线主机开发了哪些端口

端口上运行的服务及其详细版本

信息收集内容补充:

  • 技术架构 (L/WAMP、Apache、IIS、Nginx…)
  • 开发语言 (PHP、JAVA、Python、Node…)
  • 开发框架 (vue、thinkphp、springboot、flask、struts2(S2)…)
  • 开源CMS (discuz、metinfo、dedecms、joomla、drupal、wordpress…)
  • 前后端分离
  • 站库分离
  • 是否有单独的文件服务器

漏洞映射

根据已经发现的漏洞和服务程序,查找、分析目标系统中存在的漏洞。

漏洞探测方法: 工具和手工

  • 更具组件版本,找漏洞
  • 逻辑漏洞
  • 漏洞扫描
    • 网络漏洞扫描
    • Web漏洞扫描

社会工程学

在目标网络没有直接入口时,利用欺骗的艺术 将起到抛砖引玉的作用

  • 人员定向攻击
  • 水坑攻击
  • 鱼叉攻击
  • 研究法律和规则

漏洞利用

在仔细检查和发现目标系统中存在的漏洞后,就可使用已有的漏洞利用程序对目标进行渗透

主要目的是控制目标系统

权限提升

获取目标系统的控制权是渗透测试成功的标志

  • root
  • system

范围维护

在一定时间内,需要维护目标系统的访问权限

  • 隐藏后面
  • 隧道技术

文档报告

编写书面报告只能给甲方的某个负责人看

  • 措辞
  • 漏洞分析
    • 漏洞名称
    • 漏洞概述
    • 风险等级
    • 漏洞点
    • 漏洞验证
    • 修复方案
  • 保密
    • 渗透测试报告只能给甲方的某个负责人看

简化渗透测试流程

  • 明确目标
  • 信息收集
  • 漏洞探测
  • 漏洞验证
  • 漏洞利用
  • 形成报告
-------------本文结束感谢阅读-------------

欢迎关注我的其它发布渠道