Kali linux 学习笔记(九十)metasploit framework——基本使用 2020.4.24

前言

本节是msf的基本使用

使用前先升级

msfupdate #升级

1、msfconsole 使用接口

  • 最流行的用户接口
  • 几乎可以使用全部 msf 功能
  • 控制台命令支持 TAB 自动补全
  • 支持外部命令的执行(系统命令等)
msfconsole #启动

2、查看帮助

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

3、搜索

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    # 可多条件同时搜索

4、模块内命令

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 #检查漏洞是否存在,很多模块没有这个功能

5、数据库操作

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

6、攻击

msf > use auxiliary/dos/windows/smb/ms08_067_netapi
msf auxiliary(dos/windows/smb/ms08_067_netapi) > exploit -j

7、活动的会话操作和交互。

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路由流量

结语

主要就是搜索模块,查看模块,使用模块,会话交互

你可能感兴趣的:(kali,linux)