Summary
Configuration Manager (CM) allows administrators to deploy applications located at specified UNC paths (e.g.,C:\Windows\System32\calc.exe) to client devices. Additionally, the deployment can be selected to execute as SYSTEM, the currently logged in user, or a specified user.
The CM clients can be any domain-joined host that is managed by a primary (including CAS) and passive site servers where the SCCM client has been installed. Additionally, CM can manage non-domain joined devices via certificate trust. As long as the non-domain joined device trusts the certificate that the CM infrastructure trusts, applications can be deployed to the non-domain joined client as well. Typical methods of deploying application packages to CM clients are conducted via the CM console. To reference an application to deploy to an application, the administrator can reference a binary that is locally or remotely hosted. Referencing binaries that are remotely hosted is of particular importance when we consider the impact of offensive staging and “pushing” application packages to a CM client. Typically, system administrators will host application packages on remote file servers and “push” the CM client agent to retrieve and execute a copy of the binary hosted on the shares (e.g., deployment content= \\ServerName\SharedFolder\MyApplicationInstaller.msi). CM clients need only Read access to the remote file shares to retrieve the binaries.
Application deployment is executed in the following steps:
- Create a “Collection”
- A collection is a group of users or devices targeted for deployment in SCCM. When a collection is created, the SCCM site database (hosted in the
CM_<SiteCode>MSSQL database) creates an entry for the collection. A collection is typically created in the SCCM console by navigating toAssets and Compliance > Device Collections > Create Device Collection.
- Add a device to the Collection
- Devices are added to the Collection to define the deployment scope.
- Create an “Application” to deploy
- The application can reference a locally or remotely hosted binary via UNC paths.
- Create a “Deployment”
- The deployment defines how and when the application is sent to devices. In this step, the application is deployed to the previously created collection.
- This deployment creates records in the SCCM site database under tables such as
DeploymentandApplicationAssignments, which link the application to the collection. This will also generate a new deployment policy for the collection’s members.
- Initiate a “Deployment”
- The deployment will deploy the scoped application to execute on the CM clients as defined by the collection.
Associated Offensive IDs
References
- Brandon McMillan, Enhanced Audit Status Message Queries
- Brandon McMillan, EnhancedAuditStatusMsgQueries
- Microsoft Learn, Use the status system in Configuration Manager
- Marshall Price, SCCM Exploitation: Evading Defenses and Moving Laterally with SCCM Application Deployment
- Microsoft, Status and alert views in Configuration Manager