Summary
SCCM contains apreboot execution environment (PXE) feature which allows systems to load a specific operating system image on boot.
Attackers can recover domain credentials from PXE media if weak passwords are used, potentially transitioning from an unauthenticated network context to a domain-authenticated one, allowing for privilege escalation and lateral movement.
Several forms of offensive tooling (sccmhunter, pxethief, pxethiefy) will typically follow this operational flow:
- Connect to the
Distribution PointviaSMB - Enumerate
“REMINST”(Remote Install) share (Windows Deployment Services (WDS)and often contains PXE boot files) - Enumerate
SMSTempdirectory - Spider
.varextensions, which likely contain PXE boot configuration variables
sccmhunter's smb module will search and access the \\.\REMINST\ share path prior to connecting to SMSTemp directory. In contrast, pxethiefy will utilize the \\.\IPC$\winreg named pipe to connect to SMSTemp. No one method is "stealthier" than the other, as there are opportunities for detection with either connection choice.
PXEThief Exmaple:
SMSTemp directory is enumerated for .var files and .bcd files containing credentials or blank passwords. Defenders can monitor the connections to the \\REMINST\ file share and the SMSTemp directory with Event ID: 5145 and SACLs set on the SMSTemp directory.
The below example displays a successful Event ID 5145 generation upon the connection to \\REMINST\ file share:
SMSTemp directory within C:\RemoteInstall\ on the Distribution Point:
Associated Offensive IDs
References
- Garrett Foster, SCCMHunter Find Module
- Christopher Panayi, Identifying and Retrieving Credentials From SCCM/MECM Task Sequences
- Christopher Panayi, Pulling Passwords Out of Configuration Manager
- Christopher Panayi, PXEThief
- Josh Prager & Nico Shyne, Detection and Triage of Domain Persistence
- Microsoft, Understanding PXE Boot
- SpecterOps, Cred1py