MSF 使用方法

Posted on 2021-10-27 10:47  程永琦  阅读(898)  评论(0)    收藏  举报

开启数据库:service postgresql start
初始化msf数据库:msfdb init
开启MSF:msfconsole
查看数据连接状态:db_status
——————————————————————
help/?           帮助菜单
exit        退出MSF控制台
Back         返回上一级
info        显示一个或者多个模块的信息
show        显示所给类型的模块
background   将当前操作在后台运行
use         使用所选择的模块
set        设置选项
unset        取消设置的选项
session    会话
——————————————————————

攻击             run/exploit
查看用户权限: meterpreter> getuid
获取hash密码: meterpreter> hashdump
上传文件: meterpreter> upload
执行文件: meterpreter> execute -f  notepad.exe
获取屏幕截图:meterpreter>screenshot
获取shell:meterpreter>shell
核心命令
 ==============

     命令说明
     ------- ------------
     ?  帮助菜单
     横幅显示一个很棒的 metasploit 横幅
     cd 改变当前工作目录
     颜色 切换颜色
     连接 与主机通信
     debug 显示对调试有用的信息
     exit 退出控制台
     features 显示尚未发布的功能列表
                    选择加入
     get 获取上下文特定变量的值
     getg 获取全局变量的值
     grep grep 另一个命令的输出
     帮助 帮助菜单
     history 显示命令历史
     load 加载一个框架插件
     退出 退出控制台
     重复 重复命令列表
     通过会话路由流量
     save 保存活动数据存储
     会话转储会话列表并显示有关 sessi 的信息
                   上
     set 将特定于上下文的变量设置为一个值
     setg 将全局变量设置为一个值
     sleep 在指定的秒数内什么都不做
     假脱机将控制台输出写入文件以及屏幕
     线程 查看和操作后台线程
     提示 显示有用的生产力提示列表
     unload 卸载框架插件
     unset 取消设置一个或多个上下文特定的变量
     unsetg 取消设置一个或多个全局变量
     version 显示框架和控制台库版本号


 模块命令
 ================

     命令说明
     ------- ------------
     高级 显示一个或多个模块的高级选项
     back 从当前上下文移回
     clearm 清除模块堆栈
     收藏夹将模块添加到收藏夹模块列表中
     info 显示一个或多个模块的信息
     listm 列出模块堆栈
     loadpath 从路径中搜索并加载模块
     options 显示全局选项或一个或多个模块
     popm 从堆栈中弹出最新的模块并使其处于活动状态
     previous 将之前加载的模块设置为当前模块
     pushm 将活动模块或模块列表推送到模块 stac
                   克
     reload_all 从所有定义的模块路径重新加载所有模块
     search 搜索模块名称和描述
     show 显示给定类型的模块或所有模块
     使用按名称或搜索词/索引与模块交互


 作业命令
 ============

     命令说明
     ------- ------------
     handler 启动一个有效负载处理程序作为作业
     作业 显示和管理作业
     杀死 杀死一份工作
     rename_job 重命名作业


 资源脚本命令
 ========================

     命令说明
     ------- ------------
     makerc 将启动后输入的命令保存到文件中
     资源 运行存储在文件中的命令


 数据库后端命令
 ==========================

     命令说明
     ------- ------------
     分析 分析特定地址的数据库信息
                        或地址范围
     db_connect 连接到现有的数据服务
     db_disconnect 断开与当前数据服务的连接
     db_export 导出包含数据库内容的文件
     db_import 导入扫描结果文件(文件类型将自动删除
                       ct)
     db_nmap 执行 nmap 并自动记录输出
     db_rebuild_cache 重建数据库存储的模块缓存(已弃用
                       )
     db_remove 删除保存的数据服务条目
     db_save 将当前数据服务连接保存为默认
                       lt 在启动时重新连接
     db_status 显示当前数据服务状态
     hosts 列出数据库中的所有主机
     loot 列出数据库中的所有战利品
     notes 列出数据库中的所有笔记
     services 列出数据库中的所有服务
     vulns 列出数据库中的所有漏洞
     在数据库工作空间之间切换


 凭证后端命令
 ============================

     命令说明
     ------- ------------
     creds 列出数据库中的所有凭据


 开发者命令
 ==================

     命令说明
     ------- ------------
     使用首选编辑器编辑当前模块或文件
                   或者
     irb 在当前上下文中打开一个交互式 Ruby shell
     log 如果可能,将framework.log 分页到最后
     pry 打开当前模块或框架上的 Pry 调试器
     reload_lib 从指定路径重新加载 Ruby 库文件
     时间 运行特定命令所需的时间


 控制台
 ==========

 `msfconsole` 是 Metasploit 框架的主要接口。  有相当
 很多需要去这里,请耐心等待并关注这个空间!

 构建范围和列表
 -------------------------

 许多带有事物列表的命令和选项可以使用范围来避免
 必须手动列出每个想要的东西。  所有范围都包括在内。

 ### ID 范围

 使用 ID 列表的命令可以使用范围来提供帮助。  个人身份证必须是
 用 `,` 分隔(不允许有空格),范围可以用任一表示
 `-` 或 `...`。

 ### IP 范围

 有多种方法可以指定可以混合的 IP 地址范围
 一起。  第一种方式是由一个 ` `(ASCII 空格)分隔的 IP 列表,
 带有可选的`,`。  接下来的方式是两个完整的IP地址形式
 `BEGINNING_ADDRESS-END_ADDRESS` 类似于 `127.0.1.44-127.0.2.33`。  CIDR
 也可以使用规范,但必须将完整地址提供给
 Metasploit 类似于 `127.0.0.0/8` 而不是 `127/8`,与 RFC 相反。
 此外,网络掩码可以与域名结合使用
 动态解析要定位的块。  所有这些方法都适用于 IPv4
 和 IPv6 地址。  IPv4 地址也可以用特殊的八位字节指定
 范围从 [NMAP 目标
 规范](https://nmap.org/book/man-target-specification.html)

 ### 例子

 终止第一个会话:

     会话-k 1

 停止一些额外的运行作业:

     工作 -k 2-6,7,8,11..15

 检查一组 IP 地址:

     检查 127.168.0.0/16, 127.0.0-2.1-4,15 127.0.0.255

 定位一组 IPv6 主机:

     设置 RHOSTS fe80::3990:0000/110, ::1-::f0f0