Verwendung von PowerShell zur Erhöhung der Berechtigungen lokaler Konten

Verwendung von PowerShell zur Erhöhung der Berechtigungen lokaler Konten

Das Erhöhen von Rechten ist die Nutzung der aktuellen Kontorechte durch einen Angreifer, um zusätzlichen, in der Regel höheren Zugriff auf das System zu erlangen. Obwohl das Erhöhen von Rechten das Ergebnis der Ausnutzung von Zero-Day-Schwachstellen oder der Arbeit erstklassiger Hacker sein kann, die gezielte Angriffe durchführen, geschieht es in den meisten Fällen aufgrund von Fehlkonfigurationen des Computers oder des Kontos. Wenn die Attacke weitergeführt wird, nutzen die Angreifer eine Reihe separater Schwachstellen aus, was zusammen zu einer katastrophalen Datenleckage führen kann.

Warum sollten Benutzer keine lokalen Administratorrechte haben?

Wenn Sie ein Sicherheitsspezialist sind, mag es offensichtlich erscheinen, dass Benutzer keine lokalen Administratorrechte haben sollten, da dies:

  • Ihre Konten anfälliger für verschiedene Angriffe macht
  • Diese Angriffe erheblich schwerwiegender macht

Leider ist dies für viele Organisationen nach wie vor ein sehr umstrittenes Thema und ist häufig mit lebhaften Diskussionen verbunden (siehe beispielsweise mein Vorgesetzter sagt, dass alle Benutzer lokale Administratoren sein sollten). Ohne auf die Einzelheiten dieser Diskussion einzugehen, halten wir es für gegeben, dass ein Angreifer Administratorrechte auf dem untersuchten System erlangt hat: entweder durch einen Exploit oder weil die Maschinen nicht ausreichend geschützt wurden.

Schritt 1. Rückwärtsauflösung von DNS-Namen über PowerShell

Standardmäßig ist PowerShell auf vielen lokalen Arbeitsstationen und den meisten Windows-Servern installiert. Und obwohl es nicht ohne Übertreibung als äußerst nützliches Automatisierungs- und Verwaltungstool angesehen wird, kann es ebenso gut zu einer fast unsichtbaren fileless-Malware (ein Programm zum Hacken, das keine Spuren des Angriffs hinterlässt).

In unserem Fall beginnt der Angreifer, eine Netzwerk-Reconnaissance mit einem PowerShell-Skript durchzuführen, indem er schrittweise den IP-Adressraum des Netzwerks durchläuft und versucht festzustellen, ob diese IP einem Knoten zugeordnet ist und falls ja, wie der Netzwerkname dieses Knotens lautet.
Es gibt viele Möglichkeiten, diese Aufgabe durchzuführen, aber die Verwendung des Cmdlets Get-ADComputer ist eine zuverlässige Option, da es tatsächlich eine umfassende Menge an Daten zu jedem Knoten zurückgibt:

 import-module activedirectory Get-ADComputer -property * -filter { ipv4address -eq '10.10.10.10'}

Falls die Geschwindigkeit in großen Netzwerken Probleme verursacht, kann ein umgekehrter DNS-Systemaufruf verwendet werden:

[System.Net.Dns]::GetHostEntry('10.10.10.10').HostName

Verwendung von PowerShell zur Erhöhung der Berechtigungen lokaler Konten

Diese Methode zur Auflistung von Knoten im Netzwerk ist sehr beliebt, da die meisten Netzwerke kein Zero-Trust-Sicherheitsmodell verwenden und interne DNS-Anfragen auf verdächtige Aktivitätsanstiege nicht überwachen.

Schritt 2: Zielauswahl

Das Endergebnis dieses Schrittes ist die Erfassung einer Liste von Hostnamen von Servern und Arbeitsstationen, die zur Fortsetzung des Angriffs verwendet werden kann.

Verwendung von PowerShell zur Erhöhung der Berechtigungen lokaler Konten

Anhand des Namens scheint der Server 'HUB-FILER' ein lohnendes Ziel zu sein, da Datei-Server im Laufe der Zeit in der Regel eine große Anzahl von Netzwerkmappen und übermäßigen Zugriff für zu viele Personen anhäufen.

Die Ansicht über den Windows Explorer ermöglicht es uns, das Vorhandensein eines offenen gemeinsamen Ordners festzustellen, aber unser aktuelles Konto hat möglicherweise keinen Zugriff darauf (wahrscheinlich haben wir nur Berechtigungen zur Auflistung).

Schritt 3: Überprüfung der ACLs

Jetzt können wir auf unserem Host HUB-FILER und im Zielordner share ein PowerShell-Skript ausführen, um die Liste der ACLs zu erhalten. Wir können dies von der lokalen Maschine aus tun, da wir bereits über lokale Administratorrechte verfügen:

(get-acl hub-filershare).access | ft IdentityReference,FileSystemRights,AccessControlType,IsInherited,InheritanceFlags –auto

Ergebnis:

Verwendung von PowerShell zur Erhöhung der Berechtigungen lokaler Konten

Daraus sehen wir, dass die Gruppe Domänenbenutzer nur auf die Auflistung zugreifen kann, während die Gruppe Helpdesk auch Änderungsrechte hat.

Schritt 4: Identifizierung der Konten

Nachdem wir Get-ADGroupMember, werden wir alle Mitglieder dieser Gruppe erhalten können:

Get-ADGroupMember -identity Helpdesk

Verwendung von PowerShell zur Erhöhung der Berechtigungen lokaler Konten

In dieser Liste sehen wir das Computer-Konto, das wir bereits identifiziert haben und zu dem wir bereits Zugang erhalten haben:

Verwendung von PowerShell zur Erhöhung der Berechtigungen lokaler Konten

Schritt 5: Verwendung von PSExec für die Ausführung unter dem Computer-Konto

PsExec von Microsoft Sysinternals ermöglicht es, Befehle im Kontext des Systemkontos SYSTEM@HUB-SHAREPOINT auszuführen, das, wie wir wissen, Mitglied der Zielgruppe Helpdesk ist. Das heißt, wir müssen nur folgendes ausführen:

PsExec.exe -s -i cmd.exe

Nun haben Sie vollen Zugriff auf den Zielordner HUB-FILERshareHR, da Sie im Kontext des Computer-Kontos HUB-SHAREPOINT arbeiten. Mit diesem Zugriff können Daten auf ein tragbares Speichermedium kopiert oder auf andere Weise extrahiert und über das Netzwerk übertragen werden.

Schritt 6: Erkennung dieses Angriffs

Diese spezifische Schwachstelle in der Berechtigungseinstellung von Konten (Computer-Konten, die auf gemeinsame Netzwerkordner zugreifen, anstatt Benutzerkonten oder Dienstkonten zu verwenden) kann erkannt werden. Ohne die richtigen Werkzeuge ist dies jedoch sehr schwierig.

Um diese Art von Angriffen zu erkennen und zu verhindern, können wir DatAdvantage verwenden, um Gruppen mit Computer-Konten zu identifizieren und dann den Zugriff auf diese zu sperren. DatAlert geht weiter und ermöglicht es, eine Benachrichtigung speziell für ein solches Szenario zu erstellen.

Im Screenshot unten ist die Benutzerbenachrichtigung zu sehen, die jedes Mal ausgelöst wird, wenn ein Computer-Konto auf Daten auf dem überwachten Server zugreift.

Verwendung von PowerShell zur Erhöhung der Berechtigungen lokaler Konten

Die nächsten Schritte mit PowerShell

Möchten Sie mehr erfahren? Verwenden Sie den Entsperrcode „blog“ für kostenlosen Zugang zum vollständigen PowerShell-Videokurs und Grundlagen von Active Directory.

Quelle: habr.com

Zuverlässiges Hosting für Websites mit DDoS-Schutz kaufen, VPS VDS Server 🔥 Zuverlässiges Hosting für Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster