(一)走进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):编码器模块通常用来对我们的攻击模块进行代码混淆,来跳过目标安全保护机制的检测。目标安全保护机制包括杀毒软件和防火墙。
(一)走进Metasploit渗透测试框架的更多相关文章
- metasploit 一款开源的渗透测试框架
渗透神器漏洞利用框架metasploit from: https://zhuanlan.zhihu.com/p/30743401 metasploit是一款开源的渗透测试框架软件也是一个逐步发展与成熟 ...
- Metasploit渗透测试魔鬼训练营
首本中文原创Metasploit渗透测试著作,国内信息安全领域布道者和资深Metasploit渗透测试专家领衔撰写,极具权威性.以实践为导向,既详细讲解了Metasploit渗透测试的技术.流程.方法 ...
- 《Metasploit渗透测试魔鬼训练营》第一章读书笔记
第1章 魔鬼训练营--初识Metasploit 20135301 1.1 什么是渗透测试 1.1.1 渗透测试的起源与定义 如果大家对军事感兴趣,会知道各国军队每年都会组织一些军事演习来锻炼军队的攻防 ...
- Web应用渗透测试框架Arachni
Web应用渗透测试框架Arachni Arachni是一款Ruby语言编写的Web应用渗透测试框架.当用户指定目标后,该框架可以自动扫描网站页面,对页面中的链接.表单.Cookie.HTTP He ...
- PJzhang:漏洞渗透测试框架“天使之剑(AngelSword)”
猫宁!!! 参考链接: www.phpinfo.cc/?post=42 https://www.freebuf.com/sectool/149883.html 同事介绍了一款渗透测试框架AngelSw ...
- Metasploit渗透测试实验报告
Metasploit渗透测试实验报告
- Metasploit渗透测试
原创博客,转载请注出处! 学习笔记 参考书籍<Metasploit渗透测试指南(修订版)> 经过多日学习,初步掌握metasploit基本参数和使用方法,现进行渗透测试实践 靶机IP:16 ...
- 自动化移动安全渗透测试框架:Mobile Security Framework
自动化移动安全渗透测试框架:Mobile Security Framework 译/Sphinx 测试开发社区 7月3日 Mobile Security Framework (移动安全框架) 是一 ...
- metasploit渗透测试笔记(内网渗透篇)
x01 reverse the shell File 通常做法是使用msfpayload生成一个backdoor.exe然后上传到目标机器执行.本地监听即可获得meterpreter shell. r ...
随机推荐
- qt 拖拽 修改大小(二)
最近项目需要实现windows下橡皮筋的效果,所以对此做了一些了解,特此记录. 首先windows系统是支持橡皮筋效果的,需要使用win32方 法:SystemParametersInfo(SPI_S ...
- ES 01 - Elasticsearch入门 + 基础概念学习
目录 1 Elasticsearch概述 1.1 Elasticsearch是什么 1.2 Elasticsearch的优点 1.3 Elasticsearch的相关产品 1.4 Elasticsea ...
- webpack无法热加载(__webpack_hmr 502)
最近本地开发项目代码一直无法热加载,于是就抽空想办法解决 我们线上的地址是:https://aitest.ichuanyi.com/ai-admin/#/ 其实ai-admin是线上的一个目录 所以 ...
- 你真的会PHP吗?
Note: 1) PHP中的数据类型 PHP一共支持八种数据类型, 4种标量类型,boolean(布尔型),integer(整形),float/double(浮点型)和string(字符串类型), 2 ...
- 一起来看 rxjs
更新日志 2018-05-26 校正 2016-12-03 第一版翻译 过去你错过的 Reactive Programming 的简介 你好奇于这名为Reactive Programming(反应式编 ...
- [十一]JavaIO之DataInputStream 和 DataOutputStream
功能简介 DataInputStream和DataOutputStream 继承了各自的FilterInputStream以及FilterOutputStream 使用装饰器模式对InputStrea ...
- 痞子衡嵌入式:ARM Cortex-M文件那些事(6)- 可执行文件(.out/.elf)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式开发里的executable文件(elf). 第四.五节课里,痞子衡已经给大家介绍了2种output文件,本文继续给大家讲proje ...
- 如何终止正在进行expdp导出数据的任务
不能用ctrl+c来终止导出 一.按照以前的习惯,在进行oracle数据库数据导出操作时,大家一般都会使用组合键“CTRL+C”来终止导出操作.但这种方法在expdp导出数据时,却不能使用,因为虽然可 ...
- WCF消息交换模式之请求-响应模式
WCF的消息交换模式(MEP)有三种:请求/响应.单向模式和双工模式.WCF的默认MEP是请求/响应模式. 请求/响应模式操作签名代码如下,无需指定模式,默认就是. [OperationContrac ...
- C# string数组转int数组(转载)
C# string数组转int数组 用法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 //字符串数组(源数组) string[] sNums = new[] {"1 ...