Metasploit渗透测试框架

Metasploit渗透测试框架

渗透测试是一类有目的性的、针对目标机构计算机系统安全的监测评估方法。渗透测试可以发现系统的漏洞和安全机制方面的隐患,并以此进行渗透攻击来取得目标计算机的控制权。通过渗透测试可以知道目标机构的计算机系统是否易于受到攻击,现有的安全部署是否能妥善地抵御攻击,以及哪部分安全机制可能被绕过,等等。渗透测试的主要目的是改善目标机构的安全性。

正所谓“工欲善其事,必先利其器”,渗透测试能否成功很大程度上取决于测试时是否采用了正确的工具和技术。渗透测试工程师需选择正确的渗透测试工具和技术,才能保证任务的完成。当提到最优秀的渗透测试工具时,安全业界的绝大多数人都会首先想到Metasploit渗透框架。现在,Metasploit被公认为进行渗透测试时最有效的安全审计工具之一,它提供了最全面的漏洞渗透模块库,集成了优秀的模块开发环境,具有强大的信息收集和Web测试能力及其他许多功能。

通常,一次完整的渗透测试包含如下7个阶段。

前期交互阶段渗透测试工程师要确定渗透测试的目标和测试范围。它们要和客户讨论渗透测试的所有关键细节
信息收集阶段渗透测试工程师采用主动和被动两个方式来收集目标信息,其被动攻击收集可以在完全不接触目标的情况下进行
威胁建模阶段渗透测试工程师要根据之前获得的信息,找出对目标系统威胁最大的弱点,从而确定最为高效的渗透攻击方式
漏洞分析阶段渗透测试工程师要找到并确认目标系统上存在的已知的和未知的漏洞,然后在实验环境进行验证
渗透攻击阶段渗透测试工程师要利用在上一阶段发现的漏洞来入侵目标系统。这通常意味着渗透测试工程师会尝试获得目标系统的控制权
后渗透攻击阶段渗透测试工程师要开展一些实际的入侵行为。例如,盗取目标计算机的某个机密文件,直接关闭目标系统,或者在目标系统上创建一个新的远程管理账户,等等。总之,渗透测试工程师应该完成渗透攻击后的所有工作
报告阶段渗透测试工程师需要将渗透测试的结果汇总为一个文件,并提供漏洞修补和安全升级的解决方案

组织一次渗透测试

(一)前期交互阶段

作为渗透测试的第一个步骤,前期交互阶段将确定客户(可能是一个公司、机构或者网络)的渗透测试的关键细节。这一切都是在与客户进行商讨之后决定的。这个阶段是连接客户与渗透测试工程师的桥梁。在这个阶段,渗透测试工程师要与客户进行充分的交流,以便客户对即将开展的渗透测试会对他的网络或者服务器产生的影响有足够的了解。

因此,渗透测试工程师要以客户指导者的身份来进行这一阶段的工作。这一阶段还将确定渗透测试的范围、目标以及进行分析时的特殊需求,例如特殊的权限、关键系统的访问许可、网络或系统凭证等。商讨的范围还将包括渗透测试预期对测试目标所产生的积极效果。

渗透测试的范围:这一部分需要确定渗透测试的范围并预估整个项目的工作量。同时要确定哪些目标在渗透测试范围内,哪些是不允许进行渗透测试的。测试者要确认渗透区域内涉及的IP地址范围和域名范围,以及采用的测试类型(黑盒测试或白盒测试)。比如,当进行白盒测试时,会给予测试者哪些权限,是否可以对目标管理人员开展问卷调查,在什么时间可以开展渗透测试,是否能对目标环境进行网络流量压力测试,以及商定渗透测试的费用以及支付条款。关于渗透范围的常规文档杨改包含了如下问题的答案。

目标组织最大的安全问题是什么
应该对哪些主机、网络地址范围或者应用程序进行测试
目标组织最大的安全问题是什么
应该将哪些主机、网络地址范围或者应用程序排除在测试范围之外
在测试范围内是否存在第三方系统或者网络?它们拥有了哪些系统
渗透测试是在现场实地环境进行还是在虚拟测试环境进行
渗透测试是否包括的测试技术:采用Ping对网络范围进行扫描、对目标主机进行端口扫描、对目标进行漏洞扫描、对目标主机进行渗透测试、应用程序级的操作、客户端java/ActiveX逆向工程、物理渗透测试、社会工程学?
渗透测试是否包括内部网络测试?若包括,如何获取权限 ?
客户端是否包括在测试范围内?若包括,将会涉及多少客户?
是否允许采用社会工程学手段?若允许,如何采用?
应该对哪些主机、网络地址范围或者应用程序进行测试
是否允许拒绝服务攻击?
是否允许采用具有破坏性的检查手段和渗透模块?

渗透测试的目标:这一部分要商定本次渗透测试预期达到的主要和次要效果。有关渗透目标的常见问题列举如下。

这次渗透测试的商业需求是什么?
这次测试是出于监督审核的目的还是仅仅为了遵循标准程序
目标是什么?

若想获取关于前期交互的更多信息,请访问网址:http://www.pentest-standard.org/index.php/Reporting

(二)信息收集阶段/侦查阶段

在信息收集阶段,你需要尽可能采用各类方式来收集目标网络的所有信息。这个目标网络可能是互联网的一个网站,或者是一个社会性的组织,甚至可能是一个财力雄厚的老牌商业公司。在这个阶段,最重要的是要通过各个社交媒体网络来收集相关信息,以及用Google Hacking技术(用特殊的查询方式通过Google搜索引擎收集敏感信息的工具)来寻找目标的相关信息。另外,对目标主机采用主动扫描和被动扫描技术进行踩点(footprinting)也是一类可行的办法。

信息收集时整个渗透测试过程最为重要的阶段之一。与尝试所有可行的渗透测试方法相比,对目标有适当的了解可以让测试者选择合适和准确的渗透测试攻击方式。这样做将会大大缩短整个渗透测试耗费的时间。通常这个阶段会占到渗透测试所需时间的40%~60%,至于能否成功渗透进入目标网络很大程度上取决于测试者在这个阶段的工作成果。

渗透测试工程师需通过对目标网络进行足够的扫描来获取足够的信息。扫描目标计算机删运行的服务、开放的端口,以及验证这些端口上运行着的全部服务,然后判断这些服务里哪些是可以被攻击的,并且决定如何利用它们作为入侵目标的通道。

在这个阶段还要明确网络当前部署的安全控制措施以及如何才能破坏这些措施。

作为一个过程,它可以分解成以下步骤:

目标选择选择攻击的目标,确定攻击达到的效果以及整个攻击过程耗费的时间
隐私收集包括现场信息采集,检查使用的设备信息,甚至从丢弃的废品里收集信息。这个阶段是白盒测试的一部分
踩点工作包括针对目标上部署的技术和软件的主动和被动扫描,例如 网络端口扫描、banner获取等
验证目标的安全机制包括防火墙、网络流量过滤系统、网络和主机的保护措施的确认工作等

若想获取关于信息收集的更多信息,请访问网址:http://www.pentest-standard.org/index.php/Intelligence_Gathering

(三)威胁建模阶段

为了保证渗透测试能够正确进行,需进行威胁建模。在这个阶段,主要的工作是模拟出对目标准确的威胁以及这些威胁的作用,并根据这些威胁可能对目标产生的影响对其进行分类。根据之前在信息收集阶段做出的分析,在这个阶段我们可以确定最佳的攻击方式。威胁建模方法适用于商业资产分析、工程分析、威胁分析以及威胁能力分析。这一阶段将解决如下问题:

如何攻击指定的网络
需要获得的重要信息是什么
在攻击时采取什么方法最为合适
对目标来说最大的安全威胁是什么

威胁建模将有助于渗透测试工程师完成以下工作:

收集有关高等威胁的相关文档
根据基本的分类方法对组织的资源进行标识
对威胁进行识别和分类
将组织的资源映射成模型

威胁建模将有助于明确哪些资源最容易受到威胁,以及这些威胁各自是什么。

假定现在有一个针对公司网站的黑盒测试。目标公司的客户信息是公司的重要资产。然而,在同一后台程序的另一个数据库里保存了客户的交易记录。在此情况下,攻击者就可以以SQL注入漏洞获取客户的交易记录,而交易记录属于其他资产。因此在这个阶段,应建立一个针对重要资产和其他资产的SQL注入漏洞威胁模型。

漏洞扫描工具(例如Nexpose和Metasploit Pro版)可能帮助我们以自动化的方式快速清晰地完成威胁建模。在开展大规模地测试时,这个优势更为明显。

若想获取关于威胁建模的更多信息,请访问网址:http://www.pentest-standard.org/index.php/Threat_Modeling

(四)漏洞分析阶段

漏洞分析是在一个系统或者应用程序里发现漏洞的程序。这些漏洞多种多样,涵盖了很多方面,从服务器的配置到Web程序服务,从应用程序到数据库服务,从基于VOIP的服务器到基于SCADA的服务都可能存在漏洞。这个阶段包含了三个不同的机制,那就是测试、验证和研究。测试包括主动测试和被动测试。验证包括去除误报和通过手动验证确认漏洞的存在。研究指的是发现并触发漏洞以确认它的存在。

有关威胁建模的各个过程的更多信息,请访问:http://www.pentest-standard.org/index.php/vulnerability_analysis

(五)渗透攻击阶段

渗透攻击阶段可以利用之前漏洞分析阶段的成果。这个阶段一般被认为是真正的攻击阶段。在这个阶段。渗透测试者可以针对目标系统的漏洞使用对应的入侵模块获得控制权限。

有关渗透攻击阶段各个过程的详细信息。请访问:http://www.pentest-standard.org/index.php/Exploitation

(六)后渗透攻击阶段

后渗透攻击阶段发生在渗透攻击阶段之后,这个阶段包含了当成功渗透攻击到对方计算机以后的很多任务,比如提升权限、上传和下载文件、跳板攻击,等等。

有关后渗透阶段的更多信息,请访问:http://www.pentest-standard.org/index.php/Post_Exploitation

(七)报告阶段

在进行渗透测试时,创建整个渗透测试的正式报告是在最后一个阶段进行的。渗透测试报告的重要组成部分包括:确定目标最为重要的威胁,将渗透得到的数据生成图表,对目标系统的改进建议,以及这些问题的修复方案。

有关报告阶段各个过程的详细信息。请访问:http://www.pentest-standard.org/index.php/reporting

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/525484.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用 Python 分析《斗破苍穹》,分析其究竟是烂片无疑还是沧海遗珠?

作者 | 量化小白H责编 | 郭芮近期根据小说《斗破苍穹》改编的同名电视剧正在热映,本文对《斗破苍穹》进行文本分析,分为两部分。首先爬取豆瓣影评进行简单分析,随后对于原创小说文本中的人物进行详细分析。影评分析爬取影评使用的也是之前《用…

android面试service,Android面试,与Service交互方式(4)

自定义接口交互4何谓自定义接口呢,其实就是我们自己通过接口的实现来达到Activity与Service交互的目的,我们通过在Activity和Service之间架设一座桥樑,从而达到数据交互的目的,而这种实现方式和AIDL非常类似(后文会说到)。4.1 实现…

Python input 函数 -Python零基础入门教程

目录 一.前言二.Python input 函数简介三.Python input 函数实战四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一.前言 Python 内置函数其实挺多的,其中 input 和 eval 算得上比较特殊,input 属于交互式内置函数…

Metasploit基础和基本命令详解

Metasploit基础 2003年H.D Moore创建了Metasploit,从那之后Metasploit便快速发展起来,如今被公认为最为流行的渗透测试工具之一。Metasploit是一个完全的Ruby驱动项目,提供了大量的漏洞渗透、攻击载荷(payload)、编码…

综评:5个方面看刚刚发布的Kubernetes 1.12

Kubernetes项目在过去几年中发展迅速,并且作为容器编排和管理解决方案的领导者而备受尊重。有了这个地位,Kubernetes开发者有责任提供经过充分测试,易于维护,高性能和可扩展的API和工具。在即将到来的每个发布周期中,大…

华为麒麟1020鸿蒙系统,华为P50pro最新确认:麒麟1020+立体全面屏+鸿蒙系统,这才是华为...

原标题:华为P50pro最新确认:麒麟1020立体全面屏鸿蒙系统,这才是华为华为P系列一直是领导华为手机上半年的发展,而今年的华为P40系列更是实现了大爆发,市场上手机销量不断的攀升,并且权威的科技评测也给出了…

Python eval 函数 -Python零基础入门教程

目录 一.前言二.Python eval 函数简介三.Python eval 函数实战四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一.前言 Python 内置函数其实挺多的,其中 input 和 eval 算得上比较特殊,input 属于交互式内置函数&…

Ruby-Metasploit的核心

Ruby-Metasploit的核心 Ruby编程语言可以说是Metasploit框架的核心。 根据Ruby官方网站介绍,Ruby编程语言简单而又强大,面向对象,为解释性语言,执行速度快,项目开发周期短,可以构建自动化类来重用代码是R…

干货 | 算法和编程面试题精选TOP50!(附代码+解题思路+答案)

作者 | javinpaul编译 | 王天宇、Jane整理 | Jane【导读】之前我们给同学们推荐了很多关于 Python 的面试资源,大家都表示很有用。这次营长表示要翻 Java 的牌子啦~ 应大家的强烈反馈,我们找了一套 Java 语言的算法和编程的面试题。这份面试资源主要包含…

Xml转换成html表格代码,如何用C++代码将XML文件转换为HTML表格?

我有一个XML文件。我想把它转换成HTML文件,并用我的C应用程序像HTML表一样表示它。有没有任何C库可以用来解析XML文件并创建HTML文件?示例:Belgian Waffles$5.95Two of our famous Belgian Waffles with plenty of real maple syrup650Strawberry Belgia…

Python map 函数 -Python零基础入门教程

目录 一.前言二.Python map 函数语法简介三.Python map 函数实战 1.使用 map 函数2.map 函数配合 lambda 匿名函数一起使用 四.Python map 函数效率对比五.Python map 函数总结六.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 一.前言 截…

鸿蒙os2.0开发者beta版,鸿蒙 OS 2.0 开发者beta版针对Mate 40系列设备开放

华为开始针对包括P40,Mate 30和MatePad Pro设备在内的设备招募HarmonyOS 2.0 Mobile开发人员beta版。招募之后,华为还开始向选定的测试人员推出HarmonyOS 2.0移动开发人员更新。根据最新信息,华为现已决定扩展适用于华为Mate X2可折叠手机&am…

python2版本libnum

如果运行RsaCtfTool工具 需要用到libnum,而网上基本上都是python3的libnum讲解,下面我就来说说python2的libnum https://github.com/ryanInf/python2-libnum 这个链接讲述的是python2的libnum模块 安装 git clone https://github.com/ryanInf/python2-l…

1.7亿条数据,比胡同和撸串更真实的北京

作者王越来源DT财经原创作品,如有转载,请联系公众号授权。“宇宙中心”是哪里?哪里又是北京的城市活力中心?北京究竟是一座怎样的城市?是汇聚了政治中心、国际交往中心、科技创新中心等多项顶级职能的大国之都,是拥有…

Python 文件读写操作-Python零基础入门教程

目录 一.Python 文件的打开 open二.Python 文件的关闭 close三.Python 文件的读取 read 1.read 函数2.readline 函数3.readlines 函数 四.Python 文件的写入 write 1.write 函数语法2.write 函数使用案例 五.Python 文件偏移 seek 1.seek 函数2.tell 函数3.seek / tell 函数示…

html box 竖线,CSS3 小竖条脉冲型LOADING动效

CSS语言:CSSSCSS确定.loader-wrap {position: absolute;left: 0;right: 0;top: 0;bottom: 0;margin: auto;background-color: #ff9328;}.loader {position: absolute;left: 0;right: 0;top: 0;bottom: 0;margin: auto;height: 40px;width: 80px;box-sizing: border-…

面趣 | 为什么要分稳定排序和非稳定排序?

作者channingbreeze如需转载,请联系原作者。小史是一个应届生,虽然学的是电子专业,但是自己业余时间看了很多互联网与编程方面的书,一心想进BAT互联网公司。今天他去了一家互联网小巨头公司面试了。没想到面试并不像想象中的顺利。…

个人求职简历计算机应用技术学院信息门户,计算机应用技术专业求职简历范文...

计算机应用技术专业求职简历范文应届毕业生求职网为毕业生推荐的是计算机方面的简历范文,欢迎阅读浏览:姓名:yjbys 性别:出生年月: 民族:户口所在地: 现居住地:婚姻状况:…

云漫圈 | AR VR傻傻分不清楚。。。

原文出自【烹茶十一】对此,你是不是也有好多吐槽的,来聊聊呀~~推荐阅读这届程序员,要做好苦日子的准备了?我跟OpenStack 1-8年,从ABC到HI、到KO完01微 信 群 添加小编微信:tangguoyemeng,备注“…

Python 异常处理-Python零基础入门教程

目录 一.Python 异常处理简介二.Python 异常捕获方式 1.捕获所有异常2.捕获指定异常3.捕获多个异常4.万能的异常捕获5.异常中的 else6.异常中的 finally7.raise 主动触发异常 三.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 在 Python 开…