
Proof-of-concept-Exploitkette (CVE-2026-47301) für Microsoft Configuration Manager (SCCM), die eine fehlerhafte Zugriffskontrolle, eine CAB-Pfadtraversal-Schwachstelle mit beliebigem Schreiben, eine Umgehung der Zertifikatsprüfung und DLL-Hijacking kombiniert, um eine Codeausführung auf SYSTEM-Ebene zu erreichen.
Proof-of-concept-Exploit-Kette, die ich entdeckt habe und die als CVE-2026-47301 für Microsoft Configuration Manager (SCCM) eingestuft wurde. Sie kombiniert fehlerhafte Zugriffskontrolle, CAB-Extraktions-Pfad-Traversal zum beliebigen Schreiben von Dateien, Umgehung der Zertifikatsprüfung und DLL-Hijacking, um Codeausführung mit SYSTEM-Rechten zu erreichen.
Dieser Exploit verwendet eine bösartige CAB-Datei, die speziell dafür erstellt wurde, diese CVE auszunutzen. Eine CAB-Datei wurde von mir für den PoC bereitgestellt.
Der Exploit übernimmt die Ausführung, indem er zwei DLLs unter ..\..\..\..\ vom vorgesehenen Pfad in das Installationsverzeichnis \bin\X64 des Configuration Managers platziert. Eine Installation von Microsoft Configuration Manager in einem anderen Pfad spielt keine Rolle, da der Exploit generisch funktioniert und keine Kenntnis über den Pfad benötigt.
Die Namen der DLLs lauten: adsource_original.dll und adsource.dll.
Die „Original“-DLL wird verwendet, um einen DLL-Proxy-Angriff durchzuführen und den Exploit funktionsfähig zu machen, ohne den SMS_EXECUTIVE-Dienst zum Absturz zu bringen.
Alles, was du benötigst, ist die IP-/DNS-Adresse des Primary Site Servers. Obwohl diese Informationen nie in Active Directory veröffentlicht werden, können wir sie sicher ableiten, indem wir die SDDL des Containers CN=System Management,CN=System überprüfen. Maschinenkonten mit voller Kontrolle über diesen Container sind in der Regel die 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
Das Ergebnis zeigt dir Entitäten mit GenericAll über diesen Container. Nimm die Entitäten mit $ am Ende, das sind die primären Site-Server.
.\C1_AFW.exe write SCCM-CM01.basoss.local 'pwn.cab' .\evil.cab --verbose
Der Exploit aktiviert das RID-500-Administratorkonto, falls es deaktiviert ist, benennt es in omrispy um und setzt das Passwort auf Xm#Poc-2026!Adm1n$Ok. Er protokolliert außerdem die vom Exploit vorgenommenen Änderungen sowie den vorherigen Namen des RID-500-Administratorkontos, damit du alles wieder in den ursprünglichen Zustand versetzen kannst. Die Protokolle werden unter C:\POC.txt auf dem betroffenen Primary Site Server gespeichert.
Das Laden der DLL erfolgt alle 5 Minuten; daher solltest du eine gewisse Verzögerung zwischen dem Starten des Exploits und dem tatsächlichen Eintreten der Ergebnisse einplanen. Dieses Verhalten wurde mit Procmon64.exe beobachtet.
Nach erfolgreicher Ausnutzung benötigst du:
adsource.dll (diese ist schädlich) und benenne adsource_original.dll in adsource.dll um.POC.txt protokolliert wurde. Die Wiederherstellung des alten Passworts liegt nicht außerhalb des Rahmens dieses PoC; passe es an, wenn du möchtest, dass dies geschieht.Für detailliertere Informationen zu diesem Exploit kannst du meinen vollständigen Artikel darüber lesen.
Dieses Proof-of-Concept („PoC“) wird ausschließlich für legitime Sicherheitsforschung, Bildungszwecke und autorisierte Sicherheitstests bereitgestellt.
Verwende diese Software nur auf Systemen, die dir gehören oder für die du ausdrücklich die Erlaubnis hast, die jeweiligen Tests durchzuführen. Unbefugter Zugriff auf Computersysteme ist strengstens untersagt.
Durch die Verwendung dieser Software stimmst du Folgendem zu:
Du übernimmst die volle Verantwortung für deine Handlungen und alle Konsequenzen, die sich aus der Nutzung dieses PoC ergeben; ich bin nicht für deine Handlungen verantwortlich.