Day2 渗透测试流程与相关规范

渗透测试流程

与客户进行签约,取得合法的测试权限後,以下为签约与接洽需要注意:

  1. 企业是否了解渗透测试可能造成的危害性
  2. 企业是否针对目标进行备份与还原的测试
  3. 企业是否允许测试人员存取内部敏感资料
  4. 企业是否能提供测试环境供测试人员检测
  5. 企业是否禁止特殊测试方法,以下不限於:
    • 提权攻击:取得一般权限,确认环境内是否检测有提升权限的危害
    • ZeroDay 攻击:骇客已知但厂商未知未修补的弱点
    • 社交工程:针对人性的弱点进行攻击
    • 物理攻击:实体入侵
    • 密码爆破:使用密码字典档进行检测
    • 中间人攻击:拦截封包,确认传输输的安全性
  6. 企业进行渗透测试之後是否需要进行复测

开始进行正式的渗透测试,分成以下六个阶段:

  1. 资讯蒐集
  2. 漏洞识别
  3. 漏洞利用
  4. 清除纪录
  5. 撰写报告
  6. 修复复测

资讯蒐集:蒐集目标的所有资讯

此阶段为是渗透测试最重要的阶段,在这个阶段蒐集最多的资讯,能加速後续的漏洞识别与漏洞利用。

根据目标进行资讯蒐集,分成主动情蒐与被动情蒐:

  1. 被动情蒐:蒐集公开在网路中可被利用的资讯:如 WHOIS 资讯、公司资讯(联络人信箱、名称)等。
  2. 主动情蒐:直接与目标进行存取,透过扫描工具收集资讯:如端口扫描、服务枚举。

漏洞识别:判别目标的漏洞风险

透过资讯蒐集的阶段所收集的资料,去识别目标是否存在漏洞和弱点,
除了手动测试之外,也会透过弱点扫描工具辅助,
针对系统弱点扫描 Open-VAS 与 Nessus、
针对网站安全弱点扫描 AWVS 与 OWASP ZAP 的工具。

若识别目标有存在漏洞和弱点,会在下一阶段确认漏洞的风险与危害性。

漏洞利用:确认漏洞存在与危害

当识别出有漏洞和弱点,根据签约时,所允许的检测方式检测弱点,
并针对找到的弱点和漏洞进行评估危害性。

针对目标系统进行分析,利用已知漏洞或自行撰写的 POC 验证弱点存在,
重大风险的漏洞,造成的影响可能是任意远端执行目标系统的指令(Remote Code Execution)
或是可任意存取、修改、删除企业内部的敏感资料。

清除纪录:清除测试过程的档案

若测试范围在於「正式环境」,在检测结束之後,
测试资料、测试帐号、上传档案都需要纪录与移除,
若无法删除的资料,须告知企业,请企业协助删除,
因为测试资料可能会影响企业内部营运。

撰写报告:撰写修正建议给企业

透过报告让客户了解这次渗透测试发现的漏洞与危害,通常以下大点叙述:

  1. 声明:此章节说明该测试有经过正式授权,测试内容为敏感资料等
  2. 方法:测试目的、测试方法、测试流程
  3. 摘要:测试结果的摘要,可能透过图表的方式呈现
  4. 过程:测试的过程、如何利用、重现弱点与影响性
  5. 解决:该弱点有什麽解决方案

修复复测:修复後进行再次验证

提供报告给受测企业之後,企业依据报告内容进行修复弱点。

复测:根据第一次的检测内容,查看企业是否已经修复完毕,
复测结束後会提供,复测报告给企业。

渗透测试相关规范

  • OSSTMM (Open Source Security Testing Methodology Manual)
  • PTES Technical Guidelines
    • 提供测试的注意事项与细节
  • OWASP APSVS (OWASP Application Security Verification Standard)
    • OWASP 应用程序安全验证标准
  • OWASP (Open Web Application Security Project)
    • OWASP 提供 WEB 的测试指南

<<:  Day 12: 前往未知秘境!在iOS上展示Ktor资料!

>>:  提高广告单价的方式

Day 17 - Linux 上设定 PBR

我们需要使用 FRRouting,若还没安装的话,请先安装一下 这次使用的系统为 Ubuntu 20...

Day 28 - styled-components 笔记3

Q_Q .. 对预设建立的 component 延伸自订样式 import styled from...

Day44. 范例:文字积木 (蝇量模式)

本文同步更新於blog 情境:这是公司生产的文字积木 <?php namespace Ap...

[Python][Arabic]阳春翻译工具

参考使用源码为以下: https://github.com/amrelarabi/English-A...

Day 16. slate × Interfaces × CustomType

slate 将 typescript 的型别扩充相关的内容都集合在 interfaces/cust...