Skip to content

Conversation

@jarnovandenbrink
Copy link

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-device to specify the device name, --sccm-clientpush-site for the SCCM site, and --sccm-clientpush-ip to 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-sleep flag. 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 -smb2support

poc(1)

Below is an image of the ccm.log file confirming that the requested device as placed inside of the "Incoming" queue and Client Push Installation is invoked:

sccm_incoming_inbox

@anadrianmanrique anadrianmanrique self-assigned this Nov 7, 2025
@anadrianmanrique anadrianmanrique added the in review This issue or pull request is being analyzed label Nov 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

in review This issue or pull request is being analyzed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants