As is common in real life Windows penetration tests, you will start the Eighteen box with credentials for the following account: kevin / iNa2we6haRj2gaw!
$ nmap -sC -sV -Pn 10.10.11.95 Starting Nmap 7.95 ( https://nmap.org ) at 2025-11-21 20:08 JST Nmap scan report for 10.10.11.95 Host is up (0.19s latency). Not shown: 997 filtered tcp ports (no-response) PORT STATE SERVICE VERSION 80/tcp open http Microsoft IIS httpd 10.0 |_http-server-header: Microsoft-IIS/10.0 |_http-title: Did not follow redirect to http://eighteen.htb/ 1433/tcp open ms-sql-s Microsoft SQL Server 2022 16.00.1000.00; RTM | ssl-cert: Subject: commonName=SSL_Self_Signed_Fallback | Not valid before: 2025-11-21T11:31:42 |_Not valid after: 2055-11-21T11:31:42 |_ms-sql-info: ERROR: Script execution failed (use -d to debug) |_ms-sql-ntlm-info: ERROR: Script execution failed (use -d to debug) |_ssl-date: 2025-11-21T17:41:51+00:00; +6h31m25s from scanner time. 5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP) |_http-server-header: Microsoft-HTTPAPI/2.0 |_http-title: Not Found Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results: |_clock-skew: 6h31m24s
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 114.03 seconds
# ========================= # Función para derivar y comparar hashes # ========================= defcrack_password(): try: with open(wordlist_path, 'r', encoding='latin-1') as f: for idx, line in enumerate(f): password = line.strip() derived_key = hashlib.pbkdf2_hmac( 'sha256', password.encode(), salt, iterations ) hex_key = derived_key.hex()
if hex_key == target_hash: print(f"[✔] Contraseña encontrada: {password}") return if idx % 100000 == 0: print(f"[+] Probadas {idx} contraseñas...")
print("[✘] No se encontró la contraseña en el diccionario.") except FileNotFoundError: print(f"[!] Archivo no encontrado: {wordlist_path}") sys.exit(1)
if __name__ == "__main__": print("[*] Iniciando fuerza bruta PBKDF2-SHA256...") crack_password()