CVE-2021-1675 ist eine kritische Sicherheitslücke bezüglich Remotecodeausführung und lokaler Rechteausweitung mit dem Namen „PrintNightmare“.
Es wurden Proof-of-Concept-Exploits (Python, C++) für die Remote-Code-Ausführungsfunktion und eine C#-Version für die Eskalation lokaler Berechtigungen veröffentlicht. Wir hatten keine native Implementierung in reinem PowerShell gesehen und wollten versuchen, den Exploit zu verfeinern und neu zu gestalten.
Dieses PowerShell-Skript führt eine lokale Privilegieneskalation (LPE) mit der PrintNightmare-Angriffstechnik durch.
Dies wurde auf Windows Server 2016 und Windows Server 2019 getestet.
Fügen Sie standardmäßig einen neuen Benutzer zur lokalen Administratorengruppe hinzu:
Import-Modul .cve-2021-1675.ps1 Invoke-Nightmare # Benutzer „adm1n“/„P@ssw0rd“ standardmäßig zur lokalen Administratorgruppe hinzufügenInvoke-Nightmare -DriverName „Xerox“ -NewUser „deb“ -NewPassword „SuperSecure“
Stellen Sie eine benutzerdefinierte DLL-Nutzlast bereit, um alles andere tun zu können, was Sie möchten.
Import-Modul .cve-2021-1675.ps1 Invoke-Nightmare -DLL „C:absolutepathtoyourbindshell.dll“
Die LPE-Technik muss nicht mit Remote-RPC oder SMB funktionieren, da sie nur mit den Funktionen des Druckspoolers arbeitet.
Dieses Skript bettet eine Base64-codierte GZIP-Nutzlast für eine benutzerdefinierte DLL ein, die entsprechend Ihren Argumenten gepatcht wird, um auf einfache Weise einen neuen Benutzer zur lokalen Administratorengruppe hinzuzufügen.
Dieses Skript bettet Methoden von PowerSploit/PowerUp ein, um reflektierend auf die Win32-APIs zuzugreifen.
Diese Methode durchläuft nicht alle Druckertreiber, um den entsprechenden DLL-Pfad zu finden – sie greift einfach auf den ersten Treiber zurück und ermittelt den entsprechenden Pfad.