Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
PrivescCheck — Skript zur Aufzählung von Privilegieneskalation für Windows | Kitploit
Tools/GitHubGitHub/itm4n/privesccheck
Privilege EscalationSchwachstellenanalyseKonfigurationsprüfungInformationsbeschaffungPost-ExploitationPenetrationstestsTop in Post-Exploitation Nr.16Top in Privilege Escalation Nr.2
GitHub
3.9k507271vor 13 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
itm4n/privesccheck

PrivescCheck

Skript zur Aufzählung von Privilegieneskalation für Windows

Repository anzeigen
# PrivescCheck

Identifizieren Sie schnell gängige Windows-**Schwachstellen** und **Konfigurationsprobleme**, die nicht unbedingt von öffentlichen Sicherheitsstandards abgedeckt werden, und sammeln Sie nützliche Informationen für Exploitation- und Post-Exploitation-Aufgaben.

> [!IMPORTANT]
> Ein wichtiger Aspekt bei der Verwendung dieses Tools ist, dass alle Zugriffskontrollprüfungen im Kontext des aktuellen Benutzers durchgeführt werden. Wenn es daher mit Administratorrechten ausgeführt wird, werden viele Schwachstellenprüfungen übersprungen, um die Erzeugung falscher Ergebnisse zu vermeiden.

## Schnellstart

Laden Sie das Skript hier herunter: [PrivescCheck.ps1](https://github.com/itm4n/PrivescCheck/releases/latest/download/PrivescCheck.ps1)

> [!TIP]
> Der obige Link kann auch direkt in einem PowerShell-Terminal mit `(New-Object Net.WebClient).DownloadString(...)` verwendet werden.

### Anwendungsfall 1: Schnelle Bewertung

```bat
powershell -ep bypass -c ". .\PrivescCheck.ps1; Invoke-PrivescCheck -Report TXT,HTML"
```

### Anwendungsfall 2: Umfangreiche Bewertung

```bat
powershell -ep bypass -c ". .\PrivescCheck.ps1; Invoke-PrivescCheck -Extended -Report TXT,HTML"
```

### Anwendungsfall 3: Umfassende Bewertung

```bat
powershell -ep bypass -c ". .\PrivescCheck.ps1; Invoke-PrivescCheck -Extended -Audit -Report ALL"
```

## Detaillierte Verwendung

```txt
Invoke-PrivescCheck [-Extended] [-Audit] [-Risky] [-Report <FORMAT>[,...]]
    [-FilePath <PREFIX>]  [-Silent] [-Force]

    -Extended
        Alle "erweiterten" Prüfungen in den Scan einbeziehen.

    -Audit
        Alle "Audit"-Prüfungen in den Scan einbeziehen.

    -Risky
        Alle "riskanten" Prüfungen in den Scan einbeziehen. Dies sind Prüfungen,
        die aufgrund ihres Verhaltens wahrscheinlich aktive EDR-Gegenmaßnahmen
        auslösen.

    -Report <FORMAT>[,...]
        Geben Sie die Dateiformate für den Ausgabebericht an (TXT, HTML, CSV, XML).
        Verwenden Sie den Alias 'ALL', um alle Berichtsdateien zu generieren.
        Standardmäßig wird der Ausgabedateiname automatisch generiert. Verwenden
        Sie die Option '-FilePath', um einen explizit anzugeben.

    -FilePath <PREFIX>
        Geben Sie den Dateinamen oder das Verzeichnis für den Ausgabebericht an.
        Die Dateierweiterung wird automatisch angehängt. Wenn ein Verzeichnispfad
        angegeben wird, wird der Dateiname zur Laufzeit automatisch generiert.

    -Silent
        Terminalausgabe unterdrücken. Dies kann nützlich sein, wenn Sie das Skript
        als Teil einer Batchdatei ausführen möchten, beispielsweise in einer
        geplanten Aufgabe.

    -Force
        Ausführung erzwingen und Warnungen ignorieren. Normalerweise stoppt das
        Skript, wenn es mit Administratorrechten ausgeführt wird. Verwenden Sie
        diese Option, um es trotzdem auszuführen.
```

## Berichtsdateiformate

### Berichtsdateiformat > TXT

Verwenden Sie die Option `-Report TXT`, um einen **Roh-Textbericht** zu generieren. Die Ausgabe ähnelt der Terminalausgabe, enthält jedoch nur ASCII-Zeichen für bessere Kompatibilität mit Texteditoren.

![Screenshot eines von PrivescCheck generierten Roh-Textberichts](https://assets.kitploit.com/production/public/readmes/411/39eb4cd266494c6b5915b90198f886309702269a1140a9b5f6e9f20d5359bdea.png)

### Berichtsdateiformat > HTML

Verwenden Sie die Option `-Report HTML`, um einen **HTML-Bericht** zu generieren. Die Ausgabedatei kann in einem Webbrowser geöffnet werden. Es ist keine Internetverbindung erforderlich, da keine externen Abhängigkeiten bestehen. Sie ist bequemer für die Visualisierung der Daten als der Roh-Textbericht. Darüber hinaus bietet sie **Sortier-** und **Filterfunktionen**!

![Screenshot eines von PrivescCheck generierten HTML-Berichts](https://assets.kitploit.com/production/public/readmes/411/cd685587f4b72a5bd0e5d2cee66a30781da90d21f57d5f72e3c47642f9357eb5.png)

### Berichtsdateiformat > CSV oder XML

Verwenden Sie die Option `-Report CSV` oder `-Report XML`, um einen **CSV- oder XML-Bericht** zu generieren. Die Ausgabedatei soll die Auswertung der Ergebnisse durch automatisierte Reporting-Tools erleichtern.

> [!NOTE]
> Obwohl das Ausgabeformat (noch) nicht dokumentiert ist, können Sie es leicht herausfinden, indem Sie die Struktur einer bereits generierten Datei analysieren. Sie können den `Id`-Wert jeder Prüfung als eindeutigen Bezeichner verwenden.

## Prüfungstypen

### Prüfungstyp > Base

Prüfungen vom Typ `Base` werden immer ausgeführt, es sei denn, das Skript wird als Administrator ausgeführt. Sie dienen hauptsächlich der Identifizierung von Privilegieneskalations-Schwachstellen oder anderen wichtigen Problemen.

### Prüfungstyp > Extended

Prüfungen vom Typ `Extended` können nur ausgeführt werden, wenn die Option `-Extended` in der Befehlszeile angegeben wird. Sie dienen hauptsächlich der Bereitstellung zusätzlicher Informationen, die für die Exploit-Entwicklung oder Post-Exploitation nützlich sein könnten.

### Prüfungstyp > Audit

Prüfungen vom Typ `Audit` können nur ausgeführt werden, wenn die Option `-Audit` in der Befehlszeile angegeben wird. Sie dienen hauptsächlich der Bereitstellung von Informationen, die im Kontext eines Konfigurationsaudits relevant sind.

## Tipps & Tricks

### PowerShell-Ausführungsrichtlinie

Standardmäßig ist die PowerShell-[Ausführungsrichtlinie](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies) auf Clients auf `Restricted` und auf Servern auf `RemoteSigned` gesetzt, wenn ein neuer `powershell.exe`-Prozess gestartet wird. Diese Richtlinien blockieren die Ausführung von (nicht signierten) Skripten, können jedoch im aktuellen Bereich wie folgt außer Kraft gesetzt werden.

```powershell
Set-ExecutionPolicy Bypass -Scope Process -Force
. .\PrivescCheck.ps1
```

Dieser Trick funktioniert jedoch nicht, wenn die Ausführungsrichtlinie durch eine GPO erzwungen wird. In diesem Fall können Sie das Skript nach dem Start einer neuen PowerShell-Sitzung wie folgt laden.

```powershell
Get-Content .\PrivescCheck.ps1 | Out-String | Invoke-Expression
```

### PowerShell Version 2

Eine gängige Methode zur Umgehung des [Constrained Language Mode](https://devblogs.microsoft.com/powershell/powershell-constrained-language-mode/) besteht in der Verwendung von PSv2, da dieser Schutz nicht implementiert ist. Daher fließt ein erheblicher Teil des Entwicklungsaufwands in die Aufrechterhaltung dieser Retro-Kompatibilität.

> [!NOTE]
> Obwohl PowerShell Version 2 ~~standardmäßig auf neueren Windows-Versionen noch aktiviert ist~~ ([PowerShell 2.0 removal from Windows](https://support.microsoft.com/en-us/topic/powershell-2-0-removal-from-windows-fe6d1edc-2ed2-4c33-b297-afe82a64200a)), kann es ohne das .Net Framework Version 2.0 nicht ausgeführt werden, was eine manuelle Installation erfordert.

### Metasploit-Timeout

Wenn Sie dieses Skript innerhalb einer Meterpreter-Sitzung ausführen, erhalten Sie wahrscheinlich einen "Timeout"-Fehler. Dies liegt daran, dass Metasploit einen Standard-Timeout-Wert von 15 Sekunden verwendet, was für eine typische Ausführung des Skripts nicht ausreicht.

```console
meterpreter > load powershell
Loading extension powershell...Success.
meterpreter > powershell_import /local/path/to/PrivescCheck.ps1
[+] File successfully imported. No result was returned.
meterpreter > powershell_execute "Invoke-PrivescCheck"
[-] Error running command powershell_execute: Rex::TimeoutError Operation timed out.
```

Es ist möglich, einen anderen Timeout-Wert über die Option `-t` des Befehls `sessions` festzulegen ([Dokumentation](https://www.offensive-security.com/metasploit-unleashed/msfconsole-commands/)). Im folgenden Beispiel wird ein Timeout von 2 Minuten für die Sitzung mit der ID `1` festgelegt, aber Sie möchten möglicherweise einen noch höheren Wert festlegen.

```console
msf6 exploit(multi/handler) > sessions -t 120 -i 1
[*] Starting interaction with 1...
meterpreter > powershell_execute "Invoke-PrivescCheck"
```

## Build

### Aktualisieren der Daten

Einige der Prüfungen basieren auf Online-Daten (*z. B.* LOL-Treiberdatenbank), aber das Skript ist für die Offline-Nutzung vorgesehen. Um dieses Problem zu lösen, sind die Daten in das Skript eingebettet und müssen daher regelmäßig aktualisiert werden. Dieser Prozess ist im offiziellen Release vollständig automatisiert, aber wenn Sie das Skript lokal erstellen möchten, können Sie dies optional manuell tun.

```bat
powershell -ep bypass ". .\build\Build.ps1; Update-LolDriverFile"
```

### Erstellen des Skripts

Das Erstellen des Skripts ist so einfach wie das Ausführen des folgenden Befehls. Die Ausgabedatei wird im Ordner `.\dist\` gespeichert.

```bat
powershell -ep bypass ". .\build\Build.ps1; Invoke-Build -Name PrivescCheck"
```

Das Build-Skript verwendet einen Pseudozufallszahlengenerator mit einem zufällig generierten **Seed**, um einen Variablennamen für jedes Modul auszuwählen. Wenn Sie reproduzierbare Ergebnisse über Builds hinweg generieren möchten, können Sie den zuvor generierten **Seed** wiederverwenden, indem Sie die Option `-NoNewSeed` verwenden.

```bat
powershell -ep bypass ". .\build\Build.ps1; Invoke-Build -Name PrivescCheck -NoNewSeed"
```

## Credits

- Wortliste - [CBHue/PyFuscation](https://github.com/CBHue/PyFuscation)
- Liste bekannter anfälliger Treiber - [https://www.loldrivers.io/](https://www.loldrivers.io/)
Tool herunterladen