Demostración en vídeo de éste post.
Me resulta muy interesante la evolución de los sistemas Windows, tanto en estaciones de trabajo como servidores. Parece que pocas cosas cambian entre las diferentes versiones, pero lo cierto es que desde la perspectiva de un técnico, cada nueva versión introduce características (y vulnerabilidades) que nos obligan a mantenernos al día y estudiar continuamente. Por poner un ejemplo, en los últimos años gracias a Microsoft Azure, es posible tener controladores de dominio en la nube y contar con servicios distribuidos en diferentes ubicaciones geográficas, algo que mejora la escalabilidad, pero plantea nuevos retos y amenazas que antes no existían.
Precisamente por este motivo, en Securízame hemos creado los entrenamientos 100% prácticos sobre entornos Windows, que esperamos volver a realizar en el 2023, así que si esto te interesa, te recomiendo que estés atento a los anuncios que emitiremos el año que viene.
En éste post y en vídeo que tienes disponible en YouTube (mira un poco más arriba) he decidido explicar cómo montar un laboratorio vulnerable con Windows Server 2022 y al menos una estación de trabajo con Windows 11.
Si bien el procedimiento es prácticamente el mismo que para otras versiones de Windows Server y Windows «Workstation», hay algunos detalles en los que difiere un poco y que explicaré a continuación.
En primer lugar, debes descargar las imágenes de Windows 11 y Windows Server 2022 desde la página web de Microsoft.
Aunque puedes utilizar cualquier solución de virtualización, en este caso concreto verás cómo llevar a cabo el proceso con VirtualBox.
El proceso de instalación de las máquinas virtuales es básico y lo puedes ver en el vídeo anterior que está subido en YouTube, partiendo de esa base puedes empezar a aplicar algunas configuraciones básicas que explico a continuación.
Configuraciones básicas en el DC
- Asignar un nombre al controlador de dominio recién instalado. Para ello, puedes ir a: Windows -> en el campo de búsqueda escribir «PC Name» y luego, seleccionar la opción «Renombrar ordenador». Tal como aparece en el vídeo de YouTube, se ha asignado el nombre «THW-DC»
- Click en «Configuración de red e internet» -> «Opciones de uso compartido» -> «Activar detección de redes» para público, privado y dominio.
- Click en «Configuración de red e internet» -> «Centro de redes y recursos compartidos» -> «Cambiar adaptador de red» -> Cambiar configuración para IPv4 y poner como DNS primario la IP del gateway (p.e. 192.168.1.1) y establecer una IP estática.
A continuación, desde la configuración del adaptador de red pinchar en «Cambiar configuración para IPv6» y poner «obtener automáticamente el servidor DNS». - Llegados a éste punto, es mejor reiniciar.
- Ahora se pueden configurar los servicios del Domain Controller
- Desde la aplicación de «Server Manager» -> Administrar -> Añadir Roles y características -> Seleccionar siguiente hasta «Roles de Servidor».
- En «Roles de Servidor» seleccionar -> «Active Directory Domain Services» o «Servicios de dominio de Active Directory» -> Add Features. Finalmente, Siguiente -> Siguiente -> Install.
- Cuando termina la instalación, en la aplicación «Server Manager», se debe pinchar en el botón de «Warning» y comenzar con la configuración del AD seleccionando la opción que pone «Promover el servidor a controlador de dominio.»
- Pinchar en «Agregar a un nuevo bosque» e introducir un valor como por ejemplo «thehackerway.local» y Siguiente.
- En opciones de controlador, se debe escribir la contraseña para el modo de restauración de servicios de directorio (DSRM).
- Continuar con los valores por defecto. Al final del proceso es necesario reiniciar. Se podrá ver en la pantalla de inicio de sesión que ahora aparece thehackerway.local\Administrador
Configuración de los servicios AD CS (Certificate Services).
Los servicios de Active Directory Certificate Services representan la implementación de PKI oficial de Microsoft y están dando mucho de qué hablar desde el 2021, especialmente desde vulnerabilidades como PetitPotam, noPac y una de las más recientes a la fecha de redactar este post, identificada con el CVE-2022-26923 y que le permite a un atacante que ya cuenta con un usuario de dominio, solicitar un certificado para una máquina arbitraria en la red (como un controlador de dominio) y suplantarle, para ello basta simplemente con cambiar el atributo DnsHostName de una cuenta de máquina, la cual se puede crear fácilmente utilizando el script «addmachine.py» de Impacket o una de las tantas utilidades para pentesting sobre sistemas Windows que se encuentran disponibles.
El proceso de instalación de esta implementación de PKI es muy simple y en todo caso, se realiza sobre el controlador de dominio siguiendo los siguientes pasos:
- En la herramienta de administración del servidor -> Agregar características y roles -> Siguiente hasta Roles de servidor. Seleccionar todas las características de «Servicios de Certificado de Active Directory». Siguiente, siguiente, instalar.
- Una vez instalado, es necesario configurar los servicios. Se debe pinchar en la advertencia que aparece en la herramienta de «administración del servidor» y a continuación, seleccionar todos los servicios de rol.
- En cuenta de servicio para NDES, especificar la cuenta del servicio. Se puede seleccionar la cuenta del Administrador. Siguiente.
- En información de RA, se puede dejar todo por defecto y continuar con el asistente hasta el final.
- Ahora, se puede abrir una CMD de Powershell con permisos de administrador y se instala el módulo PSPKI además, también se permite la instalación de NuGet y PowerShellGet.Install-Module -Name PSPKI
- A continuación, se puede importar el módulo y comprobar la configuración de Enrollment.Import-Module PsPKI
Get-CertificationAuthority | Select Name, Enroll* | Format-List *
Con los pasos anteriores ya se cuenta con un controlador de dominio con una configuración mínima.
En el siguiente post explicaré cómo habilitar varias características que harán que el dominio sea vulnerable y además, cómo unir una estación de trabajo con Windows 11.
Un saludo y Happy Hack!
Adastra.