Verwenden von PowerShell zum Erhöhen der Berechtigungen für lokale Konten



Die Eskalation von Berechtigungen ist die Verwendung der Rechte des aktuellen Kontos durch einen Angreifer, um einen zusätzlichen, normalerweise höheren Zugriff auf das System zu erhalten. Trotz der Tatsache, dass die Eskalation von Berechtigungen das Ergebnis der Ausnutzung von Zero-Day-Schwachstellen oder der Arbeit erstklassiger Hacker sein kann, die einen gezielten Angriff ausführen, oder einer korrekt getarnten Malware, geschieht dies jedoch meistens aufgrund einer falschen Konfiguration des Computers oder Kontos. Bei der Weiterentwicklung des Angriffs nutzen Angreifer eine Reihe separater Sicherheitslücken aus, die zusammen zu einem katastrophalen Datenleck führen können.

Warum sollten Benutzer keine lokalen Administratorrechte haben?


Wenn Sie ein Sicherheitsspezialist sind, kann es offensichtlich sein, dass Benutzer keine lokalen Administratorrechte haben sollten, wie folgt:

  • Macht ihre Konten anfälliger für verschiedene Angriffe.
  • Macht diese Angriffe viel ernster.

Leider ist dies für viele Organisationen immer noch ein sehr kontroverses Thema und wird manchmal von heftigen Diskussionen begleitet (siehe zum Beispiel mein Manager sagt, dass alle Benutzer lokale Administratoren sein müssen ). Ohne auf die Details dieser Diskussion einzugehen, glauben wir, dass der Angreifer die Rechte eines lokalen Administrators auf dem untersuchten System erhalten hat: entweder durch einen Exploit oder weil die Computer nicht ordnungsgemäß geschützt wurden.

Schritt 1. Reverse DNS-Namensauflösung über PowerShell


Standardmäßig wird PowerShell auf vielen lokalen Arbeitsstationen und auf den meisten Windows-Servern installiert. Obwohl nicht ohne Übertreibung, wird es als unglaublich nützliches Automatisierungs- und Steuerungswerkzeug angesehen. Es kann sich auch in eine fast unsichtbare fileless Malware verwandeln (ein Hacking-Programm, das keine Spuren eines Angriffs hinterlässt).

In unserem Fall beginnt der Angreifer mit der Netzwerkaufklärung mithilfe des PowerShell-Skripts, indem er den IP-Adressraum des Netzwerks nacheinander sortiert und versucht, festzustellen, ob diese IP für den Host zulässig ist, und wenn ja, wie lautet der Netzwerkname dieses Hosts.
Es gibt viele Möglichkeiten, diese Aufgabe auszuführen. Die Verwendung des Cmdlets Get-ADComputer ist jedoch eine zuverlässige Option, da für jeden Knoten ein wirklich umfangreiches Dataset zurückgegeben wird:

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

Wenn die Arbeitsgeschwindigkeit in großen Netzwerken Probleme verursacht, kann der DNS-Systemrückruf verwendet werden:

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




Diese Methode zum Auflisten von Knoten in einem Netzwerk ist sehr beliebt, da die meisten Netzwerke kein Sicherheitsmodell ohne Vertrauen verwenden und keine internen DNS-Anforderungen für verdächtige Aktivitätsspitzen verfolgen.

Schritt 2: Zielauswahl


Das Endergebnis dieses Schritts besteht darin, eine Liste der Server- und Workstation-Hostnamen abzurufen, mit denen der Angriff fortgesetzt werden kann.



Dem Namen nach zu urteilen, scheint der Server 'HUB-FILER' ein würdiges Ziel zu sein, weil Im Laufe der Zeit neigen Dateiserver dazu, eine große Anzahl von Netzwerkordnern anzusammeln und zu vielen Personen übermäßigen Zugriff darauf zu gewähren.

Durch das Anzeigen mit Windows Explorer können wir feststellen, ob ein freigegebener Ordner geöffnet ist, unser aktuelles Konto jedoch nicht darauf zugreifen kann (wahrscheinlich haben wir nur Rechte zum Auflisten).

Schritt 3: Lernen Sie die ACL


Jetzt können wir auf unserem HUB-FILER-Host und dem Zielfreigabeordner das PowerShell-Skript ausführen, um die ACL abzurufen. Wir können dies vom lokalen Computer aus tun, da wir bereits lokale Administratorrechte haben:

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


Ausführungsergebnis:



Daraus geht hervor, dass die Gruppe "Domänenbenutzer" nur Zugriff auf die Auflistung hat, die Helpdesk-Gruppe jedoch auch das Recht hat, Änderungen vorzunehmen.

Schritt 4: Identifizieren Sie Konten


Durch Ausführen von Get-ADGroupMember können wir alle Mitglieder dieser Gruppe abrufen :

 Get-ADGroupMember -identity Helpdesk 




In dieser Liste sehen wir ein Computerkonto, das wir bereits identifiziert haben und auf das wir bereits zugegriffen haben:



Schritt 5: Verwenden Sie PSExec, um von einem Computerkonto aus zu arbeiten


Mit PsExec von Microsoft Sysinternals können Sie Befehle im Kontext des Systemkontos SYSTEM @ HUB-SHAREPOINT ausführen, das bekanntlich Mitglied der Helpdesk-Task Force ist. Das heißt, es reicht uns, um Folgendes zu leisten:

 PsExec.exe -s -i cmd.exe 

Nun, dann haben Sie vollen Zugriff auf den Zielordner \\ HUB-FILER \ share \ HR, da Sie im Kontext des Computerkontos HUB-SHAREPOINT arbeiten. 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: Erkennen Sie diesen Angriff


Diese besondere Sicherheitsanfälligkeit beim Festlegen von Kontoberechtigungen (Computerkonten, die auf freigegebene Netzwerkordner anstelle von Benutzerkonten oder Dienstkonten zugreifen) kann erkannt werden. Ohne die richtigen Werkzeuge ist dies jedoch sehr schwierig.

Um diese Kategorie von Angriffen zu erkennen und zu verhindern, können wir mit DatAdvantage Gruppen mit Computerkonten identifizieren und dann den Zugriff darauf schließen. DatAlert geht noch weiter und ermöglicht es Ihnen, eine Benachrichtigung speziell für ein solches Szenario zu erstellen.

Der folgende Screenshot zeigt eine Benutzerbenachrichtigung, die jedes Mal ausgelöst wird, wenn ein Computerkonto auf Daten auf einem überwachten Server zugreift.



Nächste Schritte Verwenden von PowerShell


Möchten Sie mehr wissen? Verwenden Sie den Freischaltcode "Blog", um freien Zugriff auf den vollständigen PowerShell-Videokurs und die Active Directory-Grundlagen zu erhalten .

Source: https://habr.com/ru/post/de454160/


All Articles