#
hash(0x3223308) #
hash(0x3223488) #
hash(0x3223638)¿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.txtForeach ($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.