
Cicada – Hack The Box
En este writeup vamos a detallar la explotación de Cicada, una máquina Windows que nos obligará a realizar una enumeración minuciosa de servicios comunes como SMB y a entender cómo la exposición de información sensible en recursos compartidos puede comprometer todo un dominio de Active Directory.
1. Reconocimiento
Tras un escaneo de puertos mediante Nmap. Al ser un entorno Windows, encontramos un abanico de servicios típicos de un Controlador de Dominio:
Durante la exploración del servicio SMB, realizamos un listado de los recursos compartidos mediante una sesión anónima y descubrimos que el directorio «HR» permitía acceso. Al inspeccionar su contenido, localizamos el archivo «Notice_from_HR.txt«, el cual exponía la contraseña predeterminada asignada a los nuevos usuarios.
2. Enumeración de Usuarios
Con la contraseña por defecto en nuestro poder, el siguiente paso fue identificar una cuenta válida para intentar el acceso. Para ello, empleamos herramientas de enumeración como «nxc» y «enum4linux-ng«, lo que nos permitió extraer exitosamente un listado con varios usuarios del sistema.
Durante la fase de enumeración de usuarios, revisamos el campo «Description» y nos llevamos una grata sorpresa al encontrar la contraseña en texto plano del usuario «david.orelious«. Utilizando estas credenciales, logramos autenticarnos por SMB en el recurso compartido «DEV«, donde hallamos un archivo bastante prometedor llamado «Backup_script.ps1«. Al descargar este script a nuestra máquina y analizar su código fuente, descubrimos que oculta las credenciales hardcodeadas de la usuaria «emily.oscars«, una cuenta con mayores privilegios. Validando este nuevo vector, confirmamos que Emily tiene permisos para acceder directamente al recurso administrativo «C$", lo que nos otorga vía libre para explorar el sistema de archivos principal y capturar con éxito la user flag.
Con nuestro acceso inicial asegurado, continuamos enumerando el sistema (ya sea obteniendo una shell interactiva mediante «evil-winrm» o explorando más a fondo a través de SMB). Durante esta fase, localizamos algo crítico: copias de seguridad de los archivos de registro SAM y SYSTEM.
Estos archivos son una auténtica mina de oro, ya que almacenan las credenciales locales del equipo. Procedemos a descargarlos a nuestra máquina atacante para volcar su contenido de forma offline.
Para ello, utilizamos la herramienta «secretsdump.py» de la suite Impacket, pasándole los archivos descargados. El resultado es un éxito rotundo: logramos extraer los hashes NTLM de los usuarios locales, incluyendo el del usuario Administrator.
Con el hash NTLM del administrador en nuestro poder, ni siquiera necesitamos perder tiempo intentando crackear la contraseña. Podemos abusar del protocolo de autenticación realizando un ataque Pass-The-Hash (PtH).
Haciendo uso de «psexec.py» (también de Impacket) y pasándole el hash obtenido, logramos autenticarnos y obtener una shell interactiva con máximos privilegios.