Metasploit渗透框架

渗透测试框架

Metasploit渗透框架

常见名词解释

  1. POCProof of Concept,概念证明,用来证明漏洞存在的一段代码,没有攻击性
  2. EXPExploit,利用,利用系统漏洞进行攻击的动作、方式、方法,具有攻击性
  3. Payload :有效载荷,指Exploit执行成功之后,真正在系统进行执行的代码或者指令
  4. Shellcode :一段用于利用漏洞而执行的代码,为16进制的机器码,由于其建立正向/反向 shell 而得名
  5. Client :客户端
  6. Team Server :服务端,C2服务器,Beacon Payload的控制器
  7. Beacon :是Cobalt Strike运行在目标主机上的payloadBeacon在隐蔽信道上我们提供服务,用于长期控制受感染主机。
  8. C2Command & Control Server的简称,也就是命令与控制服务器

MSF简介

The Metasploit Framework 的简称。 MSF高度模块化,即框架由多个 module 组成,是全球最受欢迎的渗透测试工具之一

是一款开源安全漏洞利用和测试工具,集成了各种平台上常见的溢出漏洞和流行的shellcode,并持续保持更新。

metasploit涵盖了渗透测试中全过程,你可以在这个框架下利用现有的Payload进行一系列的渗透测试。

MSF框架结构

  • Kali-metasploit 框架目录路径

    /usr/share/metasploit-framework

  1. data :包含metasploit用于存储某些漏洞、单词列表、图像等所需二进制文件的可编辑文件。
  2. documentation :包含框架的可用文档。
  3. lib:metasploit的库文件夹。
  4. plugins :用来存放metasploit的插件。
  5. scripts :用来存放metasploit的脚本,包括meterpreter及其它脚本。
  6. tools :存放多种的命令行实用程序。
  7. modules :存储metasploit的模块文件。
  • kali Metasploit 更新

    msfconsole -v #查看版本
    apt-get update
    apt-get install metasploit-framework
    

MSF配置数据库

Metasploit支持使用数据库来保存渗透测试过程中获取的各种数据

  • 开启postgresql数据库
service postgresql start
  • 初始化MSF数据库
msfdb init

创建数据库用户:msf
创建数据库:msf
创建数据库:msf_test
创建配置文件:/usr/share/metasploit-framework/config/database.yml
创建保存MSF框架信息所需数据表

image-20230418131851703

  • 启动msfconsole
msfconsole

MsfconsoleMetasploit框架的用户接口,我们能通过Msfconsole接口使用Metasploit中所有模块

Msfconsole主要用于:

  1. 管理Metasploit数据库
  2. 管理会话
  3. 配置启动Metasploit模块

image-20230418132434253

启动msfconsole时,MSF会使用创建的msf用户自动登录到msf数据库

  • 查看数据库连接状态
db_status

image-20230418132732195

  • 连接到其他数据库
db_connect 用户名:口令@服务器地址:端口/数据库名称

MSF命令查询

常用命令
help - 查看命令
show exploits – 查看所有可用的渗透攻击程序代码
show auxiliary – 查看所有可用的辅助攻击工具
[show ]options/advanced – 查看该模块可用选项
show payloads – 查看该模块适用的所有载荷代码
show targets – 查看该模块适用的攻击目标类型
search – 根据关键字搜索某模块
info – 显示某模块的详细信息
use – 使用某渗透攻击模块
back – 回退
set/unset – 设置/禁用模块中的某个参数
setg/unsetg – 设置/禁用适用于所有模块的全局参数
数据库管理命令
msfdb init             # 启动并初始化数据库
msfdb reinit           # 删除并重新初始化数据库
msfdb delete           # 删除并停止使用数据库
msfdb start           # 启动数据库
msfdb stop             # 停止数据库
msfdb status           # 检查服务状态
msfdb run             # 启动数据库并运行msfconsole
核心命令
?   帮助菜单
banner       显示 Metasploit banner信息
cd           更改当前工作目录
color        切换颜色
connect      与主机通信
debug        显示对调试有用的信息
exit         退出控制台
features     显示可以选择加入的尚未发布的功能列表
get          获取特定变量的值
getg         获取全局变量的值
grep         筛选以一条命令的输出
help         帮助菜单
history      显示命令历史记录
load         加载框架插件
quit         退出控制台
repeat       重复一个命令列表
route        通过一个session会话路由流量
save         保存活动的数据存储
sessions     导出会话列表并显示会话信息
set          将一个特定环境的变量设置为一个值
setg         将一个全局变量设置为一个值
sleep        在指定的秒数内不执行任何操作
spool        将控制台输出写入文件以及屏幕
threads      查看和操作后台线程
tips         显示有用的提示清单
unload       卸载框架插件
unset        取消设置的一个或多个变量
unsetg       取消设置一个或多个全局变量
version      显示框架和控制台库版本号
模块命令
advanced    显示一个或多个模块的高级选项
back        从当前环境返回
clearm      清除模块堆栈
favorite    将模块添加到最喜欢的模块列表中
info        显示一个或多个模块的详细信息
listm       列表中的模块栈
loadpath    从路径中搜索并加载模块
options     显示一个或多个模块全局选项
popm        将最新的模块从堆栈中弹出并使其处于活动状态
previous    将之前加载的模块设置为当前模块
pushm       将活动模块或模块列表推送到模块堆栈
reload_all  重新加载所有模块
search      搜索模块名称和描述
show        显示给定类型的的模块或所有模块
use         通过名称或搜索词/索引选择使用模块
作业命令
handler     启动一个payload处理程序作为job
jobs        显示和管理 jobs
kill        杀掉一个job
rename_job  重命名一个job
资源脚本命令
makerc      将从开始输入的命令保存到文件中
resource    运行存储在文件中的命令
后端数据库命令
analyze           分析关于一个特定地址或地址范围的数据库信息
db_connect        连接到一个现有的数据服务
db_disconnect     与当前的数据服务断开连接
db_export         导出一个包含数据库内容的文件
db_import         导入扫描结果文件(文件类型将被自动检测)
db_nmap           执行nmap并自动记录输出
db_rebuild_cache  重建数据库存储的模块缓存(已废弃)
db_remove         删除已保存的数据服务条目
db_save           将当前的数据服务连接保存为默认,以便在启动时重新连接
db_status         显示当前的数据服务状态
hosts             列出数据库中的所有主机
loot              列出数据库
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白帽Chen_D

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值