Metasploit Framework(MSF)从入门到实战(一)

MSF的简介

  • 目前最流行、最强大、最具扩展性的渗透测试平台软件

  • 基于Metasploit进行渗透测试和漏洞分析的流程和方法

  • 2003年由HD More发布第一版,2007年用ruby语言重写

  • 架集成了渗透测试标准 (PETS) 思想

  • 一定程度上统一了渗透测试和漏洞研究的工作环境

  • 新的攻击代码可以比较容易的加入框架

  • 开发活跃版本更新频繁(每周)

  • 早期版本基于社区力量维护,被 Fapid 7收购后打造出其商业版产品

  • 目前分化为四个版本,社区版本依然十分活跃

  • HD More说:为Metasploit写书是种自虐!

  • 2014年之后市场上没有再出现新的Metasploit教材

Metasploit Framework(MSF)是一款开源安全漏洞检测工具,附带数千个已知的软件漏洞,并保持持续 更新。Metasploit可以用来信息收集、漏洞探测、漏洞利用等渗透测试的全流程,被安全社区冠以“可以 黑掉整个宇宙”之名。刚开始的Metasploit是采用Perl语言编写的,但是再后来的新版中,改成了用Ruby语言编写的了。

MSF基本使用

MSF安装与更新

我们使用kali Linux来讲解 安装其实我们只需要安装kali就可以了,但是kali是一个操作系统,我们就需要用到虚拟机。 MSF更新:apt update; apt install metasploit-framework

MSF的数据库使用

msf使用的是postgresql, 这个数据库默认端口是5432

msf我们如果单个模块使用,其实用不用数据库都不影响,但是如果模块之间有数据需要沟通,那么数据

库就必须使用。

启动PostgreSQL服务

msfconsole连接PostgreSQL数据库

root@kali:~ service postgresql start ###启动PostgreSQL服务
root@kali:~ service postgresql status ###查看状态
msfconsole连接PostgreSQL数据库
root@kali:~ msfdb init ###初始化数据库

初始化成功就是上图

已经初始化过就是下图

打开msf

root@kali:~ msfconsole ###打开msf

查看数据库状态

msf6 > db_status
断开数据库连接

主要作用是可以让msf去连接其他数据库

msf6 > db_disconnect
配置文件连接数据库

连接数据库,主要通过配置文件去连接

默认的数据库的配置文件在: /usr/share/metasploit-framework/config/database.yml

所以我们可以通过这个配置文件连接上数据库

msf6 > db_connect -y /usr/share/metasploit-framework/config/database.yml

此外在msfconsole之外,管理数据库的命令:

msfdb init #删除并重新初始化数据库 
msfdb reinit # 启动并初始化数据库
msfdb delete # 删除并停止使用数据库
msfdb start # 启动数据库 
msfdb stop # 停止数据库 
msfdb status # 检查服务状态启
msfdb run # 启动数据库并运行msfconsole

MSF常用指令

启动MSF
msfconsole
或者msfdb run

在msfconsole下面可以使用MSF所有的命令,甚至可以使用操作系统的命令:

cd /usr/share/metasploit-framework/modules#进入模块
msf6 > ls [-l]#输入ls可以看到7个模块
msf6 > pwd#当前目录位置
#操作用户
msf6 > whoami
不在管理员模式下运行可能会有权限不够的提示,为了避免命令执行失败,在管理员下运行
help命令

直接使用help,比如说不知道怎么使用search,直接使用help search

search命令

主要用来搜索模块,经常使用。 搜索漏洞专用。

use命令

使用命令模块,经常使用。 可以通过info命令查看模块的详细信息。

show命令
show options命令

设置相关参数。

show targets命令

哪些目标适合使用该攻击方式。

show payloads命令

显示出适用于当前模块的payloads。

show advanced命令

显示高级命令,有些模块需要设置高级命令才可以使用。

show missing命令

看有什么参数没有设置到,比较有用

设置参数相关命令
check命令

检测是否可用,并没有真正发起攻击,但并不是所有模块都适用。 和run和exploit的有很大区别。

back命令

回退,返回上一级。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/3037.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

针孔相机模型原理坐标系辨析内参标定流程内参变换

针孔相机的内参标定 针孔相机原理真空相机模型图片的伸缩和裁剪变换 内参标定———非线性优化张正定标定详细原理(含公式推导)通过多张棋盘格照片完成相机的内参标定流程(C代码)其他工具箱 相机分为短焦镜头和长焦镜头,短焦镜头看到的视野更广阔,同样距…

Debian常用命令

Debian是一种常见的Linux发行版,以下是一些常用的Debian命令: 1. apt-get:用于安装、升级和删除软件包。例如:apt-get install package_name。 2. dpkg:用于管理Debian软件包。例如:dpkg -i package_name…

白平衡简介

文章目录 白平衡的概念白平衡的调节常见的白平衡模式 白平衡的概念 白平衡是指摄影、摄像和显示技术中的一项重要概念,用于调节图像中的白色或中性灰色的色彩,使其看起来在不同光源条件下都是准确的白色或灰色。白平衡的主要目的是确保图像的色彩准确性…

C语言 | Leetcode C语言题解之第49题字母异位词分组

题目: 题解: /*1.将字符串原串与副本进行绑定成一个节点2.对字符串副本进行按ascii码表进行从小到大排序3.按照字符串进行比较排序4.合并 */ typedef struct Node{char*s;char*s_vice;int len; }Node;void sortShellChar(char*s,int len){for(int dista…

TS类型断言

类型断言(Type Assertions)在 TypeScript 中确实是一种在表达式级别上临时指定类型的机制,它允许开发者在编译时覆盖编译器的类型推断结果。类型断言有两种语法形式: “尖括号”语法: let someValue: any this is a s…

查找总价格为目标值的两个商品 ---- 双指针

题目链接 题目: 分析: 解法一: 暴力解法, 将每两个的和都算出来, 判断是否为目标值解法二: 数组中的数是按升序排序的, 我们可以定义左右指针 如果和小于目标值, 则应该让和变大, 所以左指针右移如果和大于目标值, 则应该让和变小, 所以右指针左移 思路: 定义left 0, righ…

python学习29:python中的字典dict

python中的字典dict 1.字典的定义: 同样是使用{},不过存储的元素是一个个的:键值对,如下语法: """ 字典的定义: #定义字典字面量:{key:value,key:value,....,key:value} #定义字典变量&am…

每天一个数据分析题(二百九十)——直方图与条形图

关于直方图与条形图的描述,下列说法正确的是() A. 直方图用于展示分类型数据的分布情况 B. 直方图用来展示数值型数据的分布情况 C. 条形图只能用于展示顺序型数据的分布情况 D. 条形图只能用于展示分类型数据的分布情况 题目来源于CDA模…

绝地求生【商城更新】WIA联名上架//专属商店下架

大家好,我是闲游盒. 本周商城将在4.24(周三)更新,商城内容更新如下: 上架物品 ▲W.I.A联名皮肤大礼包 小礼包如下: 包含3套衣服以及MINI、DBS的联名皮肤,3个头饰还挺有特色的,你喜欢…

链栈算法库构建

学习贺利坚老师, 链栈 , 构建链栈算法库 数据结构之自建算法库——链栈_领会链栈结构和掌握链栈中的各种基本算法-CSDN博客文章浏览阅读3.9k次,点赞3次,收藏8次。本文针对数据结构基础系列网络课程(3):栈和队列中第4课时栈的链式存储结构及其…

安全开发实战(3)--存活探测与端口扫描

目录 安全开发专栏 前言 存活探测 端口扫描 方式一: 1.3.1 One 1.3.2 Two 1.3.3 批量监测 方式二: 1.3.1 One 1.3.2 Two 1.3.3 Three 1.3.4 扫描ip地址,提取出开放端口和协议 ​编辑 1.3.5 批量扫描(最终完成版) 总结 安全开发专栏 安全开发实战​http://t.csd…

数据安全风险评估流程

数据安全风险评估是一个系统性的过程,旨在识别、评估和管理数据安全风险。以下是数据安全风险评估的一般流程及其内容: 确定评估范围:确定评估的范围和目标,包括评估的数据资产、系统、流程和相关方。 收集信息:收集有…

spring mvc \ spring boot \ spring cloud

spring mvc 主要是用作IOC 容器 框架还是传统三层架构 1.容器 依赖注入 CDI 传统web是由beanmanager管理bean的依赖和注入,beanfactory管理bean的创建,以消息进行驱动(HttpSessionListener等) 由框架自行管理 2.IOC 控制反转 bean的创建由开发人员…

leveldb中THREAD_ANNOTATION_ATTRIBUTE__宏的作用

THREAD_ANNOTATION_ATTRIBUTE__ 宏在 LevelDB 或类似的 C 项目中用于指定线程安全相关的源码注解(Source Code Annotation),这些注解有助于清晰地表达程序中函数、变量、类型等元素在多线程环境中的行为特征和并发保证。这样的注解不仅有助于…

【zabbix7】新版本尝鲜之connector

zabbix历史版本中,会使用python脚本,把zabbix的告警发送到kafka进行二次处理,或者使用filebeat把zabbix的Export的njson指标数据发送到kafka进行二次处理,然而在zabbix7中新增了新功能connector简化了操作并且可以根据tag进行区分…

【算法刷题day36】Leetcode:435. 无重叠区间、763.划分字母区间、56. 合并区间

文章目录 Leetcode 435. 无重叠区间解题思路代码总结 Leetcode 763.划分字母区间解题思路代码总结 Leetcode 56. 合并区间解题思路代码总结 草稿图网站 java的Deque Leetcode 435. 无重叠区间 题目:435. 无重叠区间 解析:代码随想录解析 解题思路 先按…

Centos Top 30常用命令及详解

在Linux的众多发行版中,CentOS以其稳定性和高效性备受青睐。掌握CentOS的操作对于系统管理员来说至关重要,而熟悉一系列核心命令更是提高工作效率的关键。从文件管理到系统监控,我们精心编制的Top 50常用CentOS命令列表是每位Linux用户的实战…

systemd 强大的初始化系统和服务管理器

在Linux下,systemd 是一个非常强大的初始化系统和服务管理器, 它可以用来管理各种系统服务和进程。如果想要使用 systemd 来监控一个进程, 并在它退出时自动重新启动它,可以为该进程创建一个 systemd 服务单元文件。 以下是如何为…

详解Al作画算法原理

ChatGPT AI作画算法,又称为AI图像生成算法,是一种人工智能技术,它可以根据给定的输入自动生成图像。这类算法近年来变得非常流行,尤其是随着深度学习技术的发展。这里我将聚焦于目前最先进的一类AI作画算法,即生成对抗…

CVE-2022-0543 Redis沙盒逃逸漏洞复现(CVE-2022-0543)

0x01前言 Redis Labs Redis是美国Redis Labs公司的一套开源的使用ANSI C编写、支持网络、可基于内存亦可持久化的日志型、键值(Key-Value)存储数据库,并提供多种语言的API。 redis 存在安全漏洞,攻击者可利用该漏洞远程执行代码。…