Crackear la contraseña de cualquier usuario de Windows sin ningún privilegio (cuenta de invitado incluida)

¿Quieres crackear la contraseña del administrador local de Windows con la cuenta de invitado o con otro usuario sin privilegios? Pues resulta que el API LogonUserW por defecto no implementa ningún bloqueo por intentos fallidos de login... consecuencia: Jean-Pierre Lesueur (@DarkCoderSc) nos demuestra con su herramienta win-brute-logon lo fácil que sería obtener por fuerza bruta las credenciales localmente, desde Windows XP hasta la última release de Windows 10 (1909).

Tenéis la herramienta en https://github.com/DarkCoderSc/win-brute-logon que además es multihilo y funciona tanto en 32 como en 64 bits.

Para la PoC al igual que en el repo de JP crearemos un usuario local administrador y otro normal:

C:\>net user pepito password1
Se ha completado el comando correctamente.

C:\>net localgroup administradores pepito /add
Se ha completado el comando correctamente.

C:\>net user fulanito /add
Se ha completado el comando correctamente.

C:\>net user fulanito 123456
Se ha completado el comando correctamente.


Como veis hemos usado dos contraseñas bastante predecibles, ambas incluidas en el diccionario de SecList: https://github.com/danielmiessler/SecLists/blob/master/Passwords/Common-Credentials/10k-most-common.txt.

Así que seleccionamos el usuario y el diccionario correspondiente y, si la contraseña no es lo suficientemente robusta, ocurre la magia:



Por defecto, el nombre de dominio es el valor designado por la variable de entorno %USERDOMAIN%, pero se uede especificar otro con la opción -d.

Y si por lo que sea no conoces el nombre de usuario puedes a probar con distintos usuarios con este sencillo Powershell:
$lista = Get-Content listadeusuarios.txt

Foreach ($usuario in $lista){
.\WinBruteLogon.exe -u $usuario -w 10k-most-common.txt
}

Lo sorprendente es que por defecto en Windows no implementa ningún bloqueo, así que es más que recomendable es configurarlo en secpol.msc:


Por supuesto no olvidar también deshabilitar la cuenta de invitado (si es que no la tenéis ya deshabilitada) y usar whitelisting de aplicaciones siempre que sea posible.

Comentarios