本文主要为针对指定大型企业以及其子公司的渗透测试规范流程

Web渗透测试前置准备

  1. 了解本次渗透测试目标
  2. 了解渗透测试范围以及要求,客户需求

信息收集

  1. 通过00信安下载企业暴露面详情
  2. 通过ICP备案网站了解其域名情况(推荐使用爱企查,不过要会员)
  3. 通过fofa收集各域名对应子域名
  4. 通过高级搜索语法搜索是否有新开的域名(此方法耗时较长,建议进行完其他流程后再继续)

大致性漏洞扫描

  1. 将之前获得的域名(包括子域名)和IP地址输入nmap存活批量探测脚本中,获得对应IP、开放端口、存活状态。
  1. 将IP资产和域名资产导入Goby中进行批量扫描(扫描耗时较长,可以进行手工测试了)
  1. 导出XLS报告查看,验证扫描出的漏洞是否真实存在
  2. 将获取到的网站数据单独保存,方便进行后续的手工测试流程

人工渗透测试流程

端口测试

  1. 查看是否存在可疑敏感的端口开放
  2. 对开放的远程登录端口+数据库端口等进行爆破尝试
  3. 对非登录的Web页面端口进行访问测试,若无法访问则尝试使用ITDog全局ping测试,网站关闭需要删去

非登录状态测试

  1. 访问每一个域名+对应端口,查看站内标题,记录到资产表内
  2. 发现OA以及熟悉的通用应用框架可以直接进行测试+账密爆破,记录结果到资产表内,防止重复测试
  1. 抓包测试
  1. 进行初步测试后,进行路径扫描,查看可以路径,若发现还有其他框架,则再次对该框架进行路径扫描
  1. API接口Fuzz测试,查看是否会有敏感数据流出
  2. 收集测试结果,整理泄露的敏感数据为字典,对之前包含登录接口的网站再次进行测试
  3. 若根据敏感数据Fuzz成功登录系统,则继续进行登录测试

登录状态测试(测试账号)

  1. 流程与域名数据测试相仿,只不过是在登录状态下进行,着重点是鉴权和文件上传
  2. 访问系统内数据处,删去cookie查看是否仍能继续查看(未授权访问) 部分系统的cookie是根据其中的用户名标识来识别的,可以尝试换成admin再进行操作
  3. 若存在不同权限账户,可以尝试切换数据接口,是否存在越权
  4. 查看系统内头像或者是其他上传接口,测试文件上传漏洞
  5. 查看系统内输入处,测试XSS漏洞
  6. 若其中存在其他用户列表,可以尝试记录成字典,去测试没有给出账户的系统

微信公众号/小程序测试

部分网址有请求头识别,若不是在微信环境下启动就打不开

  1. 首先先挂上代理(使用proxifier),将微信的流量导向到代理软件,再由BP进行拦截
  2. 在微信内搜索目标公司(以及其各分公司),点击关注后查看其是否支持非微信域名外的功能(qq.com直接跳过)
  3. 搜索小程序,测试其逻辑漏洞

报告整理

按照客户要求,根据指定模板书写渗透测试报告