Web渗透测试实战——(1)Web渗透测试简介
一、什么是渗透测试
渗透测试(penetration testing)是对计算机系统的一种授权攻击,旨在评估系统/网络的安全性,执行测试以识别漏洞及其带来的风险。一般而言,渗透测试过程分为五个阶段:包括识别目标系统、检测存在的漏洞以及每个漏洞的可利用性。渗透测试的目标是找到尽可能多的漏洞,并交付客户可以接受的通用格式报告。
二、渗透测试类型
-
白盒(white box):在白盒测试中,被测试者一般会提供给测试方目标系统、网络、应用等全部细节(包括账号、密码、SSH/Telnet登录信息、架构、网络结构、源代码… …等等)。
-
黑盒(black box):模拟攻击者场景的测试。充当真实的攻击者视角,没有目标系统的相关信息(白盒测试描述),该测试最大特点是测试者会更加注重于渗透测试的第一阶段——信息收集。收集到的信息越多,后期测试的效果就越好。
-
灰盒(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是一个用于漏洞评估的开放的标准)
四、常用的测试方法学
五、推荐的测试平台
- 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) |
- SANS Top 25 (emmm…没用过,原理上应该都差不多)
笔者因才疏学浅初次尝试,尚有许多不足,望多加指正,欢迎各位志同道合者共同探讨!
该期下一分节:渗透测试实战——(2)Metasploit 初步