如何用Meterpreter实现内网渗透?

内网渗透测试中,获得一个Meterpreter会话往往只是起点,而非终点。真正的挑战在于如何利用这个立足点,像水银泻地般渗透到网络深处,触及那些隐藏在层层防护后的核心资产。Meterpreter作为Metasploit框架的灵魂,其威力在横向移动和权限维持阶段才真正显现。

从立足点到跳板:信息收集的艺术

拿到一个shell就急着横冲直撞?别急。有经验的红队成员会先花时间把当前环境“摸透”。sysinfogetuid只是开胃菜,关键是run post/windows/gather/enum_domain这类后渗透模块。它能帮你理清这台机器在域里的角色——是普通工作站,还是可能存有密码哈希的域控制器?ipconfig /allroute print的输出得仔细分析,那些额外的网卡和路由条目,往往指向了隔离的管理网段或VPN通道。

更隐蔽的一招是使用arp_scanner或通过meterpreter加载powershell脚本来扫描同网段存活主机。动静要小,速度要慢,毕竟内网的IDS可能正盯着异常的ARP流量。这些信息构成了你下一步行动的作战地图。

横向移动:不止一种打法

有了地图,就该选择路径了。Meterpreter提供了多种横向移动的“交通工具”。最经典的是利用窃取的凭证进行psexec攻击。用hashdumpmimikatz模块抓取本地或域账户的NTLM哈希后,use exploit/windows/smb/psexec,将SMBPass设置为“哈希值”(格式为LMHASH:NTHASH),目标指向另一台主机的IP。成功了,你就获得了在新主机上的另一个会话。

  • Pass the Hash (PtH): Windows环境下,NTLM哈希本身就能用来认证,无需破解成明文密码。这让横向移动的效率呈指数级提升。
  • 令牌窃取与假冒: 如果当前进程有高权限令牌(比如域管登录过的服务),incognitosteal_token命令能让你瞬间“变成”那个用户,无缝访问网络资源。
  • 服务与计划任务投递: 对于更严格的环境,可以通过sc命令远程创建服务,或者用schtasks部署计划任务,将payload投递到目标并执行。这种方式更贴近系统管理行为,不易触发警报。

端口转发:打通任督二脉

内网里经常遇到这种情况:你控制的机器B能访问核心服务器C的数据库端口3306,但你的攻击机A却不行。这时portfwd命令就是关键桥梁。在Meterpreter会话中执行portfwd add -L 0.0.0.0 -l 3306 -p 3306 -r 192.168.10.20,等于在B机上开了一个通向C机3306端口的隧道。你在A机上连接B机的IP和3306端口,流量就会通过Meterpreter会话被转发到C机的真实服务上。这下,原本不可达的内部服务,对你来说就是“本地服务”了。

权限维持:留下不被察觉的后门

渗透进去不算完,还得能留得下。蓝队一旦发现入侵,会迅速清除威胁、重置密码。因此,建立隐蔽的持久化访问至关重要。persistence脚本是基础选项,它会通过注册表、服务或启动文件夹建立自启动。但太常见了,容易被查杀。

更高级的做法是“无文件”持久化。比如,利用meterpretermigrate命令,将会话迁移到像lsass.exesvchost.exe这样的关键系统进程内存中,与合法进程共存。或者,通过WMI事件订阅来触发payload执行,这种后门几乎不落地,极难通过传统文件扫描发现。再比如,篡改用于组策略更新的脚本(.bat, .vbs),当下一次组策略刷新时,你的代码就会在所有域内机器上执行。

说到底,用Meterpreter进行内网渗透,是一场对耐心、细致和创造力的考验。它要求你不仅是一个漏洞利用者,更要成为一个系统的理解者、网络流量的塑造者。每一个命令背后,都是对目标网络生态的深刻揣摩。工具本身不会思考,但使用工具的人必须时刻思考。

参与讨论

0 条评论

    暂无评论,快来发表你的观点吧!