<summary><strong>Lernen Sie AWS-Hacking von Null auf Held mit</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Arbeiten Sie in einem **Cybersicherheitsunternehmen**? Möchten Sie Ihr **Unternehmen in HackTricks beworben sehen**? Oder möchten Sie Zugriff auf die **neueste Version des PEASS oder HackTricks im PDF-Format** haben? Überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merch**](https://peass.creator-spring.com)
* **Treten Sie der** [**💬**](https://emojipedia.org/speech-balloon/) **Discord-Gruppe** bei (https://discord.gg/hRep4RUj7f) oder der **Telegram-Gruppe** oder **folgen** Sie mir auf **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an das** [**HackTricks-Repo**](https://github.com/carlospolop/hacktricks) **und das** [**HackTricks-Cloud-Repo**](https://github.com/carlospolop/hacktricks-cloud) **einreichen**.
### **Bestes Tool zur Suche nach Windows-Lokalen Privilegienerhöhungsvectoren:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS)
Es gibt verschiedene Dinge in Windows, die **Sie daran hindern könnten, das System aufzulisten**, ausführbare Dateien auszuführen oder sogar **Ihre Aktivitäten zu erkennen**. Sie sollten die folgende **Seite lesen** und alle diese **Abwehrmechanismen****aufzählen**, bevor Sie mit der Privilegienerhöhungsaufzählung beginnen:
Diese [Website](https://msrc.microsoft.com/update-guide/vulnerability) ist nützlich, um detaillierte Informationen über Sicherheitslücken von Microsoft zu suchen. Diese Datenbank enthält mehr als 4.700 Sicherheitslücken und zeigt die **enorme Angriffsfläche**, die eine Windows-Umgebung bietet.
Sie können lernen, wie Sie dies aktivieren unter [https://sid-500.com/2017/11/07/powershell-enabling-transcription-logging-by-using-group-policy/](https://sid-500.com/2017/11/07/powershell-enabling-transcription-logging-by-using-group-policy/)
Einzelheiten zu PowerShell-Pipeline-Ausführungen werden erfasst, einschließlich ausgeführter Befehle, Befehlsaufrufe und Teile von Skripten. Es besteht jedoch die Möglichkeit, dass nicht alle Ausführungsdetails und Ausgabenergebnisse erfasst werden.
Um dies zu aktivieren, befolgen Sie die Anweisungen im Abschnitt "Transkriptdateien" der Dokumentation und wählen Sie **"Modulprotokollierung"** anstelle von **"PowerShell-Transkription"**.
Eine vollständige Aktivitäts- und Inhaltsaufzeichnung der Skriptausführung wird erfasst, um sicherzustellen, dass jeder Codeblock dokumentiert wird, während er ausgeführt wird. Dieser Prozess bewahrt einen umfassenden Prüfpfad jeder Aktivität, der für forensische Untersuchungen und die Analyse bösartigen Verhaltens wertvoll ist. Durch die Dokumentation aller Aktivitäten zum Zeitpunkt der Ausführung werden detaillierte Einblicke in den Prozess bereitgestellt.
Die Ereignisse für den Skriptblock können im Windows-Ereignisprotokoll unter dem Pfad **Anwendungs- und Dienstprotokolle > Microsoft > Windows > PowerShell > Operational** gefunden werden.\
Um diese Schwachstellen auszunutzen, können Sie Tools wie: [Wsuxploit](https://github.com/pimps/wsuxploit), [pyWSUS](https://github.com/GoSecure/pywsus) verwenden - Diese sind MiTM weaponized Exploit-Skripte, um 'gefälschte' Updates in den nicht-SSL-WSUS-Verkehr einzuspeisen.
[**Lesen Sie den vollständigen Bericht hier**](https://www.gosecure.net/blog/2020/09/08/wsus-attacks-part-2-cve-2020-1013-a-windows-10-local-privilege-escalation-1-day/).\
> Wenn wir die Möglichkeit haben, unseren lokalen Benutzerproxy zu ändern, und Windows Updates den in den Einstellungen des Internet Explorers konfigurierten Proxy verwendet, haben wir daher die Möglichkeit, [PyWSUS](https://github.com/GoSecure/pywsus) lokal auszuführen, um unseren eigenen Verkehr abzufangen und Code als erhöhter Benutzer auf unserem Gerät auszuführen.
> Darüber hinaus verwendet der WSUS-Dienst die Einstellungen des aktuellen Benutzers und verwendet auch dessen Zertifikatsspeicher. Wenn wir ein selbstsigniertes Zertifikat für den WSUS-Hostname generieren und dieses Zertifikat in den Zertifikatsspeicher des aktuellen Benutzers hinzufügen, können wir sowohl HTTP- als auch HTTPS-WSUS-Verkehr abfangen. WSUS verwendet keine HSTS-ähnlichen Mechanismen, um eine Vertrauens-auf-ersten-Blick-Typ-Validierung des Zertifikats zu implementieren. Wenn das vom Benutzer präsentierte Zertifikat vertrauenswürdig ist und den richtigen Hostnamen hat, wird es vom Dienst akzeptiert.
Eine **lokale Privilegieneskalation**-Schwachstelle besteht in Windows **Domänen**-Umgebungen unter bestimmten Bedingungen. Diese Bedingungen umfassen Umgebungen, in denen **LDAP-Signierung nicht durchgesetzt wird**, Benutzer über Selbstrechte verfügen, die es ihnen ermöglichen, **Resource-Based Constrained Delegation (RBCD)** zu konfigurieren, und die Fähigkeit für Benutzer, Computer innerhalb der Domäne zu erstellen. Es ist wichtig zu beachten, dass diese **Anforderungen** mit **Standardwerten** erfüllt werden.
Für weitere Informationen zum Ablauf des Angriffs siehe [https://research.nccgroup.com/2019/08/20/kerberos-resource-based-constrained-delegation-when-an-image-change-leads-to-a-privilege-escalation/](https://research.nccgroup.com/2019/08/20/kerberos-resource-based-constrained-delegation-when-an-image-change-leads-to-a-privilege-escalation/)
**Wenn** diese 2 Registrierungen **aktiviert** sind (Wert ist **0x1**), können Benutzer mit beliebigen Berechtigungen `*.msi`-Dateien als NT AUTHORITY\\**SYSTEM** **installieren** (ausführen).
Wenn Sie eine Meterpreter-Sitzung haben, können Sie diese Technik mithilfe des Moduls **`exploit/windows/local/always_install_elevated`** automatisieren.
Verwenden Sie den Befehl `Write-UserAddMSI` von PowerUP, um im aktuellen Verzeichnis eine Windows MSI-Binärdatei zu erstellen, um Berechtigungen zu eskalieren. Dieses Skript schreibt einen vorab kompilierten MSI-Installer, der zur Hinzufügung eines Benutzers/einer Gruppe auffordert (daher benötigen Sie Zugriff auf die GIU):
Lesen Sie dieses Tutorial, um zu lernen, wie Sie einen MSI-Wrapper mit diesen Tools erstellen. Beachten Sie, dass Sie eine "**.bat**"-Datei einpacken können, wenn Sie nur Befehlszeilen ausführen möchten.
* Öffnen Sie **Visual Studio**, wählen Sie **Ein neues Projekt erstellen** und geben Sie "Installer" in das Suchfeld ein. Wählen Sie das Projekt **Setup-Assistent** aus und klicken Sie auf **Weiter**.
* Geben Sie dem Projekt einen Namen, z. B. **AlwaysPrivesc**, verwenden Sie **`C:\privesc`** als Speicherort, wählen Sie **Lösung und Projekt im selben Verzeichnis platzieren** aus und klicken Sie auf **Erstellen**.
* Klicken Sie immer auf **Weiter**, bis Sie zu Schritt 3 von 4 gelangen (Dateien zum Einbeziehen auswählen). Klicken Sie auf **Hinzufügen** und wählen Sie das gerade generierte Beacon-Payload aus. Klicken Sie dann auf **Fertigstellen**.
* Markieren Sie das Projekt **AlwaysPrivesc** im **Lösung Explorer** und ändern Sie in den **Eigenschaften****TargetPlatform** von **x86** auf **x64**.
* Es gibt auch andere Eigenschaften, die Sie ändern können, wie z. B. **Autor** und **Hersteller**, die die installierte App authentischer aussehen lassen können.
* Doppelklicken Sie auf **Anwendungsordner**, wählen Sie Ihre **beacon.exe**-Datei aus und klicken Sie auf **OK**. Dadurch wird sichergestellt, dass das Beacon-Payload ausgeführt wird, sobald der Installer gestartet wird.
* Ändern Sie unter den **Eigenschaften der benutzerdefinierten Aktion****Run64Bit** in **True**.
* Wenn die Warnung `Datei 'beacon-tcp.exe', die auf 'x64' abzielt, nicht mit der Zielplattform des Projekts 'x86' kompatibel ist` angezeigt wird, stellen Sie sicher, dass Sie die Plattform auf x64 festlegen.
**LAPS** ist konzipiert für das **Management von lokalen Administratorpasswörtern**, um sicherzustellen, dass jedes Passwort auf Computern, die einer Domäne beigetreten sind, **eindeutig, zufällig und regelmäßig aktualisiert** wird. Diese Passwörter werden sicher innerhalb des Active Directory gespeichert und können nur von Benutzern abgerufen werden, denen durch ACLs ausreichende Berechtigungen erteilt wurden, um lokale Administratorpasswörter anzuzeigen, wenn sie autorisiert sind.
Ab **Windows 8.1** führte Microsoft einen erweiterten Schutz für die Local Security Authority (LSA) ein, um **Versuche von nicht vertrauenswürdigen Prozessen zu blockieren**, auf ihren Speicher zuzugreifen oder Code einzuspritzen, um das System weiter abzusichern.\
**Anmeldeinformationswächter** wurde in **Windows 10** eingeführt. Sein Zweck ist es, die auf einem Gerät gespeicherten Anmeldeinformationen vor Bedrohungen wie Pass-the-Hash-Angriffen zu schützen.| [**Weitere Informationen zum Anmeldeinformationswächter hier.**](../stealing-credentials/credentials-protections.md#credential-guard)
**Domänenanmeldeinformationen** werden von der **Lokalen Sicherheitsbehörde** (LSA) authentifiziert und von Betriebssystemkomponenten verwendet. Wenn die Anmeldedaten eines Benutzers von einem registrierten Sicherheitspaket authentifiziert werden, werden in der Regel Domänenanmeldeinformationen für den Benutzer erstellt.\
Wenn Sie **einer privilegierten Gruppe angehören, können Sie Berechtigungen eskalieren**. Erfahren Sie mehr über privilegierte Gruppen und wie Sie sie missbrauchen können, um Berechtigungen zu eskalieren:
Zunächst einmal sollten Sie die Prozesse auflisten, um nach Passwörtern in der Befehlszeile des Prozesses zu suchen. Überprüfen Sie, ob Sie eine ausführbare Datei überschreiben können, die gerade ausgeführt wird, oder ob Sie Schreibberechtigungen für den Ordner der ausführbaren Datei haben, um mögliche DLL-Hijacking-Angriffe auszunutzen:
Überprüfen Sie immer, ob möglicherweise [**Electron/CEF/Chromium-Debugger** ausgeführt wird, den Sie missbrauchen könnten, um Berechtigungen zu eskalieren](../../linux-hardening/privilege-escalation/electron-cef-chromium-debugger-abuse.md).
Sie können einen Speicherdump eines laufenden Prozesses mithilfe von **procdump** von Sysinternals erstellen. Dienste wie FTP haben die **Anmeldeinformationen im Klartext im Speicher**, versuchen Sie, den Speicher zu dumpen und die Anmeldeinformationen zu lesen.
Beispiel: "Windows-Hilfe und Support" (Windows + F1), Suche nach "Eingabeaufforderung", klicke auf "Klicken Sie hier, um die Eingabeaufforderung zu öffnen"
Es wird empfohlen, das Binärprogramm **accesschk** von _Sysinternals_ zu verwenden, um das erforderliche Berechtigungsniveau für jeden Dienst zu überprüfen.
In dem Szenario, in dem die Gruppe "Authentifizierte Benutzer" **SERVICE\_ALL\_ACCESS** für einen Dienst besitzt, ist eine Änderung des ausführbaren Binärpfads des Dienstes möglich. Um **sc** zu ändern und auszuführen:
**Überprüfen Sie, ob Sie die Binärdatei ändern können, die von einem Dienst ausgeführt wird** oder ob Sie **Schreibberechtigungen im Ordner** haben, in dem sich die Binärdatei befindet ([**DLL Hijacking**](dll-hijacking/))**.**\
Sie können jede Binärdatei, die von einem Dienst ausgeführt wird, mit **wmic** (nicht in system32) abrufen und Ihre Berechtigungen mit **icacls** überprüfen:
reg query hklm\System\CurrentControlSet\Services /s /v imagepath #Get the binary paths of the services
#Try to write every service with its current content (to check if you have write permissions)
for /f %a in ('reg query hklm\system\currentcontrolset\services') do del %temp%\reg.hiv 2>nul & reg save %a %temp%\reg.hiv 2>nul && reg restore %a %temp%\reg.hiv 2>nul && echo You can modify %a
Es sollte überprüft werden, ob **Authentifizierte Benutzer** oder **NT AUTHORITY\INTERACTIVE** über `FullControl`-Berechtigungen verfügen. Wenn dies der Fall ist, kann die vom Dienst ausgeführte Binärdatei geändert werden.
Wenn Sie diese Berechtigung über eine Registrierung haben, bedeutet dies, dass **Sie Unterregistrierungen von dieser erstellen können**. Im Falle von Windows-Diensten reicht dies aus, um **beliebigen Code auszuführen:**
**Sie können** diese Schwachstelle mit Metasploit erkennen und ausnutzen: `exploit/windows/local/trusted\_service\_path` Sie können manuell eine Dienst-Binary mit Metasploit erstellen:
Windows ermöglicht es Benutzern, Aktionen festzulegen, die im Falle eines Dienstfehlers ausgeführt werden sollen. Diese Funktion kann so konfiguriert werden, dass sie auf eine ausführbare Datei verweist. Wenn diese ausführbare Datei austauschbar ist, könnte eine Privilegieneskalation möglich sein. Weitere Details finden Sie in der [offiziellen Dokumentation](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc753662\(v=ws.11\)?redirectedfrom=MSDN).
Überprüfen Sie die **Berechtigungen der ausführbaren Dateien** (vielleicht können Sie eine überschreiben und Berechtigungen eskalieren) und der **Ordner** ([DLL Hijacking](dll-hijacking/)).
Überprüfen Sie, ob Sie einige Konfigurationsdateien ändern können, um auf bestimmte spezielle Dateien zuzugreifen, oder ob Sie einige ausführbare Dateien ändern können, die von einem Administrator-Konto ausgeführt werden (schedtasks).
Wenn Sie **Schreibberechtigungen innerhalb eines Ordners haben, der sich im PATH befindet**, könnten Sie in der Lage sein, eine von einem Prozess geladene DLL zu hijacken und **Berechtigungen zu eskalieren**.
[**Überprüfen Sie diese Seite für Firewall-bezogene Befehle**](../basic-cmd-for-pentesters.md#firewall) **(Regeln auflisten, Regeln erstellen, ausschalten, ausschalten...)**
Wenn Sie Root-Benutzerrechte erhalten, können Sie auf jedem Port lauschen (beim ersten Mal, wenn Sie `nc.exe` zum Lauschen auf einem Port verwenden, wird über die GUI gefragt, ob `nc` durch die Firewall zugelassen werden soll).
Sie können das Dateisystem von `WSL` im Ordner `C:\Users\%USERNAME%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\` erkunden.
Von [https://www.neowin.net/news/windows-7-exploring-credential-manager-and-windows-vault](https://www.neowin.net/news/windows-7-exploring-credential-manager-and-windows-vault)\
Der Windows-Tresor speichert Benutzeranmeldeinformationen für Server, Websites und andere Programme, mit denen **Windows** die Benutzer automatisch **anmelden kann**. Auf den ersten Blick mag es so aussehen, als könnten Benutzer ihre Facebook-Anmeldeinformationen, Twitter-Anmeldeinformationen, Gmail-Anmeldeinformationen usw. speichern, um sich automatisch über Browser anzumelden. Aber das ist nicht der Fall.
Der Windows-Tresor speichert Anmeldeinformationen, mit denen Windows die Benutzer automatisch anmelden kann, was bedeutet, dass jede **Windows-Anwendung, die Anmeldeinformationen benötigt, um auf eine Ressource zuzugreifen** (Server oder eine Website) **diesen Anmeldeinformations-Manager**& Windows-Tresor nutzen und die bereitgestellten Anmeldeinformationen anstelle von Benutzernamen und Passwort eingeben kann.
Es ist meiner Meinung nach nicht möglich, dass Anwendungen die Anmeldeinformationen für eine bestimmte Ressource verwenden, es sei denn, sie interagieren mit dem Anmeldeinformations-Manager. Wenn Ihre Anwendung also den Tresor nutzen möchte, sollte sie irgendwie **mit dem Anmeldeinformations-Manager kommunizieren und die Anmeldeinformationen für diese Ressource anfordern**.
Dann können Sie `runas` mit den `/savecred`-Optionen verwenden, um die gespeicherten Anmeldeinformationen zu verwenden. Das folgende Beispiel ruft eine entfernte Binärdatei über einen SMB-Freigabe auf.
Beachten Sie, dass mimikatz, lazagne, [credentialfileview](https://www.nirsoft.net/utils/credentials\_file\_view.html), [VaultPasswordView](https://www.nirsoft.net/utils/vault\_password\_view.html) oder aus dem [Empire Powershells Modul](https://github.com/EmpireProject/Empire/blob/master/data/module\_source/credentials/dumpCredStore.ps1).
Die **Data Protection API (DPAPI)** bietet eine Methode zur symmetrischen Verschlüsselung von Daten, die hauptsächlich im Windows-Betriebssystem für die symmetrische Verschlüsselung asymmetrischer privater Schlüssel verwendet wird. Diese Verschlüsselung nutzt ein Benutzer- oder Systemgeheimnis, um signifikant zur Entropie beizutragen.
**DPAPI ermöglicht die Verschlüsselung von Schlüsseln durch einen symmetrischen Schlüssel, der aus den Anmeldegeheimnissen des Benutzers abgeleitet wird**. In Szenarien mit Systemverschlüsselung nutzt es die Domänenauthentifizierungsgeheimnisse des Systems.
Verschlüsselte Benutzer-RSA-Schlüssel werden unter Verwendung von DPAPI im Verzeichnis `%APPDATA%\Microsoft\Protect\{SID}` gespeichert, wobei `{SID}` die [Security Identifier](https://en.wikipedia.org/wiki/Security\_Identifier) des Benutzers darstellt. **Der DPAPI-Schlüssel, der zusammen mit dem Hauptschlüssel, der die privaten Schlüssel des Benutzers in derselben Datei schützt, abgelegt ist**, besteht typischerweise aus 64 Bytes zufälliger Daten. (Es ist wichtig zu beachten, dass der Zugriff auf dieses Verzeichnis eingeschränkt ist, um das Auflisten des Inhalts über den `dir`-Befehl in CMD zu verhindern, obwohl es über PowerShell aufgelistet werden kann).
**PowerShell-Anmeldeinformationen** werden häufig für **Skripting** und Automatisierungsaufgaben verwendet, um verschlüsselte Anmeldeinformationen bequem zu speichern. Die Anmeldeinformationen sind durch **DPAPI** geschützt, was in der Regel bedeutet, dass sie nur vom selben Benutzer auf demselben Computer entschlüsselt werden können, auf dem sie erstellt wurden.
Menschen verwenden oft die StickyNotes-App auf Windows-Workstations, um **Passwörter** und andere Informationen zu speichern, ohne zu realisieren, dass es sich um eine Datenbankdatei handelt. Diese Datei befindet sich unter `C:\Users\<user>\AppData\Local\Packages\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe\LocalState\plum.sqlite` und ist es immer wert, danach zu suchen und sie zu untersuchen.
**Beachten Sie, dass Sie Administratorrechte benötigen und unter einem hohen Integritätslevel laufen müssen, um Passwörter aus AppCmd.exe wiederherzustellen.**\
**AppCmd.exe** befindet sich im Verzeichnis `%systemroot%\system32\inetsrv\`.\
Installationsprogramme werden mit **SYSTEM-Berechtigungen ausgeführt**, viele sind anfällig für **DLL-Sideloading (Informationen von** [**https://github.com/enjoiz/Privesc**](https://github.com/enjoiz/Privesc)**).**
reg query "HKCU\Software\SimonTatham\PuTTY\Sessions" /s | findstr "HKEY_CURRENT_USER HostName PortNumber UserName PublicKeyFile PortForwardings ConnectionSharing ProxyPassword ProxyUsername" #Check the values saved in each session, user/password could be there
SSH-Private Schlüssel können im Registrierungsschlüssel `HKCU\Software\OpenSSH\Agent\Keys` gespeichert werden. Daher sollten Sie überprüfen, ob sich dort etwas Interessantes befindet:
Wenn Sie einen Eintrag in diesem Pfad finden, handelt es sich wahrscheinlich um einen gespeicherten SSH-Schlüssel. Er wird verschlüsselt gespeichert, kann aber leicht mit [https://github.com/ropnop/windows_sshagent_extract](https://github.com/ropnop/windows_sshagent_extract) entschlüsselt werden.\
Weitere Informationen zu dieser Technik finden Sie hier: [https://blog.ropnop.com/extracting-ssh-private-keys-from-windows-10-ssh-agent/](https://blog.ropnop.com/extracting-ssh-private-keys-from-windows-10-ssh-agent/)
Es scheint, dass diese Technik nicht mehr gültig ist. Ich habe versucht, einige SSH-Schlüssel zu erstellen, sie mit `ssh-add` hinzuzufügen und mich über SSH bei einer Maschine anzumelden. Der Registrierungsschlüssel HKCU\Software\OpenSSH\Agent\Keys existiert nicht und Procmon hat die Verwendung von `dpapi.dll` während der asymmetrischen Schlüsselauthentifizierung nicht identifiziert.
Früher war eine Funktion verfügbar, die die Bereitstellung benutzerdefinierter lokaler Administratorkonten auf einer Gruppe von Maschinen über Gruppenrichtlinienvorgaben (GPP) ermöglichte. Dieser Ansatz wies jedoch erhebliche Sicherheitslücken auf. Erstens konnten die Gruppenrichtlinienobjekte (GPOs), die als XML-Dateien in SYSVOL gespeichert sind, von jedem Domänenbenutzer abgerufen werden. Zweitens konnten die mit AES256 verschlüsselten Passwörter in diesen GPPs mithilfe eines öffentlich dokumentierten Standardschlüssels von jedem authentifizierten Benutzer entschlüsselt werden. Dies stellte ein ernsthaftes Risiko dar, da es Benutzern ermöglichen könnte, erhöhte Berechtigungen zu erlangen.
Um dieses Risiko zu mindern, wurde eine Funktion entwickelt, um nach lokal zwischengespeicherten GPP-Dateien zu suchen, die ein nicht leeres "cpassword"-Feld enthalten. Beim Auffinden einer solchen Datei entschlüsselt die Funktion das Passwort und gibt ein benutzerdefiniertes PowerShell-Objekt zurück. Dieses Objekt enthält Details zu den GPPs und dem Speicherort der Datei, was bei der Identifizierung und Behebung dieser Sicherheitslücke hilft.
Suchen Sie in `C:\ProgramData\Microsoft\Group Policy\history` oder in _**C:\Documents and Settings\All Users\Application Data\Microsoft\Group Policy\history** (vor W Vista)_ nach diesen Dateien:
Sie können den Benutzer immer auffordern, seine Anmeldeinformationen oder sogar die Anmeldeinformationen eines anderen Benutzers einzugeben, wenn Sie glauben, dass er sie kennen kann (beachten Sie, dass das direkte **Auffordern** des Clients nach den **Anmeldeinformationen** wirklich **riskant** ist):
Um **Passwörter wiederherzustellen**, die von verschiedenen Programmen gespeichert wurden, können Sie verwenden: [http://www.nirsoft.net/password\_recovery\_tools.html](http://www.nirsoft.net/password\_recovery\_tools.html)
Sie sollten nach Datenbanken suchen, in denen Passwörter von **Chrome oder Firefox** gespeichert sind. Überprüfen Sie auch den Verlauf, Lesezeichen und Favoriten der Browser, da möglicherweise einige **Passwörter dort gespeichert sind**.
**Component Object Model (COM)** ist eine Technologie, die im Windows-Betriebssystem integriert ist und die **Interkommunikation** zwischen Softwarekomponenten verschiedener Sprachen ermöglicht. Jede COM-Komponente wird über eine Klassen-ID (CLSID) identifiziert, und jede Komponente stellt Funktionalitäten über eine oder mehrere Schnittstellen bereit, die über Schnittstellen-IDs (IIDs) identifiziert werden.
COM-Klassen und Schnittstellen sind in der Registrierung unter **HKEY\_**_**CLASSES\_**_**ROOT\CLSID** und **HKEY\_**_**CLASSES\_**_**ROOT\Interface** definiert. Diese Registrierung wird erstellt, indem **HKEY\_**_**LOCAL\_**_**MACHINE\Software\Classes** + **HKEY\_**_**CURRENT\_**_**USER\Software\Classes** zusammengeführt werden = **HKEY\_**_**CLASSES\_**_**ROOT.**
Innerhalb der CLSIDs dieser Registrierung finden Sie die untergeordnete Registrierung **InProcServer32**, die einen **Standardwert** enthält, der auf eine **DLL** verweist, und einen Wert namens **ThreadingModel**, der **Apartment** (Single-Threaded), **Free** (Multi-Threaded), **Both** (Single oder Multi) oder **Neutral** (Thread Neutral) sein kann.
Im Grunde genommen könnten Sie, wenn Sie **eine der DLLs überschreiben** können, die ausgeführt werden sollen, Berechtigungen **eskaliert**, wenn diese DLL von einem anderen Benutzer ausgeführt wird.
[**MSF-Credentials Plugin**](https://github.com/carlospolop/MSF-Credentials) ist ein msf-Plugin, das ich erstellt habe, um automatisch jeden Metasploit-POST-Modul auszuführen, das nach Anmeldeinformationen im Opfer sucht.\
[**Winpeas**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite) sucht automatisch nach allen Dateien, die auf dieser Seite erwähnte Passwörter enthalten.\
[**Lazagne**](https://github.com/AlessandroZ/LaZagne) ist ein weiteres großartiges Tool zum Extrahieren von Passwörtern aus einem System.
Das Tool [**SessionGopher**](https://github.com/Arvanaghi/SessionGopher) sucht nach Sitzungen, Benutzernamen und Passwörtern mehrerer Tools, die diese Daten im Klartext speichern (PuTTY, WinSCP, FileZilla, SuperPuTTY und RDP).
Stellen Sie sich vor, dass **ein als SYSTEM ausgeführter Prozess einen neuen Prozess öffnet** (`OpenProcess()`) mit **vollen Zugriffsrechten**. Derselbe Prozess **erstellt auch einen neuen Prozess** (`CreateProcess()`) **mit niedrigen Berechtigungen, aber er erbt alle offenen Handler des Hauptprozesses**.\
Dann, wenn Sie **vollen Zugriff auf den Prozess mit niedrigen Berechtigungen haben**, können Sie den **offenen Handler zum erstellten privilegierten Prozess** mit `OpenProcess()` abrufen und **einen Shellcode einschleusen**.\
[Lesen Sie dieses Beispiel für weitere Informationen darüber, **wie Sie diese Sicherheitslücke erkennen und ausnutzen können**.](leaked-handle-exploitation.md)\
[Lesen Sie diesen **weiteren Beitrag für eine ausführlichere Erklärung darüber, wie Sie mehr offene Handler von Prozessen und Threads testen und missbrauchen können, die mit unterschiedlichen Berechtigungsebenen (nicht nur mit vollen Zugriffsrechten) vererbt wurden**](http://dronesec.pw/blog/2019/08/22/exploiting-leaked-process-and-thread-handles/).
Windows bietet eine Funktion namens **Benannte Pipes**, die nicht zusammenhängenden Prozessen ermöglicht, Daten zu teilen, sogar über verschiedene Netzwerke hinweg. Dies ähnelt einer Client/Server-Architektur, mit Rollen, die als **benannte Pipe-Server** und **benannte Pipe-Client** definiert sind.
Wenn Daten durch eine Pipe von einem **Client** gesendet werden, hat der **Server**, der die Pipe eingerichtet hat, die Möglichkeit, die Identität des **Clients** anzunehmen, vorausgesetzt er verfügt über die erforderlichen **SeImpersonate**-Rechte. Die Identifizierung eines **privilegierten Prozesses**, der über eine Pipe kommuniziert, die Sie imitieren können, bietet die Möglichkeit, durch Annahme der Identität dieses Prozesses, sobald er mit der von Ihnen eingerichteten Pipe interagiert, **höhere Berechtigungen zu erlangen**. Anleitungen zur Durchführung eines solchen Angriffs finden Sie [**hier**](named-pipe-client-impersonation.md) und [**hier**](./#from-high-integrity-to-system).
Außerdem ermöglicht das folgende Tool, **eine benannte Pipe-Kommunikation mit einem Tool wie Burp abzufangen:** [**https://github.com/gabriel-sztejnworcel/pipe-intercept**](https://github.com/gabriel-sztejnworcel/pipe-intercept) **und dieses Tool ermöglicht das Auflisten und Anzeigen aller Pipes, um Privilege Escalation zu finden** [**https://github.com/cyberark/PipeViewer**](https://github.com/cyberark/PipeViewer)
Wenn Sie eine Shell als Benutzer erhalten, können geplante Aufgaben oder andere ausgeführte Prozesse vorhanden sein, die **Anmeldeinformationen in der Befehlszeile übergeben**. Das folgende Skript erfasst alle zwei Sekunden Befehlszeilen von Prozessen und vergleicht den aktuellen Zustand mit dem vorherigen Zustand, um etwaige Unterschiede auszugeben.
Wenn Sie Zugriff auf die grafische Benutzeroberfläche haben (über Konsole oder RDP) und UAC aktiviert ist, ist es in einigen Versionen von Microsoft Windows möglich, ein Terminal oder einen anderen Prozess wie "NT\AUTHORITY SYSTEM" von einem nicht privilegierten Benutzer auszuführen.
Dies ermöglicht es, Berechtigungen zu eskalieren und gleichzeitig mit derselben Schwachstelle UAC zu umgehen. Darüber hinaus ist keine Installation erforderlich und die während des Prozesses verwendete Binärdatei ist von Microsoft signiert und herausgegeben.
Wenn Sie bereits in einem Prozess mit hohem Integritätslevel arbeiten, kann der **Übergang zu SYSTEM** einfach sein, indem Sie einfach einen neuen Dienst erstellen und ausführen:
Aus einem Prozess mit hoher Integrität können Sie versuchen, die **AlwaysInstallElevated-Registrierungseinträge zu aktivieren** und eine Reverse-Shell unter Verwendung eines _**.msi**_-Wrappers **zu installieren**.\
[Mehr Informationen zu den beteiligten Registrierungsschlüsseln und wie man ein _.msi_-Paket installiert, finden Sie hier.](./#alwaysinstallelevated)
Wenn Sie über diese Token-Berechtigungen verfügen (wahrscheinlich finden Sie dies in einem bereits vorhandenen Prozess mit hoher Integrität), können Sie **fast jeden Prozess öffnen** (nicht geschützte Prozesse) mit der SeDebug-Berechtigung, das Token des Prozesses **kopieren** und einen **beliebigen Prozess mit diesem Token erstellen**.\
Bei Verwendung dieser Technik wird normalerweise **ein Prozess ausgewählt, der als SYSTEM ausgeführt wird und alle Token-Berechtigungen hat** (_ja, Sie können SYSTEM-Prozesse finden, die nicht alle Token-Berechtigungen haben_).\
Diese Technik wird von Meterpreter verwendet, um in `getsystem` zu eskalieren. Die Technik besteht darin, **eine Pipe zu erstellen und dann einen Dienst zu erstellen/missbrauchen, um in diese Pipe zu schreiben**. Dann wird der **Server**, der die Pipe mit der **`SeImpersonate`**-Berechtigung erstellt hat, in der Lage sein, das Token des Pipe-Clients (des Dienstes) zu **imitieren** und SYSTEM-Berechtigungen zu erhalten.\
Wenn Sie mehr über **benannte Pipes erfahren möchten, sollten Sie dies lesen**](./#named-pipe-client-impersonation).\
Wenn Sie ein Beispiel lesen möchten, [**wie man von hoher Integrität zu System mit benannten Pipes gelangt, sollten Sie dies lesen**](from-high-integrity-to-system-with-name-pipes.md).
Wenn es Ihnen gelingt, eine **Dll zu hijacken**, die von einem als **SYSTEM** ausgeführten **Prozess geladen wird**, können Sie beliebigen Code mit diesen Berechtigungen ausführen. Daher ist Dll Hijacking auch für diese Art von Privilegieneskalation nützlich und außerdem viel **einfacher von einem Prozess mit hoher Integrität aus zu erreichen**, da dieser **Schreibberechtigungen** auf den Ordnern hat, die zum Laden von Dlls verwendet werden.\
**Bestes Tool, um nach Windows-Privilegieneskalationsvektoren zu suchen:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS)
[**PowerSploit-Privesc(PowerUP)**](https://github.com/PowerShellMafia/PowerSploit) **-- Überprüfen Sie auf Fehlkonfigurationen und sensible Dateien (**[**hier überprüfen**](https://github.com/carlospolop/hacktricks/blob/master/windows/windows-local-privilege-escalation/broken-reference/README.md)**). Erkannt.**\
[**JAWS**](https://github.com/411Hall/JAWS) **-- Überprüfen Sie auf mögliche Fehlkonfigurationen und sammeln Sie Informationen (**[**hier überprüfen**](https://github.com/carlospolop/hacktricks/blob/master/windows/windows-local-privilege-escalation/broken-reference/README.md)**).**\
[**privesc** ](https://github.com/enjoiz/Privesc)**-- Überprüfen Sie auf Fehlkonfigurationen**\
[**Inveigh**](https://github.com/Kevin-Robertson/Inveigh) **-- Inveigh ist ein PowerShell-ADIDNS/LLMNR/mDNS/NBNS-Spoofing- und Man-in-the-Middle-Tool.**\
[**SeatBelt**](https://github.com/GhostPack/Seatbelt) -- Enumeriert den Host auf der Suche nach Fehlkonfigurationen (eher ein Tool zum Sammeln von Informationen als zur Privilegieneskalation) (muss kompiliert werden) **(**[**vorkompiliert**](https://github.com/carlospolop/winPE/tree/master/binaries/seatbelt)**)**\
[~~**Beroot**~~](https://github.com/AlessandroZ/BeRoot) **\~\~**\~\~ -- Überprüfen Sie auf Fehlkonfigurationen (ausführbare Datei vorkompiliert auf github). Nicht empfohlen. Funktioniert nicht gut in Win10.\
[~~**Windows-Privesc-Check**~~](https://github.com/pentestmonkey/windows-privesc-check) -- Überprüfen Sie auf mögliche Fehlkonfigurationen (exe von Python). Nicht empfohlen. Funktioniert nicht gut in Win10.
[**winPEASbat** ](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS)-- Tool erstellt basierend auf diesem Beitrag (es benötigt keinen Zugriffschk, um ordnungsgemäß zu funktionieren, kann es aber verwenden).
[**Windows-Exploit-Suggester**](https://github.com/GDSSecurity/Windows-Exploit-Suggester) -- Liest die Ausgabe von **systeminfo** und empfiehlt funktionierende Exploits (lokales Python)\
[**Windows Exploit Suggester Next Generation**](https://github.com/bitsadmin/wesng) -- Liest die Ausgabe von **systeminfo** und empfiehlt funktionierende Exploits (lokales Python)
Sie müssen das Projekt mit der richtigen Version von .NET kompilieren ([siehe dies](https://rastamouse.me/2018/09/a-lesson-in-.net-framework-versions/)). Um die installierte Version von .NET auf dem Opferrechner zu sehen, können Sie dies tun:
<summary><strong>Erlernen Sie AWS-Hacking von Null auf Held mit</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Arbeiten Sie in einem **Cybersicherheitsunternehmen**? Möchten Sie Ihr **Unternehmen in HackTricks beworben sehen**? Oder möchten Sie Zugriff auf die **neueste Version des PEASS erhalten oder HackTricks im PDF-Format herunterladen**? Überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* **Treten Sie der** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegramm-Gruppe**](https://t.me/peass) bei oder **folgen** Sie mir auf **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an das** [**HackTricks-Repo**](https://github.com/carlospolop/hacktricks) **und das** [**HackTricks-Cloud-Repo**](https://github.com/carlospolop/hacktricks-cloud) **einreichen**.