Building AD pentesting home lab

Notas personales durante la creación paso a paso de un dominio para pruebas de pentests.

El cual le daré más uso para ataques en escenarios de AD, GPO, testeo de malware, herramientas, pivoting. Etc.

Hardware

Lo ideal para un home lab sería una pc aparte para usarla como servidor, montar un exsim y virtualizar.

Esto sería para mí lo mínimo recomendado a tener en cuenta.

  • Espacio: 256 (minimo), hhd/ssh.
  • RAM: 8GB (minimo), 16 (recomendado) para dual channel.
  • CPU: AMD Ryzen 3 o intel i3 (minimo). AMD Ryzen 5+ o i5 (recomendado).

Yo usaré un server que tengo con un amigo, en un aplicativo de virtualización llamada proxmox.

En el que correré un total de 4 maquinas windows y un kali.
Serian 2 Windows como usuarios, un domain controller y además terminaré añadiendo al lab, un Windows diseñado para ataques de pentest y reversing llamado CommandoVM.

  •  Otra opción es usar los servicios de AWS. Nunca he probado esto, pero son gratis. AWS AD

ISOS

Windows 10 eval
Windows server 2022 eval
CommandoVM

Configuracion del DC

No voy a poner los pasos de instalación del Windows server, Solo se debe tener en cuenta la instalación del Full desktop.

Una vez instalado el sistema operativo (DC01), Empezamos los first steps.

first DC

  • Cambiamos el nombre del dc, habilitamos rdp y winrm NombreDC
    NombreDC
#winrm
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "LocalAccountTokenFilterPolicy" /t REG_DWORD /d 1 /f

#rdp 
reg add "HKLM\system\CurrentControlSet\Control\Terminal Server" /v "AllowTSConnections" /t REG_DWORD /d 0x1 /f
reg add "HKLM\system\CurrentControlSet\Control\Terminal Server" /v "fDenyTSConnections" /t REG_DWORD /d 0x0 /f
reg add "HKLM\system\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v "MaxConnectionTime" /t REG_DWORD /d 0x1 /f
reg add "HKLM\system\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v "MaxDisconnectionTime" /t REG_DWORD /d 0x0 /f
reg add "HKLM\system\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v "MaxIdleTime" /t REG_DWORD /d 0x0 /f

DNS

Siguiente paso: reiniciar, una veas esto, le asignamos el rol de dns server, domain controller a través del server manager

  • Entramos en el server manager, Add roles and features.

NombreDC

  • Aceptamos. Seleccionamos la instalación tipo Role-based, seleccionamos el server que acabamos de crear. En la parte de Server Roles, seleccionamos DNS Server y Active Directory Domain Services.

RolesDC

  • Siguiente, Siguiente, Aceptamos y finalizamos. Ahora nos aparece un mensaje de warning en el cual nos da la opción de hacer la máquina Domain Controller

promoteDC

  • Seleccionamos añadir un nuevo bosque

Forest

DomainPass

  •  Aquí configuramos las directivas del dominio y creamos el restore password del dominio, tener en cuenta que esta contraseña es necesaria al restaurar los servicios del directorio y es diferente a la contraseña de administrador de dominio. Aunque se puede mantener igual, no es una buena práctica… Las demás opciones le damos a continuar e instalamos los pre requisitos


Usuarios y monturas

Ahora empezamos a añadirle contenido al dominio, empezamos creando dos usuarios con dos usuarios con permisos normales, y uno domain admin.

Este proceso es muy fácil, en esta parte estuve algunas horas jugando con diferentes configuraciones y opciones que tenemos en el menú de herramientas del server manager

UsersYPc

  • Botón derecho en las carpetas de config del dominio. New > User. Configuramos usuarios y grupos

New-User

chema sysadmin

GPO para rdp y WINRM

Configuramos una group policy para que los equipos tengan habilitado por default el rdp y en winrm

group

newGPO

  • Seleccionamos dicho gpo creado y lo editamos

admin-template

  • Computer Configuration » Administrative Templates » Windows Components » Remote Desktop Services » Remote Desktop Session Host » Connections.

allow-rdp-connection

enableRDP

WINRM

  • Computer Configuration > Policies > Administrative Templates: Policy definitions > Windows Components > Windows Remote Management (WinRM) > WinRM Service enableWINRM

enableWINRM2

Otro ejemplo de GPO para que por ejemplo nos desactive el windows defender. turn off windows defender using group policy

Añadir equipo al DC

Una vez tenemos instalado el Windows (PC01) para añadirlo al dc, añadimos PC01 con el dns de la ip del dc (DC01)

ethconfig

No puedo poner mi configuración, ya que estoy usando ip públicas

dnsconfig

  • Después de configurar el dns nos unimos al dominio, Se reiniciará y ahora nos podremos loguear con los usuarios que habíamos creado antes dominio
  • JoinDomain

Join

Join2

Join3

done

Una vez reiniciado, iniciamos sesion con las cuenta que creamos antes en el dominio.

Si todo ha salido bien podiamos ver el nuevo equipo en la configuracion

pc01

Espero que el artículo te haya ayudado si quieres crear tu propio lab :stuck_out_tongue_closed_eyes: .
Tengo en mente alargar esta serie de AD, subiendo artículos de ataques relevantes o técnicas en escenarios de directorio activo