
Catena di exploit proof-of-concept (CVE-2026-47301) per Microsoft Configuration Manager (SCCM), che combina un controllo degli accessi non corretto, un path traversal con scrittura arbitraria nei file CAB, un bypass della verifica dei certificati e un DLL hijacking per ottenere l'esecuzione di codice con privilegi SYSTEM.
Catena di exploit proof-of-concept che ho scoperto, assegnata come CVE-2026-47301 per Microsoft Configuration Manager (SCCM), che combina controllo degli accessi difettoso, scrittura arbitraria di file tramite path traversal nell'estrazione dei CAB, bypass della verifica dei certificati e DLL hijacking per ottenere l'esecuzione di codice a livello SYSTEM.
Questo exploit utilizza un cab malevolo creato appositamente per sfruttare questa CVE; un cab è stato fornito da me per il POC.
L'exploit dirotterà l'esecuzione inserendo due DLL in: ..\..\..\..\ rispetto al percorso previsto, nella directory di installazione \bin\X64 di Configuration Manager. Installare Microsoft Configuration Manager in un percorso diverso non avrà importanza, poiché l'exploit è generico e funziona su qualsiasi percorso senza sapere nulla.
I nomi delle DLL sono: adsource_original.dll e adsource.dll.
La DLL "original" viene utilizzata per eseguire un attacco DLL Proxy e far funzionare l'exploit SENZA mandare in crash il servizio SMS_EXECUTIVE.
tutto ciò che serve è l'IP/nome DNS del Primary Site Server; sebbene questa informazione non venga mai pubblicata in Active Directory, possiamo ragionevolmente supporre che, ispezionando l'SDDL sul container CN=System Management,CN=System, gli account macchina con controllo completo su questo container siano solitamente i Site Server.
$root = [ADSI]"LDAP://RootDSE"
$configDN = "CN=System Management,CN=System," + $root.defaultNamingContext
$container = [ADSI]"LDAP://$configDN"
$container.ObjectSecurity.Access |
Where-Object { $_.ActiveDirectoryRights -match "GenericAll|FullControl" } |
Select-Object IdentityReference, ActiveDirectoryRights, AccessControlType |
Format-Table -AutoSize
Il risultato mostrerà le entità con GenericAll su quel container; prendi le entità che terminano con $ , queste sono i primary site server.
.\C1_AFW.exe write SCCM-CM01.basoss.local 'pwn.cab' .\evil.cab --verbose
L'exploit abilita l'account Administrator RID 500 se disabilitato, lo rinomina in omrispy con la password Xm#Poc-2026!Adm1n$Ok. Registra inoltre le modifiche apportate dall'exploit e il nome precedente che aveva l'account Administrator RID 500, così puoi ripristinare tutto allo stato originale. I log vengono salvati nel percorso C:\POC.txt sul Primary Site Server vittima.
Il caricamento della DLL avviene ogni 5 minuti, quindi aspettati un po' di ritardo tra l'avvio dell'exploit e la visualizzazione effettiva dei risultati; questo comportamento è stato osservato usando Procmon64.exe.
Dopo un'exploit riuscito è necessario:
adsource.dll (che è malevola) e rinominare adsource_original.dll in adsource.dllPer informazioni più dettagliate sull'exploit puoi leggere il mio articolo completo al riguardo.
Questo proof-of-concept ("PoC") è fornito esclusivamente per ricerca di sicurezza legittima, scopi educativi e test di sicurezza autorizzati.
Utilizza questo software solo su sistemi di tua proprietà o per i quali hai esplicita autorizzazione a eseguire i test specifici condotti. L'accesso non autorizzato a sistemi informatici è severamente proibito.
Utilizzando questo software, accetti che:
Ti assumi la piena responsabilità delle tue azioni e di qualsiasi conseguenza derivante dall'uso di questo PoC; non sono responsabile delle tue azioni