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

Web渗透测试实战(Metasploit5.0) 一相关推荐

  1. web渗透测试实战-SQLMAP

    一.实验项目名称 web渗透测试实战-SQLMAP 二.实验目的及要求 熟悉SQL注入漏洞原理 熟悉SQLMAP工具使用. 1.获取数据库信息:数据库漏洞.数据库名.数据库版本等 python sql ...

  2. kali linux 2.0 web 渗透测试 电子书

    原创 2017-05-31 玄魂工作室 玄魂工作室 打起精神,重新开启订阅号的原创文章写作工作,但是需要点时间,请耐心等待. 求资料的同学,没有及时回复的,请再次留言,我会尽快处理.今天分享两本电子书 ...

  3. 《内网安全攻防:渗透测试实战指南》读书笔记(八):权限维持分析及防御

    目录 前言 一.操作系统后门 1.粘滞键后门 2.注册表注入后门 3.计划任务后门 4.meterpreter后门 5.Cymothoa后门 6.WMI后门 二.WEB后门 1.Nishang下的We ...

  4. Web渗透测试对靶机注入shell(phpMyAdmin)

    Web渗透测试对靶机注入shell 文章目录 Web渗透测试对靶机注入shell 1.寻找目标信息 netdiscover扫描 nmap扫描 利用御剑后台进行扫描 2.对登录页面进行暴力破解 启动bu ...

  5. 《内网安全攻防:渗透测试实战指南》读书笔记(二):内网信息收集

    目录 前言 一.收集本机信息 1.手动搜集 (1)查询网络配置 (2)查询操作系统及软件的信息 (3)查询本机服务信息 (4)查询进程列表 (5)查看启动程序信息 (6)查看计划任务 (7)查看主机开 ...

  6. 《内网安全攻防:渗透测试实战指南》读书笔记(四):权限提升分析及防御

    目录 前言 一.系统内核溢出漏洞提权分析及防范 1.通过手动执行命令发现缺失补丁 (1)MS16-032(KB3139914) 2.利用MSF发现缺失补丁 3.Windows Exploit Sugg ...

  7. VulnHub渗透测试实战靶场 - THE ETHER: EVILSCIENCE

    VulnHub渗透测试实战靶场 - THE ETHER: EVILSCIENCE 环境下载 THE ETHER: EVILSCIENCE靶机搭建 渗透测试 信息搜集 漏洞挖掘 getshell 提权 ...

  8. 《内网安全攻防:渗透测试实战指南》读书笔记(五):域内横向移动分析及防御

    目录 前言 一.常用Windows远程连接和命令 1.IPC (1)利用条件 (2)连接失败的原因 2.Windows自带工具 (1)dir (2)tasklist 3.计划任务 (1)at (2)s ...

  9. 内网安全攻防:渗透测试实战指南之内网信息搜集

    <内网安全攻防:渗透测试实战指南>第2章:内网信息搜集 内网渗透测试的核心是信息搜集.本章主要介绍了当前主机信息搜集.域内存活主机探测.域内端口扫描.域内用户和管理员权限的获取.如何获取域 ...

  10. 【渗透测试实战】PHP语言有哪些后门?以及利用方法

    目录 后门 php.ini构成的后门 .user.ini文件构成的PHP后门 反序列化 PHP序列化实现 常见处理器 序列化格式 private与protect PHP反序列化漏洞 利用点 SoapC ...

最新文章

  1. php路径设置,php进行数据库路径设置的方法
  2. 滚动到底部或顶部响应的ScrollView使用
  3. java utf8转iso8859-1_在Java中将UTF-8转换为ISO-8859-1
  4. MySQL中引入存储引擎意义是_mysql学习九:存储引擎、存储过程和函数的引入
  5. server 2008 R2+IIS7.5安装cacti实验
  6. 大端BigEndian、小端LittleEndian与字符集编码
  7. SpringMvc源码入门
  8. MIUI刷Android原生,小米手机怎么刷安卓原生系统
  9. 机器学习学习笔记之——处理文本数据
  10. 庄懂21课 塞博小人
  11. 科普:飞针测试机探针分类概要
  12. dimm和udimm_Adata推出32GB DDR4-2666 UDIMM和SO-DIMM
  13. RestAssured接口测试框架
  14. pdf合到一起java_将多个PDF文件合并/转换为一个PDF
  15. PCIEBXMCx4板卡
  16. 如何用计算机做字库,如何自己制作字体:手写体中文字体自动生成系统(来自北京大学计算机科学技术研究所)...
  17. 教你从零做起谷歌Adsense。开户,过审核,过pin码达到稳定收益
  18. 计算机基础知识实训答案,《计算机应用基础》实训作业答案
  19. 关于linux安装kettle的总结
  20. 超硬核:Linux系统内存知识

热门文章

  1. php 动态生成网站地图,DedeCMS网站地图动态生成方法
  2. java怎么格式化日期_java 时间格式化各种方法
  3. c语言城市交通灯优化,城市智能交通灯系统(本科)毕业论文.doc
  4. 小程序列表左滑效果在IOS呈上下滑动影响样式
  5. 微信编辑器有哪些呢?
  6. Bootstrap---dateTimePicker时间控件配置与应用
  7. 基于javaweb的超市管理系统设计与实现(含论文和源码)
  8. java象棋人机_Java版中国象棋人机对战源代码(AI算法体现淋漓尽致)
  9. 三菱FX5U系列PLC使用MODBUS协议与仪表通信的简单说明
  10. 安装cmsv7的具体方法