admin管理员组

文章数量:1646403

目录

一、简介:

二、下载:

2.1、kali

2.2、官网:

2.3、GitHub:

三、启动方法

四、msf常用基础命令

五、msf结构

六、 核心命令:


一、简介:

很容易地获取、开发并对计算机软件漏洞实施攻击

附带数百个已知软件漏洞的专业级漏洞攻击工具



二、下载:

2.1、kali

kali linux 新版已内置metasploit,已经没有metasploit 这个服务了,service metasploit start 已经用不了


2.2、官网:

Metasploit | Penetration Testing Software, Pen Testing Security | Metasploithttps://www.metasploit/


2.3、GitHub:

rapid7/metasploit-framework: Metasploit Framework (github)https://github/rapid7/metasploit-framework



三、启动方法

 启动带数据库支持的msf方式如下:

第一步: 启动postgresql数据库: service postgresql start;或者/etc/init.d/postgresql start;


第二步:初始化MSF数据库:msfdb init;


第三步: 运行msfconsole:msfconsole;


第四步:在msf中查看数据库连接状态:db_status。

 



四、msf常用基础命令

常用基础命令作用
use 类似cd命令,装载msf模块
workspacemsf控制台相关命令
host查看扫描记录
db_nmapnmap命令的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)

本文标签: 命令模块入门核心常用