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代码)其他工具箱 相机分为短焦镜头和长焦镜头,短焦镜头看到的视野更广阔,同样距…

白平衡简介

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

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…

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

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

绝地求生【商城更新】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…

【zabbix7】新版本尝鲜之connector

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

详解Al作画算法原理

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

C++:构造函数与析构函数

目录 构造函数 构造函数的概念 析构函数的作用 自定义构造函数与默认构造函数 自定义构造函数 默认构造函数 调用自定义构造函数 析构函 自定义析构函数和默认构造函数 自定义构造函数 默认析构函数 构造函数 构造函数的概念 我们通常的函数是都需要有返回值的,但…

布局香港之零售小店篇 | 香港一人小企与连锁超市的竞争

近年来,内地品牌入驻香港市场开拓业务已成大势所趋。香港特区政府早前公布的「2023年有香港境外母公司的驻港公司按年统计调查」显示,2023年母公司在海外及内地的驻港公司数量高达9039家。内地品牌在香港的成功落地,不仅为香港市民带来了丰富…

【第3节】“茴香豆“:搭建你的 RAG 智能助理

目录 1 基础知识1.1.RAG技术的概述1.2 RAG的基本结构有哪些呢?1.3 RAG 工作原理:1.4 向量数据库(Vector-DB ):1.5 RAG常见优化方法1.6RAG技术vs微调技术 2、茴香豆介绍2.1应用场景2.2 场景难点2.3 茴香豆的构建: 3 论文快读 1 基础…

01.JAVAEE初阶之计算机如何工作

1.一台机器如何组成 冯诺依曼体系 CPU 中央处理器: 进行算术运算和逻辑判断.存储器: 分为外存和内存, 用于存储数据(使用二进制方式存储)输入设备: 用户给计算机发号施令的设备.输出设备: 计算机个用户汇报结果的设备. 针对存储空间 硬盘 > 内存 >> CPU针对数据访问…

十大排序算法详解-上篇:比较排序算法【python 动态图解】

作者介绍:10年大厂数据\经营分析经验,现任大厂数据部门负责人。 会一些的技术:数据分析、算法、SQL、大数据相关、python 欢迎加入社区:码上找工作 作者专栏每日更新: LeetCode解锁1000题: 打怪升级之旅 python数据分析…

nginx 配置 SSL 证书实现 https 访问

nginx 配置SSL证书实现https访问 1. SSL 证书简介与获取1.1 SSL 证书介绍1.2 获取 SSL 证书 2. nginx 配置 SSL 文件2.1 SSL 文件放置与配置文件修改2.1.1 文件配置2.1.2 强制 https 访问 2.2 验证配置结果 同步发布在个人笔记 nginx 配置 SSL 证书实现 https 访问 配置好 ngi…

LabVIEW和MES系统的智能化车间数据对接

LabVIEW和MES系统的智能化车间数据对接 随着工业4.0时代的到来,智能制造成为推动制造业高质量发展的重要手段。其中,数字化车间作为智能制造的重要组成部分,其设计与实现至关重要。在数字化车间环境下,如何利用LabVIEW软件与MES系…

求最小公倍数

两种方法 1.直接求 import java.util.Scanner;/*** HJ108 求最小公倍数 - 简单*/ public class HJ108 {public static void main(String[] args) {Scanner sc new Scanner(System.in);while(sc.hasNextInt()){int n1 sc.nextInt();int n2 sc.nextInt();for(int i 1; i &l…

OAuth2、JWT

文章目录 OAuth2JWT OAuth2 官网: https://oauth.net/2/ 在 RFC 6749 中说明 1、资源所有者 resource owner, 如 github 用户 2、客户端/第三方应用 client, 如 支持github 登录的 csdn 3、资源服务器 resource server, 如 4、授…

【高阶数据结构】B树 {B树的概念;B树的实现:节点设计,查找,插入,遍历,删除;B树的性能分析;B+树和B*树;B树的应用}

一、常见的搜索结构 以上结构适合用于数据量相对不是很大,能够一次性存放在内存中,进行数据查找的场景。如果数据量很大,比如有100G数据,无法一次放进内存中,那就只能放在磁盘上了,如果放在磁盘上&#xff…

Linux系统安全:从面临的攻击和风险到安全加固、安全维护策略(文末有福利)

1. Linux面临的攻击与风险 1.1. Linux系统架构 Linux系统架构解读: 用户之间隔离内核态与用户态之间隔离用户进程一般以低权限用户运行系统服务一般以特权服务运行用户态通过系统调用进入内核态内核对系统资源进行管理和分配 1.2. Linux系统常见安全威胁 1.2.1.…