无国界WEB渗透测试流程详解

 无国界 2019-06-27 

渗透测试是指渗透人员通过模拟恶意黑客的攻击方法,从内网、从外网等位置利用各种手段对某个特定网络进行测试,发现和挖掘系统中存在的漏洞或技术缺陷,然后输出渗透测试报告,并提交给客户。这样,客户便可以根据渗透人员提供的渗透测试报告,清晰知晓其网络系统中存在的安全隐患和问题。

一般情况,渗透测试服务的大致流程分为六个步骤:

1.明确目标
2.信息收集
3.漏洞探测
4.漏洞验证
5.漏洞攻击:利用漏洞,获取数据,后渗透测试
6.信息整理及渗透测试报告输出

web渗透测试流程
 
第一步:明确目标

1)确定范围:测试的范围,如:IP、域名、内外网、整站or部分模块
2)确定规则:能渗透到什么程度(发现漏洞为止or继续利用漏洞)、时间限制、能否修改上传、能否提权...
      目标系统介绍、重点保护对象及特性。
      是否允许数据破坏?
      是否允许阻断业务正常运行?
      测试之前是否应当知会相关部门接口人?
      接入方式?外网和内网?

3)确定需求:web应用的漏洞?业务逻辑漏洞?人员权限管理漏洞?

4)分析渗透测试过程中可能产生的风险,如大量测试数据的处理、影响正常业务开展、服务器发生异常的应急、数据备份和恢复、测试人力及物力等成本。

5)测试方书写实施方案并提交给客户或领导进行审核。在审核完成后,从客户或领导处获取对测试方进行书面委托授权书,授权测试方进行渗透测试。

第二步:信息收集

在信息收集阶段,我们需要尽量多的收集关于目标web应用的各种信息,比如:脚本语言的类型、服务器的类型、目录的结构、使用的开源软件、数据库类型、所有链接页面,用到的框架等。

方式:主动扫描;开放搜索
开放搜索:利用搜索引擎获得后台、未授权页面、敏感url
     基础信息:IP,网段,域名,端口
     系统信息:操作系统版本
     应用信息:各端口的应用,例如web应用,邮件应用等
     版本信息:所有探测到的版本
     服务信息:服务器类型、版本
     人员信息:域名注册人员信息,web应用中网站发帖人的id,管理员姓名等
     防护信息:试测能否探测到防护设备


第三步:漏洞探测

在收集到足够多的信息之后,便开始对WEB应用进行漏洞探测了,探测网站是否存在一些常见的Web漏洞。

漏洞探测方法:
1)漏洞扫描工具:AWVS、AppScan、Owasp-Zap、Nessus等
2)结合漏洞去exploit-db等位置找利用
3)在网上寻找验证POC

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

常见漏洞,比如:

    SQL注入 
    XSS跨站脚本
    CSRF跨站请求伪造
    XXE漏洞
    SSRF服务端请求伪造漏洞
    文件包含漏洞
    文件上传漏洞
    文件解析漏洞
    远程代码执行漏洞
    CORS跨域资源共享漏洞
    越权访问漏洞
    目录浏览漏洞和任意文件读取/下载漏洞
    struts2漏洞
    JAVA反序列化漏洞

第四步:漏洞验证

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

   自动化验证:结合自动化扫描工具提供的结果
   手工验证:根据公开资源进行验证
   试验验证:自己搭建模拟环境进行验证
   登录猜解:有时可以尝试猜解一下登陆口的账号密码等信息
   业务漏洞验证:如发现业务漏洞,要进行验证
   公开资源的利用
   exploit-db/wooyun/
   渗透代码网站
   通用、缺省口令
   厂商的漏洞警告等

第五步:漏洞攻击:利用漏洞,获取数据,后渗透测试

  进一步渗透:内网入侵,敏感目标
  持续性存在:一般对客户做渗透不需要rookit,后门,添加管理账号,驻扎手法等
  清理痕迹:清理相关日志(访问,操作),上传文件等

第六步:信息整理及渗透测试报告输出

在完成了渗透测试之后,我们就需要整理资料,对这次渗透测试撰写渗透测试报告了。需要对漏洞成因,验证过程和带来危害进行分析。明确写出哪里存在漏洞,以及漏洞修补的方法,以便于网站管理员根据我们的渗透测试报告修补这些漏洞和风险,防止被黑客攻击!

以上内容由四川无国界(www.uvsec.com) 整理编辑——专业从事网络信息安全培训与IT风险管理咨询服务。

 证书咨询

 电话咨询  在线咨询  预约报名