Unter Privilegieneskalation versteht man die Nutzung der aktuellen Kontorechte eines Angreifers, um zusätzliche, meist höhere Zugriffsebenen auf das System zu erlangen. Während eine Privilegienausweitung das Ergebnis von Zero-Day-Exploits, meisterhaften Hackern, die einen gezielten Angriff starten, oder geschickt getarnter Malware sein kann, ist sie am häufigsten auf eine Fehlkonfiguration des Computers oder Kontos zurückzuführen. Bei der Weiterentwicklung des Angriffs nutzen Angreifer eine Reihe einzelner Schwachstellen aus, die zusammen zu einem katastrophalen Datenleck führen können.
Warum sollten Benutzer keine lokalen Administratorrechte haben?
Wenn Sie ein Sicherheitsexperte sind, mag es offensichtlich erscheinen, dass Benutzer keine lokalen Administratorrechte haben sollten, da Folgendes gilt:
- Macht ihre Konten anfälliger für verschiedene Angriffe
- Macht dieselben Angriffe viel schwerwiegender
Leider ist dies für viele Organisationen immer noch ein sehr kontroverses Thema und wird teilweise von hitzigen Diskussionen begleitet (siehe z. B.
Schritt 1: Umkehren der DNS-Namensauflösung mit PowerShell
Standardmäßig ist PowerShell auf vielen lokalen Workstations und auf den meisten Windows-Servern installiert. Und obwohl es nicht ohne Übertreibung als unglaublich nützliches Automatisierungs- und Steuerungstool gilt, ist es dennoch in der Lage, sich in ein nahezu unsichtbares Werkzeug zu verwandeln
In unserem Fall beginnt der Angreifer mit der Netzwerkerkundung mithilfe eines PowerShell-Skripts, durchläuft nacheinander den IP-Adressraum des Netzwerks und versucht herauszufinden, ob eine bestimmte IP in einen Host aufgelöst wird, und wenn ja, wie der Netzwerkname dieses Hosts lautet.
Es gibt viele Möglichkeiten, diese Aufgabe zu erledigen, aber die Verwendung des Cmdlets
import-module activedirectory Get-ADComputer -property * -filter { ipv4address -eq ‘10.10.10.10’}
Wenn die Geschwindigkeit in großen Netzwerken ein Problem darstellt, kann ein Reverse-DNS-Systemaufruf verwendet werden:
[System.Net.Dns]::GetHostEntry(‘10.10.10.10’).HostName
Diese Methode zum Aufzählen von Hosts in einem Netzwerk ist sehr beliebt, da die meisten Netzwerke kein Zero-Trust-Sicherheitsmodell verwenden und interne DNS-Abfragen nicht auf verdächtige Aktivitätsspitzen überwachen.
Schritt 2: Wählen Sie ein Ziel aus
Das Endergebnis dieses Schritts besteht darin, eine Liste der Server- und Workstation-Hostnamen zu erhalten, die zur Fortsetzung des Angriffs verwendet werden können.
Dem Namen nach scheint der „HUB-FILER“-Server ein würdiges Ziel zu sein Im Laufe der Zeit neigen Dateiserver dazu, eine große Anzahl von Netzwerkordnern anzusammeln und zu viele Personen übermäßig darauf zuzugreifen.
Durch das Durchsuchen mit dem Windows Explorer können wir feststellen, dass ein freigegebener Ordner geöffnet ist, unser aktuelles Konto jedoch nicht darauf zugreifen kann (wir haben wahrscheinlich nur Listenrechte).
Schritt 3: Erlernen der ACL
Jetzt können wir auf unserem HUB-FILER-Host und unserer Zielfreigabe das PowerShell-Skript ausführen, um die ACL abzurufen. Wir können dies vom lokalen Computer aus tun, da wir bereits über lokale Administratorrechte verfügen:
(get-acl hub-filershare).access | ft IdentityReference,FileSystemRights,AccessControlType,IsInherited,InheritanceFlags –auto
Ausführungsergebnis:
Daraus sehen wir, dass die Gruppe „Domänenbenutzer“ nur Zugriff auf die Liste hat, die Gruppe „Helpdesk“ jedoch auch Bearbeitungsrechte hat.
Schritt 4: Kontoidentifizierung
Betrieb
Get-ADGroupMember -identity Helpdesk
In dieser Liste sehen wir das Computerkonto, das wir bereits identifiziert haben und auf das wir bereits zugegriffen haben:
Schritt 5: Verwenden Sie PSExec zur Ausführung als Computerkonto
PsExec.exe -s -i cmd.exe
Dann haben Sie vollen Zugriff auf den Zielordner HUB-FILERshareHR, da Sie im Kontext des Computerkontos HUB-SHAREPOINT arbeiten. Und mit diesem Zugriff können Daten auf ein tragbares Speichergerät kopiert oder auf andere Weise abgerufen und über das Netzwerk übertragen werden.
Schritt 6: Diesen Angriff erkennen
Diese besondere Schwachstelle bei der Konfiguration von Kontoberechtigungen (Computerkonten greifen auf Netzwerkfreigaben statt auf Benutzerkonten oder Dienstkonten zu) kann entdeckt werden. Ohne die richtigen Werkzeuge ist dies jedoch sehr schwierig zu bewerkstelligen.
Um diese Kategorie von Angriffen zu erkennen und zu verhindern, können wir verwenden
Der Screenshot unten zeigt eine benutzerdefinierte Benachrichtigung, die immer dann ausgelöst wird, wenn ein Computerkonto auf Daten auf dem überwachten Server zugreift.
Nächste Schritte mit PowerShell
Möchten Sie mehr wissen? Benutzen Sie den Freischaltcode „Blog“, um kostenlosen Zugang zum Vollinhalt zu erhalten
Source: habr.com