Metasploit入门系列(四)——小结备查
字数 1823 2025-08-18 11:39:00
Metasploit入门系列(四)——命令详解与使用技巧
核心命令详解
基本操作命令
?或help: 显示帮助菜单banner: 显示Metasploit标志性横幅cd: 更改当前工作目录color: 切换颜色显示connect: 与指定主机建立连接通信exit/quit: 退出控制台history: 显示命令历史记录irb: 进入交互式Ruby脚本模式sleep: 暂停指定秒数spool: 将控制台输出同时写入文件和屏幕threads: 查看和操作后台线程version: 显示框架和控制台库版本号
变量操作命令
get: 获取特定上下文变量的值getg: 获取全局变量的值set: 设置特定上下文变量的值setg: 设置全局变量的值unset: 取消设置一个或多个特定上下文变量unsetg: 取消设置一个或多个全局变量save: 保存当前数据存储状态(下次登录时会自动加载)
模块相关命令
模块基础操作
advanced: 显示模块的高级选项back: 从当前上下文返回上一级edit: 使用编辑器编辑当前模块info: 显示模块详细信息loadpath: 从指定路径搜索并加载模块options: 显示模块的全局选项reload_all: 重新加载所有定义的模块路径中的模块search: 搜索模块名称和描述show: 显示给定类型或所有模块use: 按名称选择模块
模块堆栈操作
popm: 弹出堆栈中最新模块并激活previous: 将之前加载的模块设为当前模块pushm: 将活动模块或模块列表推入堆栈
作业管理命令
handler: 作为作业启动负载处理程序jobs: 显示和管理当前作业kill: 终止指定作业rename_job: 重命名作业
资源脚本命令
makerc: 将当前会话的命令历史保存到文件resource: 执行存储在文件中的命令序列
数据库相关命令
数据库连接与管理
db_connect: 连接到现有数据库db_disconnect: 断开当前数据库连接db_export: 导出数据库内容到文件db_import: 导入扫描结果文件(自动检测类型)db_nmap: 执行nmap扫描并自动记录结果db_rebuild_cache: 重建模块缓存db_status: 显示当前数据库状态
数据查看命令
hosts: 列出数据库中所有主机loot: 列出所有战利品数据notes: 列出所有备注信息services: 列出所有服务信息vulns: 列出所有漏洞信息workspace: 切换数据库工作区
凭证管理命令
creds: 列出数据库中所有凭证信息
高级使用技巧
命令对比与选择
run与exploit: 功能相同,但习惯上exploit用于exploits模块db_nmap与普通nmap: 功能相同,但db_nmap会将结果自动记录到数据库
会话管理
sessions: 查看当前所有会话sessions -i [ID]: 进入指定会话的shell
资源文件使用
- 创建资源文件(.rc格式):
vi custom.rc - 执行资源文件:
- 在msfconsole中使用:
resource custom.rc - 在命令行直接执行:
msfconsole -r custom.rc
- 在msfconsole中使用:
变量持久化
- 使用
setg设置全局变量后,配合save命令可永久保存配置 - 下次启动msfconsole时会自动加载保存的配置
实用建议
-
常用命令组合:
use [模块]→show options→set [参数]→exploit
-
数据库集成:
- 优先使用
db_nmap而非普通nmap,便于结果管理 - 可导入外部扫描结果到数据库
- 优先使用
-
工作流程优化:
- 使用资源文件(.rc)保存常用命令序列
- 利用
makerc快速创建资源文件 - 通过
sessions管理多个连接
-
开发习惯:
- 终止作业使用
kill而非"删除"(开发者习惯用语) - 利用
pushm/popm管理模块堆栈提高效率
- 终止作业使用
通过掌握这些命令和技巧,可以显著提高Metasploit的使用效率和渗透测试工作流程的自动化程度。