Metasploit学习笔记--体系框架梳理

Metasploit体系框架

  • 1、基础库文件
  • 2、模块
    • 2.1 辅助模块(Aux)
    • 2.2 渗透攻击模块(Exploits)
    • 2.3 攻击载荷模块(Payload)
    • 2.4 空指令模块(Nops)
    • 2.5 编码器模块(Encoders)
    • 2.6 后渗透攻击模块(Post)
  • 3、插件
  • 4、接口
  • 5、功能程序

1、基础库文件

基础库文件位于根目录下的lib目录下,包括rex,framework-core,framework-base三部分
Metasploit学习笔记--体系框架梳理_第1张图片

  • rex:框架依赖的基础组件,基础功能支持,如包装的网络套字,协议实现,日志,攻击支持,数据库等
  • msf/core:实现各类 插件 模块 的交互接口
  • -msf/base:该库扩展了core

2、模块

2.1 辅助模块(Aux)

一般用来收集信息:

  • 网络服务扫描查点
  • 构建虚拟服务收集登陆密码
  • 口令猜解
  • 敏感信息嗅探
  • 查探敏感信息泄漏
  • fuzz测试
  • 实施网络协议欺骗
    。。。

2.2 渗透攻击模块(Exploits)

利用漏洞对目标进行攻击,以植入和运行攻击载荷。
位置:/modules/exploits下
是以操作系统平台,网络服务,应用程序类型分类。其中multi平台类中包含的是跨平台网络服务或应用程序中的漏洞:samba,tomcat,firefox等。

  • 主动渗透攻击:
    利用漏洞位于服务端或与服务承载的上层应用程序中,面向服务开启的端口主动发起攻击,通过连接目标系统网络服务,注入包含恶意代码的请求(类似于SQL注入,文件上传)
  • 被动渗透攻击:
    利用漏洞位于客户端软件,如浏览器,office等,需要被动的构造网页邮件文档等,诱导目标中招,目标访问后出发客户端软件漏洞,得到目标系统shell。被动渗透易绕过防火墙。常见的:浏览器软件漏洞攻击,文件格式类漏洞攻击。(类似木马邮件钓鱼)

2.3 攻击载荷模块(Payload)

在攻击成功后促使目标系统运行的一段植入代码,通常是为攻击者打开目标系统上的控制回话连接。

  • 独立(singles)
    完全自包含、可直接独立植入目标系统执行:windows/shell_bind_tcp
  • 传输器(stager)-传输体(stage)
    先传入小的传输器,容易绕过安全机制。由传输器下载传输体载荷并执行,不受大小和防御安全机制的限制:
    windows/shell/bind_tcp(bind_tcp为传输器载荷,shell为传输体载荷)

2.4 空指令模块(Nops)

一些对没有实质影响的空操作或无关指令。缓冲区溢出等时,在前面添加空的指令区,扩大安全着陆区域,避免内存地址随机好,返回地址计算偏差造成的失败。

2.5 编码器模块(Encoders)

将攻击载荷模块和空指令模块组装成的指令序列进行编码。实现方式:
1、编码
通过BadChar字段处理“坏字符”,如0x00截断 以及 对应攻击场景可接受字符以外的字符。
2、免杀
通过不同形式的编码以及多个编码器的嵌套编码达到特征码无法被识别的目的。
不过编码后会使载荷体积增大,大小受漏洞触发条件限制(通常在渗透攻击模块的Space字段中显示),会出现“no encoders encoded the buffer successfully”的错误,需要使用传输器与传输体的攻击型式。

2.6 后渗透攻击模块(Post)

拿下目标系统远程控制权后,在受控系统中扩大战果(获取敏感信息,实施跳板攻击等)
Meterpreter不仅可以作为渗透攻击时注入目标系统上的一个攻击载荷 以提供基本的控制会话,还集成了大量的后渗透攻击命令与功能。

3、插件

可集成一些外部安全工具(Nessus、OpenVAS)

4、接口

msfconsole 控制台终端
msfcli 命令行
msfgui 图形化界面
msfapi 远程调用接口
。。。

5、功能程序

一些可直接运行的功能程序,如封装不同的文件型式,搜索指令等等

你可能感兴趣的:(metasploit,网络安全)