Web渗透测试实战(Metasploit5.0) 一

Web渗透测试实战(Metasploit5.0) 一

什么是渗透测试

渗透测试(penetration testing)是对计算机系统的一种授权攻击,旨在评估系统/网络的安全性,执行测试以识别漏洞及其带来的风险。

渗透测试的类型

根据客户需求,渗透测试可以分为三类:

  • 白盒(white box)
  • 黑盒(black box)
  • 灰盒(gray box)

白盒渗透测试

白盒渗透测试又称作玻璃盒渗透测试或透明盒渗透测试。通常在这种类型的渗透测试中,客户会分享关于目标系统、网络或应用的全部信息和细节,列如系统的登录账户和密码、网络设备的 SSH/Telnet 登录信息以及需要测试的应用的源代码。这些信息关系到客户的系统、网络,应用、因此非常敏感,所以建议对这些信息进行加密处理。

黑盒渗透测试

黑盒渗透测试是模拟攻击者的测试,测试人员将充当真实的攻击者,没有目标系统、网络或应用程序的内部信息。这种类型的测试实际上专注于渗透测试的第一阶段——侦察。测试人员可以获得有关目标组织的信息越多,测试效果就越好。在这种类型的测试中,不会向渗透测试人员提供任何架构图、网络结构或者任何源代码文件。

灰盒渗透测试

灰盒渗透测试介于白盒渗透测试和黑盒渗透测试之间。在典型的灰盒测试中,渗透测试人员会获得一些有关应用程序、系统或网络的信息。正是基于这个原因,这种测试往往非常有效,并且更关注有时限要求的组织。

渗透测试的阶段

  • 侦察
  • 枚举
  • 漏洞评估和分析
  • 漏洞利用(包括后渗透阶段)
  • 报告

侦察和信息收集

侦察是执行渗透测试的第一个阶段。
以下是可用于对 Web 应用进行侦察的工具列表:

  • 识别在非标准端口(用户自定义端口)上运行的应用:Amap、Nmap等。
  • 识别 DNS 和子域名:dnsenum、dnsmap、dnswalk、dnsrecon、dnstracer、Fierce、dnscan、Sublist3r 等。
  • 识别技术平台:BlindElephant、Wappalyzer、WhatWeb 等。
  • 识别内容管理系统:WPScan、Joomscan、CMScan、Drupscan 等。

枚举

在枚举阶段,测试人员将扫描在上一阶段(侦察)中识别的每个应用、系统或网络,以查找不同的攻击面。
以下是可用于对 Web 应用进行枚举的工具列表:

  • 文件和目录枚举:Dirsearch、dirb、dirbuster、Metasploit框架、BurpSuite、gobuster 等。
  • HTTP 协议支持的方法枚举:Nmap、BurpSuite、Metasploit框架(MSF)、wfuzz 等。
  • 速率限制测试:BurpSuite、ffuf、wfuzz 等。

漏洞评估与分析

一旦确定了工具媒介,就需要进行漏洞扫描,这就发生在渗透测试阶段。对 Web 应用进行漏洞评估,以识别网页、目录、HTTP协议方法、HTTP标头等是否存在漏洞。
以下是可用于对 Web 应用进行漏洞评估和扫描的工具列表:

  • 系统和网络:Nexpose、Nessus、OpenVAS 等。
  • Web 应用漏洞评估:AppSpider、Nikto、Acunetix、BurpSuite、Nessus 等。

漏洞利用

漏洞利用阶段是侦察之后的第二个关键阶段。此阶段用于证明在先前阶段发现的某个漏洞是否可以利用。

报告

报告阶段是渗透测试过程的最后阶段,将汇总在目标(测试范围内)中发现的每个漏洞。报告的漏洞将根据通用漏洞评分系统(CVSS)定义的严重性级别列出,CVSS是一个用于漏洞评估的免费、开放标准。
有一些公开的工具,例如 Serpico、Magic Tree、BurpSuite 和 Acunetix,可以帮助简化报告过程。

重要术语

  • 漏洞(Vulnerability):系统中的弱点,可能导致攻击者能够进行未经授权的访问。
  • 欺骗(spoofing):为了获得非法利益,个人或程序成功地将数据伪装成其他内容的情况。
  • 漏洞利用(exploit):一段代码,一个程序,一个方法或一系列命令,他们利用漏洞来获得对系统/应用程序的未授权访问。
  • 载荷(payload):在利用漏洞期间/之后,在目标系统上执行任务所需的实际代码。
  • 风险(risk):任何可能影响数据的机密性、完整性、和可用性的因素。未打补丁的软件、配置错误的服务器、不安全的 Internet 使用习惯等都会造成风险。
  • 威胁(threat):任何可能对计算机系统、网络或应用程序造成严重伤害的因素。
  • 黑盒(black box):一种测试方法,在测试之前不向测试人员提供有关系统内部架构或功能的信息。
  • 白盒(white box):一种测试方法,在测试之前,会向测试人员提供系统的内部架构和功能的全部信息。
  • Bug 悬赏(bug bounty):Bug 悬赏计划是许多网站和开发人员提供的一项协议,允许个人因报告 Bug(特别是与漏洞利用和漏洞相关的 Bug)而受到奖励。
  • SAST(Static Application Security Testing,静态应用程序安全性测试):一种安全性测试形式,主要是对应用程序源代码进行检查。
  • DAST(Dynamic Application Security Testing,动态应用程序安全测试):一种用于检测处于允许状态的应用程序中是否存在安全漏洞的技术。
  • 模糊测试(fuzzing):一种自动测试技术,将无效、非预期的或随机数据作为输入提供给应用程序。

渗透测试方法学

  • OSSTMM
  • ISSAF
  • PTES

PTES是使用最广泛的标准,几乎涵盖了所有与渗透测试相关的内容。
PTES分为七个阶段:

  • 测试前交互。
  • 情报收集。
  • 威胁建模。
  • 漏洞分析。
  • 漏洞利用。
  • 后渗透利用。
  • 报告。

通用缺陷列表

  • OWASP Top 10
  • SANS Top 25

你可能感兴趣的:(测试工具,metasploit,渗透测试)