(一)走进Metasploit渗透测试框架

渗透测试的流程

  渗透测试是一种有目的性的,针对目标机构计算机系统安全的检测评估方法,渗透测试的主要目的是改善目标机构的安全性。
渗透测试各个阶段的基本工作:

1.前期交互阶段

  在这个阶段,渗透测试工程师要与客户进行充分的交流,以便客户对即将开展的渗透测试会对他的网络或者服务器产生的影响有足够的了解。进一步的确定渗透测试的范围,目标以及代表客户进行测试时的特殊需求,例如特殊的权限,关键系统的访问许可等。在这阶段,关键点如下:

(a).渗透测试的范围:这一部分需要确定渗透测试的范围并预估计整个项目的工作量。同时要确定哪些目标是在渗透测试范围内,哪些是不允许进行渗透测试的。测试工程师要确认渗透测试区域内涉及的IP地址范围和域名范围,以及采用的测试类型(黑盒测试和白盒测试)。

(b).渗透测试的目标:这一部分定义本次渗透测试预期达到的主要和次要效果。

(c).渗透测试用到的术语和定义:这一部分要向客户介绍整个测试过程中出现的专业术语和定义,以便客户更好的理解整个渗透测试工作。

(d).渗透测试的规定:这一部分要商定完成渗透测试的工期,具体工作开展的进度表,渗透攻击的授权许可,以及定期看召开会议跟进渗透测试进程中出现的各种情况。

2.信息收集/侦查阶段

  在信息收集阶段,渗透测试工程师需要尽可能采用各种方式来收集目标网络的所有信息。可以使用各种社交媒体来收集相关信息,以及使用google dorks技术去寻找目标相关信息,还可以对目标进行主动扫描和被动扫描技术进行踩点。信息收集是渗透测试过程中最为重要的阶段之一,最终能否成功渗透进入目标网络很大程度上取决于测试者在这个阶段的工作成果。在这阶段,关键点如下:

(a).目标选择:选择攻击的目标,确定攻击达到的效果以及整个攻击过程花费的时间。

(b).隐私收集:包括现场信息收集,检查使用的设备信息,以及目标单位外部的信息收集。

(c).踩点工作:包含针对目标的主动和被动扫描技术,扫描目标计算机上运行的服务,开放的端口,以及验证这些端口上运行着的全部服务,获取系统标志等。

(d).验证目标的安全机制:包含防火墙,网络流量过滤系统,网络和主机的保护措施的确认工作等。

3.威胁建模

  为了保证渗透测试正确的进行,必须进行威胁建模,主要工作就是模拟出对目标准确的威胁以及这些威胁的作用,并根据这些威胁可能对对目标产生的影响对其进行分类。这个阶段渗透测试工程师可以确定最佳的攻击方式。这个阶段将确定最佳的攻击方式,解决以下问题:

(a).如何攻击指定的网络?

(b).需要获得重要的信息是什么?

(c).在攻击时采取什么方法最为合适?

(d).对目标来说最大的安全是什么?

我们渗透测试工程师应该完成的工作:

(a).收集有关高等级威胁的相关文档;

(b).根据基本的分类方法对组织的资源进行标识;

(c).对威胁进行识别和分类;

(d).将组织的资源映射成模型。

4.漏洞分析

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

5.渗透攻击和后渗透攻击

  渗透攻击阶段可以利用之前漏洞分析阶段的成果,在这一阶段,渗透测试工程师可以针对目标系统的漏洞使用对应的入侵模块获得控制权限。

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

6.报告阶段

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

使用Metasploit进行渗透测试

一.metasploit的基础知识

在kali Linux系统下使用Metasploit框架,进入msfconsole终端,有一些基本的模块:

渗透攻击模块(Exploit):这是一段程序,运行起来的时候就会利用目标的安全漏洞进行攻击。

攻击载荷模块(Payload):这段程序会在成功对目标系统完成一次渗透攻击之后在目标计算机上开始运行,基本上它能帮助我们在目标系统上获得需要的访问和行动权限。

辅助模块(Auxiliary):一些列的辅助支持模块,包括扫描模块,fuzzing测试漏洞发掘模块,网络协议欺骗以及其他一些模块。

编码模块(Encoder):编码器模块通常用来对我们的攻击模块进行代码混淆,来跳过目标安全保护机制的检测。目标安全保护机制包括杀毒软件和防火墙。

猜你喜欢

转载自www.cnblogs.com/Kluas/p/9787811.html