metasploit framework——基本使用
前言
本节是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-067msf > 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, actionsmsf 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 advancedmsf auxiliary(dos/windows/smb/ms09_001_write) > show targetsmsf auxiliary(dos/windows/smb/ms09_001_write) > help edit 用法:编辑[file / to / edit.rb] 使用编辑当前活动模块或本地文件。 如果指定了文件路径,它将在编辑后自动重新加载。 否则,您可以使用“重新加载”或“重新运行”来重新加载活动模块。msf auxiliary(dos/windows/smb/ms09_001_write) > editmsf 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:pass@192.168.0.2/metasploit3 [*] db_connect user:pass@192.168.0.2:1500/metasploit3msf > help db_import Usage: db_import <filename> [file2...] Filenames can be globs like *.xml, or **/*.xml which will search recursivelymsf > 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_netapimsf 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,6msf > route add 10.1.1.0 255.255.255.0 4 #指定session路由流量
结语
主要就是搜索模块,查看模块,使用模块,会话交互
最后
从时代发展的角度看,网络安全的知识是学不完的,而且以后要学的会更多,同学们要摆正心态,既然选择入门网络安全,就不能仅仅只是入门程度而已,能力越强机会才越多。
因为入门学习阶段知识点比较杂,所以我讲得比较笼统,大家如果有不懂的地方可以找我咨询,我保证知无不言言无不尽,需要相关资料也可以找我要,我的网盘里一大堆资料都在吃灰呢。
干货主要有:
①1000+CTF历届题库(主流和经典的应该都有了)
②CTF技术文档(最全中文版)
③项目源码(四五十个有趣且经典的练手项目及源码)
④ CTF大赛、web安全、渗透测试方面的视频(适合小白学习)
⑤ 网络安全学习路线图(告别不入流的学习)
⑥ CTF/渗透测试工具镜像文件大全
⑦ 2023密码学/隐身术/PWN技术手册大全
如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!
扫码领取
