【渗透-漏洞利用】Hello,Metasploit

前言:如果你没听说过Metasploit,这篇文章可能不适合继续阅读。

初识Metasploit:开源免费;全能的渗透攻击平台;基于各个模块,能够实现几乎所有渗透操作,例如主机发现、信息收集、漏洞的扫描和利用、提权与维持等。


Table of Contents

安装Metasploit

配置PostgreSQL

初始化PostgreSQL

在MSF中操作PostgreSQL

自定义创建用户、数据库

用户接口

图形界面接口-Armitage

命令行接口-msfconsole


本文,将介绍搭建一个完整的Metasploit环境。

  1. 获取数据包并安装
  2. 配置Metasploit底层数据库:PostgreSQL
  3. 配置Metasploit用户接口

安装Metasploit

官网:https://www.rapid7.com/products/metasploit/download/editions/

Github:https://github.com/rapid7/metasploit-framework/wiki/Nightly-Installers

【渗透-漏洞利用】Hello,Metasploit

Kali Linux已经安装好了Metasploit环境,直接使用即可。


配置PostgreSQL

为什么需要PostgreSQL?

  • 在Kali Linux中,启动Metasploit后,需要连接到PostgreSQL服务器。在Kali Linux系统中,它是自动完成连接的。
  • 在其他系统中,需要手动连接。

获取PostgreSQL:https://www.postgresql.org/download/

初始化PostgreSQL

启动、查看、关闭PostgreSQL服务:

  • msfdb start
  • ss -ant
  • msfdb stop

【渗透-漏洞利用】Hello,Metasploit

初始化默认数据库、删除:

  1. msfdb init
  2. msfdb delete
  3. msfdb reinit
  4. msfdb status  (查看数据库状态)

【渗透-漏洞利用】Hello,Metasploit

【渗透-漏洞利用】Hello,Metasploit

重置数据库(注意:如果数据库已经初始化,就不能使用“msfdb init”,而应使用reinit)

【渗透-漏洞利用】Hello,Metasploit

初始化数据库后,就可以直接启动Metasploit:

  1. msfdb init  初始化
  2. msfdb run  启动Metasploit

【渗透-漏洞利用】Hello,Metasploit

在MSF中操作PostgreSQL

在Metasploit中连接PostgreSQL:

  1. 方式一:db_connect 用户名:密码@IP地址:端口/数据库名
  2. 方式二:db_connect -y 配置文件绝对路径

断开:

  1. db_disconnect
  2. db_status  检查当前状态

【渗透-漏洞利用】Hello,Metasploit

 

自定义创建用户、数据库

  • PostgreSQL初始化时,会默认创建msf和msf_test数据库,并且所有的配置在database.yml文件中。
  • 如果该配置文件丢失,或者想自己手动创建自定义的数据库,则需要采用响应的命令。

 

  1. 启动服务:msfdb start
  2. 切换到postgre账户:su postgres
  3. 创建账户:createuser 用户名 -p
  4. 输入密码
  5. 创建数据库:createdb --owner=用户名 数据库名
  6. 启动Metasploit:msfconsole
  7. 连接刚刚创建的数据库(在Metasploit中):db_connect 用户名:密码@IP地址:端口/数据库名

示例:

  1. 启动服务:msfdb start
  2. 切换到postgre账户:su postgres
  3. 创建账户:createuser 用户名 -P
  4. 输入密码
  5. 创建数据库:createdb --owner=用户名 数据库名
  6. 启动Metasploit:msfconsole
  7. 连接刚刚创建的数据库(在Metasploit中):db_connect 用户名:密码@IP地址:端口/数据库名

【渗透-漏洞利用】Hello,Metasploit

【渗透-漏洞利用】Hello,Metasploit

【渗透-漏洞利用】Hello,Metasploit

【渗透-漏洞利用】Hello,Metasploit

用户接口

用户接口:Metasploit系统和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换。

图形界面接口-Armitage

Armitage是一个完全交互式的图像化用户接口,由Raphael Mudge开发。

操作步骤:

  1. 配置好PostgreSQL:
  2. 启动服务:service postgresql start
  3. 初始化数据库:msf init
  4. 启动:armitage

点击Armitage图标,依次按照下图进行:

【渗透-漏洞利用】Hello,Metasploit

【渗透-漏洞利用】Hello,Metasploit

【渗透-漏洞利用】Hello,Metasploit

进入主界面:

【渗透-漏洞利用】Hello,Metasploit

【渗透-漏洞利用】Hello,Metasploit

命令行接口-msfconsole

在终端输入:msfconsole

使用show options,列出所有可定义的选项:

【渗透-漏洞利用】Hello,Metasploit

设置提示信息:set Prompt 自定义提示符或参数

【渗透-漏洞利用】Hello,Metasploit

参数:

  1. %D:当前目录
  2. %H:机器名
  3. %J:当前正在运行的工作数量
  4. %L:本地IP地址
  5. %S:当前打开的回话数
  6. %U:当前使用的用户名称
  7. %W:当前所处的工作区
  8. %T:显示时间戳

设置时间格式:set PromptTimeFormat 时间格式参数(%Y, %m, %d, %H, %M, %S)

【渗透-漏洞利用】Hello,Metasploit

 设置提示符:set PromptChar 符号

【渗透-漏洞利用】Hello,Metasploit

启用计时功能:set TimeStampOutput true

启用、关闭控制台日志:set ConsoleLogging true/false

启用、关闭会话日志:set SeesionLogging true/false

设置日志的级别:set SeesionLogging [0|1|2|3,值越高,越详细]

【渗透-漏洞利用】Hello,Metasploit

设置模块的默认级别:set MinimumRank [0|100|200|300|400|500|600,值越高,利用成功率越高]