本节是msf的基本使用
使用前先升级
msfupdate #升级
msfconsole #启动
msfconsole -h #查看控制台命令
通用选项:
-E, --environment ENVIRONMENT 设置Rails环境,默认为RAIL_ENV环境变量或'生产'
数据库选项:
-M, --migration-path DIRECTORY 指定包含其他数据库迁移的目录
-n, --no-database 禁用数据库支持
-y, --yaml PATH 指定一个包含数据库设置的YAML文件
框架选项:
-c FILE 加载指定的配置文件
-v, -V, --version 显示版本
模块选项:
--defer-module-loads 除非明确询问,否则推迟模块加载
-m, --module-path DIRECTORY 加载一个额外的模块路径
控制台选项:
-a, --ask 在退出Metasploit之前询问或接受'退出-y'
-H, --history-file FILE 将命令历史记录保存到指定的文件
-L, --real-readline 使用系统Readline库而不是RbReadline
-o, --output FILE 输出到指定的文件
-p, --plugin PLUGIN 在启动时加载插件
-q, --quiet 不要在启动时显示 banner 信息
-r, --resource FILE 执行指定的资源文件( - 用于stdin)
-x, --execute-command COMMAND 执行指定的控制台命令(使用;用于倍数)
-h, --help 显示此消息
msfconsole #启动
msf > help #查看命令
核心命令
=============
命令 描述
------- -----------
? 帮助菜单
banner 显示一个很棒的metasploit横幅
cd 更改当前的工作目录
color 切换高亮显示颜色
connect 连接与主机通信
exit 退出退出控制台
get 获取特定于上下文的变量的值
getg 获取全局变量的值
grep Grep另一个命令的输出
help 帮助菜单
history 历史显示命令历史
irb 进入irb脚本模式
load 加载一个框架插件
quit 退出控制台
route 路由通过会话路由流量
save 保存保存活动的数据存储
sessions 会话转储会话列表并显示有关会话的信息
set 将特定于上下文的变量设置为一个值
setg 将全局变量设置为一个值
sleep 睡眠在指定的秒数内不执行任何操作
spool 将控制台输出写入文件以及屏幕
threads 线程查看和操作后台线程
unload 卸载卸载框架插件
unset 取消设置取消设置一个或多个特定于上下文的变量
unsetg 取消设置取消设置一个或多个全局变量
version 版本显示框架和控制台库版本号
模块命令
===============
命令 描述
------- -----------
advanced 高级显示一个或多个模块的高级选项
back 返回从当前上下文返回
edit 编辑使用首选编辑器编辑当前模块或文件
info 显示有关一个或多个模块的信息
loadpath 加载路径搜索并加载路径中的模块
options 选项显示全局选项或一个或多个模块
popm 将最新的模块从堆栈弹出并使其处于活动状态
previous 将之前加载的模块设置为当前模块
pushm 将活动或模块列表推入模块堆栈
reload_all 重新加载所有定义的模块路径中的所有模块
reload_lib 从指定路径加载库文件
search 搜索搜索模块名称和说明
show 显示给定类型的模块或所有模块
use 使用按名称选择模块
工作命令
============
命令 描述
------- -----------
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 列出数据库中的所有凭据(密码)
msf > help show #查看show命令介绍
[*]“show” 命令的有效参数是:all, encoders, nops, exploits, payloads, auxiliary, plugins, info, options
[*]其他特定于模块的参数是:missing, advanced, evasion, targets, actions
msf > help search #查看搜索用法
用法: search [keywords]
Keywords:
app : 客户端或服务器攻击的模块
author : 本作者编写的模块
bid : 具有匹配的Bugtraq ID的模块
cve : 具有匹配CVE ID的模块
edb : 具有匹配的Exploit-DB ID的模块
name : 具有匹配描述性名称的模块
platform : 影响这个平台的模块
ref : 具有匹配参考的模块
type : 特定类型的模块(exploit,auxiliary或post)
msf > search ms08-067
msf > search name:mysql / type:aux /author:aaron # 可多条件同时搜索
msf > search ms09_001_write #寻找
msf > use auxiliary/dos/windows/smb/ms09_001_write #使用模块
msf auxiliary(dos/windows/smb/ms09_001_write) > info #查看信息
[*]其他特定于模块的参数是:missing, advanced, evasion, targets, actions
msf auxiliary(dos/windows/smb/ms09_001_write) > show missing #查看还没配置的
msf auxiliary(dos/windows/smb/ms09_001_write) > set RHOST #进行设置
msf auxiliary(dos/windows/smb/ms09_001_write) > show advanced
msf auxiliary(dos/windows/smb/ms09_001_write) > show targets
msf auxiliary(dos/windows/smb/ms09_001_write) > help edit
用法:编辑[file / to / edit.rb]
使用编辑当前活动模块或本地文件。
如果指定了文件路径,它将在编辑后自动重新加载。
否则,您可以使用“重新加载”或“重新运行”来重新加载活动模块。
msf auxiliary(dos/windows/smb/ms09_001_write) > edit
msf auxiliary(dos/windows/smb/ms09_001_write) > check #检查漏洞是否存在,很多模块没有这个功能
msf > help db_connect
[*] Usage: db_connect <user:pass>@<host:port>/<database>
[*] OR: db_connect -y [path/to/database.yml]
[*] Examples:
[*] db_connect user@metasploit3
[*] db_connect user:[email protected]/metasploit3
[*] db_connect user:[email protected]:1500/metasploit3
msf > help db_import
Usage: db_import <filename> [file2...]
Filenames can be globs like *.xml, or **/*.xml which will search recursively
msf > help db_export
Usage:
db_export -f <format> [filename]
Format can be one of: xml, pwdump
msf > use auxiliary/dos/windows/smb/ms08_067_netapi
msf auxiliary(dos/windows/smb/ms08_067_netapi) > exploit -j
msf > help sessions
Usage: sessions [options] or sessions [id]
选项:
-C <opt> 在-i或全部给定的会话上运行Meterpreter命令
-K 终止所有会话
-S <opt> 行搜索过滤器。
-c <opt> 在-i或全部给定的会话上运行命令
-h 帮助横幅
-i <opt> 与提供的会话ID进行交互
-k <opt> 按会话ID和/或范围终止会话
-l 列出所有活动会话
-n <opt> 按ID命名或重命名会话
-q 静音模式
-r 重置用-i或全部给定的会话的环形缓冲区
-s <opt> 在-i或全部给定的会话上运行脚本或模块
-t <opt> 设置响应超时(默认值:15)
-u <opt> 在许多平台上将shell升级到meterpreter会话
-v 以详细模式列出会话
-x 在会话表中显示扩展信息
#许多选项允许使用逗号和破折号指定会话范围。
#例如: sessions -s checkvm -i 1,3-5 or sessions -k 1-2,5,6
msf > route add 10.1.1.0 255.255.255.0 4 #指定session路由流量
主要就是搜索模块,查看模块,使用模块,会话交互