当前位置:   article > 正文

Metasploit 渗透测试框架(一)_metasploit框架

metasploit框架

目录

一、Metasploit 渗透测试框架介绍

1、Metasploit 体系框架

2、Metasploit 目录结构

二、Metasploit 基本使用方法

1、核心命令中的 connect 命令

2、模块相关的命令 show 使用方法                                                                                          

3、模块相关的命令 search 搜索的使用方法

4、模块相关的命令 use 的使用方法

5、模块相关的命令 info 的使用方法

三、Metasploit 渗透测试之信息收集        

1、基于 tcp 协议收集主机信息        

(1)使用 Metasploit 中的 nmap 和 arp_sweep 收集主机信息

(2)使用半连接方式扫描 TCP 端口

2、基于 SNMP 协议收集主机信息        

3、基于 SMB 协议收集信息        

(1)使用 smb_version 基于 SMB 协议扫描版本号

(2)使用 smb_enumshares 基于 SMB 协议扫共享文件(账号、密码)

(3)使用 smb_lookupsid 扫描系统用户信息(SID 枚举)

4、基于 SSH 协议收集信息

(1)查看 ssh 服务的版本信息

(2)对 SSH 暴力破解

5、基于 FTP 协议收集信息        

(1)查看 ftp 服务的版本信息        

(2)ftp 匿名登录扫描

(3)ftp 暴力破解


一、Metasploit 渗透测试框架介绍

1、Metasploit 体系框架

         

1、基础库:metasploit 基础库文件位于源码根目录路径下的 libraries 目录中,包括
Rex,framework-core 和 framework-base 三部分。                                                                 
Rex 是整个框架所依赖的最基础的一些组件 ,如包装的网络套接字、网络应用协议客户端与服务端实 现、日志子系统、渗透攻击支持例程、PostgreSQL 以及 MySQL 数据库支持等;        
framework-core 库负责实现所有与各种类型的上层模块及插件的交互接口;        
framework-base 库扩展了 framework-core,提供更加简单的包装例程,并为处理框架各个方面
的功能提供了一些功能类,用于支持用户接口与功能程序调用框架本身功能及框架集成模块;         
       
2、模块:模块组织按照不同的用途分为 6 种类型的模块(Modules): 分为辅助模块(Aux)、渗透攻击模块(Exploits)、后渗透攻击模块(Post)、攻击载荷模块 (payloads)、编码器模块(Encoders)、空指令模块(Nops)。
注:payload 又称为 攻击载荷 ,主要是用来建立目标机与攻击机稳定连接的,可返回 shell,也可以进行程序注入等。        

3、插件:插件能够扩充框架的功能,或者组装已有功能构成高级特性的组件。插件可以集成现有的一些外部安全工具,如 Nessus、OpenVAS 漏洞扫描器等,为用户接口提供一些新的功能。     

4、接口:包括 msfconsole 控制终端、msfcli 命令行、msfgui 图形化界面、armitage 图形化界
面以及 msfapi 远程调用接口。
5、功能程序: metasploit 还提供了一系列可直接运行的功能程序,支持渗透测试者与安全人员快
速地利用 metasploit 框架内部能力完成一些特定任务。比如 msfpayload、msfencode 和
msfvenom 可以将攻击载荷封装为可执行文件、C 语言、JavaScript 语言等多种形式,并可以进行各种类型的编码。        
        

2、Metasploit 目录结构

切换到 Metasploit 工作目录
        
data:Metasploit 使用的可编辑文件
documentation:为框架提供文档
lib:框架代码库
modules:实际的 MSF 模块
plugins:可以在运行时加载的插件
scripts:Meterpreter 和其他脚本
tools:各种有用的命令行工具
        

二、Metasploit 基本使用方法

Metasploit 基本命令
Metasploit 程序需要使用 Postgresql 数据库。
Postgresql 概述:
PostgreSQL 是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加 州大学计算机系开发的 POSTGRES 4.2 版本为基础的对象关系型数据库管理系统。

        

扩展:PostgreSQL 和 MySQL 数据的应用场景区别:
从应用场景来说,PostgreSQL 更加适合严格的企业应用场景(比如金融、电信、ERP、CRM),而 MySQL 更加适合业务逻辑相对简单、数据可靠性要求较低的互联网场景

            

手动启动数据库