Metasploit(The Metasploit Framework)是一款开源的安全漏洞检测工具,也被称为Metasploit漏洞框架,因为它本身包含了各种“漏洞攻击”、“辅助攻击”等模块,而且Metasploit团队还在不断进行更新和维护,现已成为当今黑客们与安全工作人员必备的渗透测试工具之一,如图1-1-1。
图片2.png
图1-1-1 Metasploit-Framework启动界面

0x01 Metasploit功能模块

Metasploit主要包含了以下4个功能模块,msfconsole模块中支持使用Tab键补全命令,执行外部系统命令等功能。2015-06-08正式弃用了msfpayload、msfencode,使用msfvenom进行替代。

  • msfconsole:整个框架中最受欢迎的模块,所有的功能都可以该模块下运行。
  • msfvenom:集成了msfpayload和msfencode的功能,效率更高。
  • msfupdate:软件更新,可以更新最新的漏洞库和利用代码。
  • msfweb:Metasploit Framework的web组件,支持多用户,是Metasploit图形化接口。

0x02 Metasploit专业术语

  • Listener:监听器,用于等待网络连接的组件。
  • Payload:攻击载荷,目标系统在被渗透攻击之后去执行的代码。
  • Exploit:渗透攻击,利用系统漏洞或服务中的安全漏洞所进行的攻击行为。
  • Module:模块,用于发起渗透攻击或执行某些辅助攻击行为。
  • Encoder:编码,用于对生成的攻击载荷进行编码处理来达到绕过防病毒软件。
  • Shellcode:渗透攻击时作为攻击载荷运行的一组机器指令,通常用汇编语言编写。

0x03 Metasploit历史版本

Version Time exploits payloads auxiliary post
v1.0 2003年10月 11 2
v2.0 2004年04月 18 27
v3.0 2007年05月 177 104 30
v4.0 2011年08月 717 226 361 68
v4.7.0 2013年04月 1084 298 609 177
v4.11.0 2014年12月 1387 342 866 236
v4.16.22 2017年12月 1707 503 970 299
v5.0.9 2019年02月 1861 546 1057 327
v6.0.3 2020年08月 2057 562 1114 346

- Auxiliary:辅助模块
- Exploits:渗透攻击模块
- Post:后渗透攻击模块
- Payloads:攻击载荷模块

- Encoders:编码器模块
- Nops:空指令模块
- Evasion:免杀逃避模块

0x04 Metasploit目录结构

有时可能会因为Metasploit版本一样而存在些许差异,如:命令、模块、扩展、脚本等,如图1-1-2。

  • 用户设置模块一般在:/root/.msf4/modules/
  • Metasploit日志文件在:/root/.msf4/history、/root/.msf4/logs/
  • Metasploit模块文件在:/usr/share/metasploit-framework/modules/
  • Metasploit脚本文件在:/usr/share/metasploit-framework/scripts/
  • Metasploit基础库文件在:/usr/share/metasploit-framework/lib/ | 目录 | 基础库 | | —- | —- | | data:需要的文件,如:banner、字典等
    documentation:Metasploit介绍文档
    tools:各种各样实用的命令行工具
    test:用于测试新模块的一个目录

    external:源文件和第三方的库
    lib:Metasploit框架的主要组成部分

    modules:Metasploit模块存放位置
    plugins:Metasploit插件存放位置
    scripts:Meterpreter脚本、shellcode代码 | 1. Rex库
    1.1 最基础的组建
    1.2 网络套接字、应用协议客户端/服务端实现、日志子系统等
    1.3 SSL,SMB,HTTP,XOR,Base64,Unicode

    2. Framework-Core库
    2.1 提供了一些比较基础的API接口
    2.2 为MSF的框架进行定义

    3. Framework-Base库
    3.1 提供了一些额外的和简单的API接口 |

图片1.png
图1-1-2 Metasploit-Framework目录结构


public.png