Cómo crear un dispositivo flash autoarrancable para conectar y comprometer un controlador de dominio Windows / directorio activo

Desde la versión 2.15, el módulo PowerShell de DSInternals soporta completamente Windows PE, la versión gratuita y minimalista de Windows. Esto significa que todas las cosas "chulas" que se pueden realizar con la base de datos de Active Directory ahora pueden hacerse desde una unidad flash de arranque o una imagen ISO, incluyendo:

- Dumpear los hashes NT, claves Kerberos y contraseñas en texto plano a partir de archivos Ntds.dit.
- Modificar el SID History de las cuentas de usuarios y grupos.
- Modificar el ID del Grupo Primario de cuentas de usuario.
- Extraer las claves DPAPI de backup de dominio.


Acceso requerido

Estas acciones, por supuesto, requieren que el atacante tenga al menos alguno de los siguientes:

- acceso físico a un controlador de dominio (DC).
- conocimiento de las credenciales del controlador de gestión de placa base (BMC) del DC
- acceso administrativo a un DC virtualizado.

En un mundo ideal, sólo los administradores de dominio deberían tener acceso al core de la infraestructura del AD, pero la realidad está lejos de ser perfecta.

La creación de los medios

Para crear un dispositivo de arranque de Windows PE cargado con el módulo DSInternals, sigue estos pasos:

1.- Instala Windows Assessment and Deployment Kit (ADK), incluyendo la característica de Windows PE.

2.- Haz clic en Inicio y escribe "deployment". Botón derecho en 'Deployment and Imaging Tools Environment' y selecciona Ejecutar como administrador.

3.- Crea una copia de los archivos de Windows PE. Especifica x86 o AMD64:
copype amd64 C:\WinPE_amd64

4.- Monta la imagen de Windows PE:
Dism /Mount-Image /ImageFile:"C:\WinPE_amd64\media\sources\boot.wim" /index:1 /MountDir:"C:\WinPE_amd64\mount"

5.- Añade el soporte de PowerShell a Windows PE indicándolo en los componentes opcionales junto con los language packs asociados:
Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-WMI.cab"  
Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-WMI_en-us.cab"
 
Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-NetFX.cab"  
Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-NetFX_en-us.cab"
 
Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-Scripting.cab"  
Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-Scripting_en-us.cab"
 
Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-PowerShell.cab"  
Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-PowerShell_en-us.cab"

6.- Añade el módulo PowerShell de DSInternals a la imagen de Windows PE copiándolo dentro del directorio C:\WinPE_amd64\mount\Windows\system32\ WindowsPowerShell\v1.0\Modules.

7.- Añade los drivers de dispositivo a la imagen de Windows:
Dism /Add-Driver /Image:"C:\WinPE_amd64\mount" /Driver:"C:\DriversToEmbed" /Recurse

8.- Configura PowerShell para iniciarse automáticamente en el arranque creando un archivo llamado winpeshl.ini en la carpeta C:\WinPE_amd64\mount\Windows\system32, que contenga este texto:
[LaunchApps]
wpeinit.exe
powershell.exe, -NoExit -NoLogo -ExecutionPolicy Bypass

9.- Crea un fichero ISO que contenga los ficheros de Windows PE:
MakeWinPEMedia /ISO C:\WinPE_amd64 C:\WinPE_amd64\WinPE_amd64.iso

Se puede usar el mismo comando para crear un dispositivo flash autoarrancable o VHD.

Pensamientos finales

Como se ha visto, es bastante sencillo crear una unidad flash de arranque que se pueda utilizar para comprometer un dominio de Active Directory a través de un DC físicamente accesible. Una de las precauciones que un administrador de dominio puede tener es cifrar todos los DC utilizando BitLocker u otra herramienta que cifre todo el volumen. La implementación de RODC en las sucursales más pequeñas es también una buena idea. Las nuevas características de Windows Server 2016, las MTP virtuales y máquinas virtuales fortificadas, también parecen muy prometedores en lo que respecta a la seguridad de DCs.

Fuente: https://www.dsinternals.com/en/dumping-modifying-active-directory-database-bootable-flash-drive/

Comentarios