
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) zugewiesen wurde. Sie kombiniert fehlerhafte Zugriffskontrolle, beliebiges Dateischreiben durch CAB-Extraktionspfad-Traversal, Umgehung der Zertifikatsüberprüfung und DLL-Hijacking, um Codeausführung auf SYSTEM-Ebene zu erreichen.
Dieser Exploit verwendet ein bösartiges CAB, das speziell dafür erstellt wurde, diese CVE auszunutzen; ein CAB wurde von mir für den POC bereitgestellt.
Der Exploit entführt die Ausführung, indem er zwei DLLs unter ..\..\..\..\ vom vorgesehenen Pfad in das Configuration Manager \bin\X64-Installationsverzeichnis platziert. Die Installation von Microsoft Configuration Manager unter einem anderen Pfad spielt keine Rolle, da der Exploit generisch ist und auf jedem Pfad funktioniert, ohne etwas darüber zu wissen.
Die DLL-Namen sind: adsource_original.dll und adsource.dll.
Die "original"-DLL wird verwendet, um einen DLL-Proxy-Angriff durchzuführen und den Exploit zum Laufen zu bringen, OHNE den SMS_EXECUTIVE-Dienst zum Absturz zu bringen.
Alles, was Sie brauchen, ist der IP-/DNS-Name des Primary Site Servers. Obwohl diese Information niemals in Active Directory veröffentlicht wird, können wir sicher davon ausgehen, dass wir sie durch Inspizieren der SDDL über den Container CN=System Management,CN=System ermitteln können. Maschinenkonten mit Vollzugriff auf diesen Container sind üblicherweise 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 Ihnen Entitäten mit GenericAll über diesen Container; nehmen Sie Entitäten mit $ am Ende, dies sind Primary 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 mit dem Passwort Xm#Poc-2026!Adm1n$Ok um. Er protokolliert außerdem die vom Exploit vorgenommenen Änderungen und den vorherigen Namen, den der RID-500-Administrator hatte, damit Sie alles wieder in den ursprünglichen Zustand versetzen können. Die Protokolle werden unter dem Pfad C:\POC.txt auf dem betroffenen Primary Site Server gespeichert.
Das Laden der DLL erfolgt alle 5 Minuten, rechnen Sie also mit einer gewissen Verzögerung zwischen dem Start des Exploits und dem tatsächlichen Eintreten der Ergebnisse. Dieses Verhalten wurde mit Procmon64.exe beobachtet.
Nach erfolgreicher Ausnutzung benötigen Sie:
adsource.dll (welche bösartig ist) und benennen Sie adsource_original.dll in adsource.dll um.Für detailliertere Informationen über den Exploit können Sie meinen vollständigen Artikel darüber lesen.
Dieses Proof-of-Concept ("PoC") wird ausschließlich für legitime Sicherheitsforschung, Bildungszwecke und autorisierte Sicherheitstests bereitgestellt.
Verwenden Sie diese Software nur auf Systemen, die Ihnen gehören oder für die Sie ausdrückliche Genehmigung haben, die spezifischen durchgeführten Tests durchzuführen. Unbefugter Zugriff auf Computersysteme ist strengstens verboten.
Durch die Verwendung dieser Software stimmen Sie zu, dass:
Sie übernehmen die volle Verantwortung für Ihre Handlungen und alle Konsequenzen, die sich aus der Verwendung dieses PoC ergeben. Ich bin nicht für Ihre Handlungen verantwortlich.