Skip to content

Add SCCM AdminService Kerberos relay attack - #76

Open
marin-syn wants to merge 1 commit into
dirkjanm:masterfrom
marin-syn:AdminService-standalone
Open

Add SCCM AdminService Kerberos relay attack#76
marin-syn wants to merge 1 commit into
dirkjanm:masterfrom
marin-syn:AdminService-standalone

Conversation

@marin-syn

Copy link
Copy Markdown

This adds support for relaying captured Kerberos tickets to the SCCM AdminService API (/AdminService/wmi/SMS_Admin) to promote an arbitrary domain account to Full SCCM Administrator.

The original technique was documented by SpecterOps in this blogpost and relied on NTLM relay. Starting with ConfigMgr 2509, Microsoft officially blocks NTLM authentication on the AdminService entirely. The endpoint still accepts Kerberos though, which Synacktiv showed can be abused via coercion + Kerberos reflection. This PR implements this.

What changed:

  • --adminservice flag (plus --logonname, --displayname, --objectsid) options to trigger the attack
  • lib/attacks/sccmadminserviceattack.py: attack class that handles the authenticated POST to SMS_Admin
  • lib/clients/httprelayclient.py: skips the initial GET so the single-use Kerberos token isn't wasted before the actual attack request
  • lib/servers/smbrelayserver.py / httprelayserver.py: dropped SPN hostname matching since coerced connections in the case of self relay can arrive with Unicode-mangled hostnames that would never match the configured target anyway
  • No dependency on any out-of-tree impacket PRs, works on upstream impacket

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant