Web渗透测试实战——(1)Web渗透测试简介

Web渗透测试实战——(1)Web渗透测试简介

  • 一、什么是渗透测试
  • 二、渗透测试类型
  • 三、渗透测试阶段
    • 1. 信息收集与侦查
    • 2. 枚举
    • 3. 漏洞评估与分析
    • 4. 漏洞利用
    • 5. 报告
  • 四、常用的测试方法学
  • 五、推荐的测试平台

一、什么是渗透测试

渗透测试(penetration testing)是对计算机系统的一种授权攻击,旨在评估系统/网络的安全性,执行测试以识别漏洞及其带来的风险。一般而言,渗透测试过程分为五个阶段:包括识别目标系统、检测存在的漏洞以及每个漏洞的可利用性。渗透测试的目标是找到尽可能多的漏洞,并交付客户可以接受的通用格式报告。

二、渗透测试类型

  1. 白盒(white box):在白盒测试中,被测试者一般会提供给测试方目标系统、网络、应用等全部细节(包括账号、密码、SSH/Telnet登录信息、架构、网络结构、源代码… …等等)。

  2. 黑盒(black box):模拟攻击者场景的测试。充当真实的攻击者视角,没有目标系统的相关信息(白盒测试描述),该测试最大特点是测试者会更加注重于渗透测试的第一阶段——信息收集。收集到的信息越多,后期测试的效果就越好。

  3. 灰盒(gray box):介于黑白盒测试之间,在典型的灰盒测试中,测试员会提前得知相关的目标系统、应用程序、网络信息… …等等。这种测试通常适用于有时限要求的组织,被测者提供有效信息,测试者可以集中于风险更大的系统上,节省前期的信息收集时间。

三、渗透测试阶段

根据Harpreet Singh、Himanshu Sharma等人的专业描述,渗透过程可以分为以下各个阶段:

阶段1: 信息收集与侦查

阶段2:枚举

阶段3:漏洞评估与分析

阶段4:漏洞利用(包括再渗透)

阶段5:报告

1. 信息收集与侦查

这是黑盒测试最关键的阶段,渗透测试人员将尝试识别相关系统或应用程序,并尽可能多地收集信息。常用的Web渗透测试工具:

类型 工具
端口扫描 Amap 、Nmap
DNS/子域名识别 dnsenum、dnsmap、dnswalk、Fierce、dnscan、Sublist3r
技术识别 BlindElephant、Wappalyzer、WhatWeb
内容管理系统识别 WPScan、Joomscan、CMScan、Drupscan

ps:后期会出一期详细工具使用教程,敬请期待。

2. 枚举

测试人员将扫描在上一阶段中识别的每个应用、系统或网络,以查找不同的攻击面。在该阶段中,重点枚举出web应用的文件、目录、网络设备、端口以及服务等等,进而帮助测试人员识别可能的攻击切入点(攻击媒介)。这些切入点通常是测试人员获取目标系统的访问权限、入侵系统路径的重要方法。常有的媒介有:钓鱼邮件、尚未修补的漏洞等等。手工枚举过程繁琐,所以常借助一些工具来完成。

类型 工具名称
文件/目录 Dirsearch、dirb、dirbuster、Metasploit框架、BurpSuite、gobuster
HTTP协议 Nmap、BurpSuite、Metasploit框架(MSF)、wfuzz

ps:后期会出一期详细工具使用教程,敬请期待。

3. 漏洞评估与分析

在确定攻击媒介之后,接下来就是漏洞扫描,对web漏洞进行分析与评估,常用的扫描分析工具有:

类型 名称
系统与网络 Nexpose、Nessus、OpenVAS
web应用 AppSpider、Nikto、Acunetix、BurpSuite、Nessus

ps:后期会出一期详细工具使用教程,敬请期待。

4. 漏洞利用

该阶段主要是为了证明前一步骤发现的漏洞是否能被真正利用,通常可以借助Metasploit Framework和Canvas自动进行漏洞利用。

5. 报告

该步骤将汇总在目标中发现的每个漏洞。进一步地,根据通用漏洞评分系统CVSS定义的严重性级别列出。(CVSS是一个用于漏洞评估的开放的标准)

四、常用的测试方法学

  1. OSSTMM https://www.isecom.org/OSSTMM.3.pdf

  2. ISSAF

  3. PTES http://www.pentest-standard.org/index.php/Threat_Modelling

五、推荐的测试平台

  1. OWASP Top 10( https://pan.baidu.com/s/1L2c50J7tkat3P4hYWlC5PQ 提取码: d4i1 )
类型
注入(injection)
认证暴破(broken authentication)
敏感数据泄露(sensitive data exposure)
XML外部实体(XML External Entities,XXE)
访问控制暴破(broken access control)
错误的安全配置(security misconfiguration)
跨站脚本(Cross-Site Scripting,XSS)
不安全的反序列化(insecure deserialization)
使用含有已知漏洞的组件(using component with known vulnerability)
日志记录和监控不足(insufficient logging and monitoring)
  1. SANS Top 25 (emmm…没用过,原理上应该都差不多)

笔者因才疏学浅初次尝试,尚有许多不足,望多加指正,欢迎各位志同道合者共同探讨!

该期下一分节:渗透测试实战——(2)Metasploit 初步

你可能感兴趣的:(Web渗透测试,web安全,安全)