Metasploit是The Metasploit Framework的简称,也可以叫做MSF(美少妇?)! MSF高度模块化即框架由多个module组成,是全球最受欢迎的工具。
Metasploit Framework(MSF)远远不仅仅是一个漏洞的集合。这是您可以建立和利用您的自定义需求的基础架构。这使您可以专注于您独特的环境,而不必重新发明轮子。
官网地址:Metasploit | Penetration Testing Software, Pen Testing Security | Metasploit
》》》MSF模块框架介绍《《《
初识Metasploit
1.1:模块介绍
模块名称 | 模块作用 |
Auxiliary | 负责执行信息收集、扫描、嗅探、指纹识别、口令猜测和Dos攻击等功能的辅助模块 |
Exploits | 利用系统漏洞进行攻击的动作,此模块对应每一个具体漏洞的攻击方法(主动、被动) |
Payloads | 成功exploit之后,真正在目标系统执行的代码或指令。 payload 分为 3 种类型 ,分别是 singles、stages 和 stagers。shellcode 是特殊的 payload,用于拿shell
|
Post | 后期渗透模块。在取得目标系统远程控制权后,进行一系列的后渗透攻击动作,如获取敏感信息、跳板攻击等操作 |
Encoders | 对payload进行加密,躲避AntiVirus检查的模块 |
Nops | 提高payload稳定性及维持大小。在渗透攻击构造恶意数据缓冲区时,常常要在真正要执行的Shellcode之前添加一段空指令区, 这样当触发渗透攻击后跳转执行ShellCode时,有一个较大的安全着陆区,从而避免受到内存 地址随机化、返回地址计算偏差等原因造成的ShellCode执行失败,提高渗透攻击的可靠性。 |
evasion | 混淆模块 , 自带windows denfender的混淆 , 效果一般 早不免杀了 , 总比没有好 自己配合其他手段免杀 |
注意:MSF默认存放模块目录如下...目录下的6个子文件夹对上面6个模块一一对应....
# MSF程序文件
/usr/share/metasploit-framework/
# MSF模块文件
/usr/share/metasploit-framework/modules/
# MSF数据文件
/usr/share/metasploit-framework/data
存放 meterpreter、passivex、vnc、dlls等工具和一些用户接口代码,msfweb和一些其他模块用到的数据文件
# MSF插件目录
/usr/share/metasploit-framework/plugins
这个模块需要使用 load 加载,提供数据库连接插件,和各种要用到的插件。即插件目录
# MSF脚本目录
/usr/share/metasploit-framework/scripts
这个目录下的文件都是meterpreter利用的脚本
1.2:MSF接口
接口命令 | 接口介绍 |
Msfconsole | 命令行控制台用户界面 |
Armitage | 基于Msf的可视化高级后渗透工具 |
Web View | MSF网页界面,存在MAC OS中... |
msf5版本以前启动 Metasploit 框架需要运行 Postgresql 数据库,msf5以后只要运行 Metasploit 时都会自动启动 Postgresql 数据库。如果数据库没启动的话,可以手动开启,下面时管理数据库的一些命令。
root@kali:~# netstat -pantu | grep 5432 #查看数据库是否被启动
root@kali:~# systemctl start postgresql #手动启动数据库
root@kali:~# systemctl enable postgresql #设置成开机启动数据库
┌──(xhonger㉿xhonger)-[~]
└─$ msfconsole -v #查看MSF的版本
Framework Version: 6.4.9-dev
┌──(xhonger㉿xhonger)-[~]
└─$ msfconsole -q # -q是指quite , 静默输出 , 不会打印banner信息
msf6 >
1.3:MSF更新
步骤一:编辑Kali的软件源文件并使用apt管理更新源!
# 更换kali自带的源,改为国内的源,这样下载比较快
# 编辑源文件
vim /etc/apt/sources.list
# 添加中科大源
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
步骤二:更新软件源并更新Metasploit!
# 更新软件包与软件包
apt-get update && apt-get upgreade
# 更新msf框架
apt-get install metasploit-framework
apt install metasploit-framework
# 历史版本
kali 2019--> 5.*
kali 2020--> 6.*
步骤三:如果更新安装完后出现以下问题就可以通过以下方式解决!
root@kaliew:~# msfconsole
Could not find reline-0.1.5 in any of the sources
Run bundle install to install missing gems.
# 解决办法
root@kali:~# sudo gem install bundler
root@kali:~# bundle update celluloid
1.4:MSFDB管理
》》》基础操作《《《
msfdb init # 启动并初始化数据库
msfdb reinit # 删除并重新初始化数据库
msfdb delete # 删除数据库并停止使用它
msfdb start # 启动数据库
msfdb stop # 停止数据库
msfdb status # 检查服务状态
msfdb run # 启动数据库并运行msfconsole
》》》扩展操作《《《
操作命令 | 命令解释 |
db_status |
|
db_rebuild_cache |
|
db_disconnect |
|
db_connect |
|
db_nmap |
|
creds |
|
vulns |
|
loot |
|
hosts、services |
|
db_export/db_import |
|
1.5:MSF基础操作
控制台命令支持TAB补全,支持外部命令的执行(系统命令)
操作命令 | 命令解释 |
help或? |
|
banner |
|
connect |
|
show |
|
search |
|
info |
|
use |
|
set/setg |
|
unset/unsetg |
|
save |
|
check |
|
back |
|
run或exploit |
|
sessions |
|
load/unload |
|
loadpath |
|
route |
|