【MSFconsole工具】下载、启动方法、msf常用基础命令、模块功能、核心命令(入门初识)
【MSFconsole工具】下载、启动方法、msf常用基础命令、模块功能、核心命令(入门初识)
目录
一、简介:
很容易地获取、开发并对计算机软件漏洞实施攻击
附带数百个已知软件漏洞的专业级漏洞攻击工具
二、下载:
2.1、kali
kali linux 新版已内置metasploit,已经没有metasploit 这个服务了,service metasploit start 已经用不了
2.2、官网:
2.3、GitHub:
三、启动方法
启动带数据库支持的msf方式如下:
第一步: 启动postgresql数据库: service postgresql start;或者/etc/init.d/postgresql start;
第二步:初始化MSF数据库:msfdb init;
第三步: 运行msfconsole:msfconsole;
第四步:在msf中查看数据库连接状态:db_status。
四、msf常用基础命令
常用基础命令 作用 use 类似cd命令,装载msf模块 workspace msf控制台相关命令 host 查看扫描记录 db_nmap nmap命令的msf版本,用法和nmap完全一致 show 内容 查看所有指定模块(比如说show exploits:查找所有攻击模块,show payloads:查找所有攻击载荷等等,如果想看msf中所有的内容可以show all) search 名称 查找msf指定的模块(攻击模块和其他模块都可以利用此命令查找)(比如说我们想查找永恒之蓝漏洞相关利用方法可以输入search ms17) init (模块内使用) 查看模块具体信息 options (模块内使用) 查看当前模块的常用配置项 advanced (模块内使用) 查看当前模块的详细配置项 set 配置名 配置值 (模块内使用) 修改模块配置信息, 比如set rhost 192.168.1.1将目标主机设置为192.168.13.1 unset 配置名 (模块内使用) 删除某个模块的配置信息 setg 配置名 配置值 (模块内使用) 这种配置和上述set类似,不同的是使用setg的设置会在全局生效(也有unsetg 配置名) run (模块内使用) 启动模块 back (模块内使用) 退出此模块 save (模块内使用) 保存此模块的配置 sessions 进入指定的目标控制台中(当我们成功获取目标主机控制台权限时,目标主机的控制台我们就称为session),输入sessions我们就能看到我们当前有哪些能进入的控制台,输入sessions 序号,既可以进入对应的控制台,更多用法可以通过sessions -h 查看 background (目标控制台内使用) 将目标控制台放入后台运行
五、msf结构
modules目录文件 介绍 auxiliary 辅助模块,辅助渗透(端口扫描、登录密码爆破、漏洞验证等) exploits 漏洞利用模块,包含主流的漏洞利用脚本,通常是对某些可能存在漏洞的目标进行漏洞利用。命名规则:操作系统/各种应用协议分类 payloads 攻击载荷,主要是攻击成功后在目标机器执行的代码,比如反弹shell的代码 post 后渗透阶段模块,漏洞利用成功获得meterpreter之后,向目标发送的一些功能性指令,如:提权等 encoders 编码器模块,主要包含各种编码工具,对payload进行编码加密,以便绕过入侵检测和过滤系统 evasion 躲避模块,用来生成免杀payload nops 空操作模块, 由于IDS/IPS会检查数据包中不规则的数据,在某些情况下,比如针对溢出攻击,某些特殊滑行字符串(NOPS x90x90…)则会因为被拦截而导致攻击失效。
六、 核心命令:
1、?
帮助菜单
2、banner
显示一个令人敬畏的Metasploit横幅
3、cd
更改当前的工作目录
4、color
切换颜色
5、connect
和一个宿主通信
6、connect -h
查看附加选项
附加选项:
-C 尝试将CRLF用于EOL序列。
-P <opt> 指定源端口。
-S <opt> 指定源地址。
-c <opt> 指定使用哪个Comm。
-h 帮助横幅。
-i <opt> 发送文件的内容。
-p <opt> 使用的代理列表。
-s 使用SSL连接。
-u 切换到UDP套接字。
-w <opt> 定连接超时。
-z 试着连接,然后返回。
7、debug
显示可用于调试的信息
8、exit
退出控制台
exit命令会退出msfconsole
9、features
显示尚未释放的功能列表可以选择
10、get
获取特定于上下文变量的值
11、getg
获取全局变量的值
12、grep
grep另一个命令的输出
用法:grep [选项] 匹配词 命令
选项:
-A <opt> 显示输出的参数行匹配后。
-B <opt> 在匹配前显示输出的参数行。
-c 仅打印匹配行数。
-h 帮助横幅。
-i 忽略大小写。
-k <opt> 在输出开始处保持(包含)arg行。
-m <opt> 在arg匹配后停止。
-s <opt> 在尝试匹配之前跳过输出的arg行。
-v 反转匹配。
13、history
显示命令历史记录
14load
加载框架插件
用法: load <选项> [var=val var=val ...]
有关内置插件列表 load -l
对于加载的插件列表 load -s
15、quit
退出控制台
16、repeat
重复命令列表
17、route
通过会话路由流量
用法:
route [add/remove] subnet netmask [comm/sid]
route [add/remove] cidr [comm/sid]
route [get]
route [flush]
route [print]
子命令:
add - 制作新路线
remove - 删除路线; 'del'是一个别名
flush - 删除所有路线
get - 显示给定目标的路线
print - 显示所有活动路线
18、save
保存活动数据存储
19、sessions
转储会话列表并显示有关会话的信息
用法: sessions [选项] 或 sessions [ID]
选项:
-C <opt> 对使用-i或全部给定的会话运行Meterpreter命令
-K 终止所有会话
-c <opt> 在由-i或全部给定的会话上运行命令
-h 帮助横幅 -i <opt> 与提供的会话ID进行交互
-k <opt> 按会话ID和/或范围终止会话
-l 列出所有活动会话
-q 安静模式
-r 重置用-i或全部给定的会话的环形缓冲区
-s <opt> 在与-i或全部给定的会话上运行脚本
-t <opt> 设置响应超时(默认值:15)
-u <opt> 在许多平台上将shell升级到meterpreter会话
-v 以详细模式列出会话
-x 在会话表中显示扩展信息
20、set
将特定于上下文的变量设置为值
21、setg
将全局变量设置为值
22、sleep
对于指定的秒数无所作为
23、spool
将控制台输出到文件中屏幕
24、threads
查看和操作背景线程
25、tips
显示有用的生产力提示列表
26、unload
卸载框架插件
27、unset
取消设置一个或多个特定于上下文的变量
28、unsetg
取消传递一个或多个全局变量
29、version
显示框架和控制台库版本号
30、help
用法:help search [关键字]
关键词:
app:客户端或服务器攻击的模块
author:这个作者写的模块
bid:具有匹配的Bugtraq ID的模块
cve:具有匹配CVE ID的模块
edb:具有匹配的Exploit-DB ID的模块
name:具有匹配描述性名称的模块
platform:影响这个平台的模块
ref:具有匹配参考的模块
type:特定类型的模块(exploit,auxiliary或post)
- 点赞
- 收藏
- 关注作者
评论(0)