Password Spraying Overview
Intentar acceder a cuentas usando una contraseña común para múltiples usuarios, minimizando el riesgo de bloqueo de cuentas. Se utiliza para ganar un foothold en la red o avanzar lateralmente.
🧩 1. Concepto
-
Se basa en intentos de login controlados:
-
Usar una contraseña común.
-
Aplicarla a una lista larga de usuarios o emails.
-
-
Los usuarios pueden provenir de:
-
Fase de OSINT.
-
Enumeración interna.
-
Listas preexistentes (GitHub, LinkedIn, documentos internos, etc.)
-
La clave es iterar procesos y combinar técnicas mientras se recaba nueva información.
📖 2. Historias / Ejemplos
🔹 Scenario 1
-
No se pudo obtener acceso mediante SMB NULL o LDAP anonymous bind.
-
Uso de Kerbrute para enumerar usuarios válidos con:
-
Lista
jsmith.txt(GitHub) -
Resultados de scraping de LinkedIn
-
-
Contraseña utilizada para spraying:
Welcome1 -
Resultado: 2 usuarios de bajo privilegio accedieron → permitió ejecutar BloodHound y descubrir paths hacia Domain Admin.
🔹 Scenario 2
-
Enumeración inicial con listas comunes + LinkedIn no dio resultados.
-
Investigación de PDFs internos reveló patrón de usuarios tipo
F9L8(GUIDs alfanuméricos). -
Generación de lista de usuarios mediante Bash script:
#!/bin/bash for x in {{A..Z},{0..9}}{{A..Z},{0..9}}{{A..Z},{0..9}}{{A..Z},{0..9}} do echo $x; done
-
Resultado: se logró enumerar todas las cuentas del dominio.
-
Posteriormente, se obtuvieron contraseñas válidas para algunos usuarios y se avanzó hacia ataques complejos como RBCD y Shadow Credentials, comprometiendo finalmente el dominio.
⚠️ 3. Consideraciones
-
Riesgo: bloqueo masivo de cuentas si se hace sin control.
-
Diferencia con brute-force:
-
Brute-force → muchas contraseñas para una cuenta → riesgo alto de lockout.
-
Password spraying → una contraseña común para muchos usuarios → riesgo menor.
-
💡 Visualización de Password Spray
| Ataque | Usuario | Contraseña |
|---|---|---|
| 1 | bob.smith@inlanefreight.local | Welcome1 |
| 1 | john.doe@inlanefreight.local | Welcome1 |
| 1 | jane.doe@inlanefreight.local | Welcome1 |
| DELAY | - | - |
| 2 | bob.smith@inlanefreight.local | Passw0rd |
| 2 | john.doe@inlanefreight.local | Passw0rd |
| 2 | jane.doe@inlanefreight.local | Passw0rd |
| DELAY | - | - |
| 3 | bob.smith@inlanefreight.local | Winter2022 |
| 3 | john.doe@inlanefreight.local | Winter2022 |
| 3 | jane.doe@inlanefreight.local | Winter2022 |
Introducir delays entre ataques para evitar bloqueos.
🔐 4. Consideraciones de Políticas de Contraseña
-
Muchas organizaciones permiten 5 intentos fallidos antes del bloqueo y desbloqueo automático tras ~30 min.
-
Algunas requieren desbloqueo manual por administrador.
-
Buenas prácticas:
-
Si no se conoce la política, esperar varias horas entre intentos.
-
Intentar solo un intento dirigido como “hail mary” si otras opciones fallan.
-
Siempre que sea posible, obtener la política de contraseñas antes de atacar.
-
Con acceso interno, se puede enumerar la política de contraseñas y reducir riesgos de lockout.
🏁 5. Resumen
-
Password spraying es eficiente para:
-
Ganar un foothold inicial.
-
Moverse lateralmente en la red.
-
-
Combinar con enumeración de usuarios (OSINT, documentos internos, scraping).
-
Controlar el ritmo de los intentos para minimizar riesgos de lockout.