SOC Prime Bias: Alto

10 Jul 2026 18:23 UTC

Impacket para Pentesters: Técnicas de Cambio de Contraseña

Author Photo
SOC Prime Team linkedin icon Seguir
Impacket para Pentesters: Técnicas de Cambio de Contraseña
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Este artículo explica cómo las configuraciones incorrectas de Active Directory pueden ser explotadas para restablecer de manera forzada las contraseñas de usuario con el kit de herramientas Impacket. Se centra en la utilidad impacket-changepasswd , que puede aprovechar el ACE de Restablecer Contraseña para permitir la toma del control de cuentas. La técnica admite varios protocolos, incluidos SMB-SAMR, RPC-SAMR, LDAP y Kerberos.

Investigación

El informe presenta un escenario de laboratorio en el que a un usuario se le otorgan derechos de Restablecer Contraseña sobre otro objeto de cuenta. Abarca varios enfoques de autenticación, incluidos credenciales en texto claro, Pass-the-Hash, Pass-the-Key y uso de caché TGT de Kerberos, para manipular contraseñas de cuentas en diferentes protocolos.

Mitigación

Los defensores deben auditar rutinariamente los ACL de Active Directory con herramientas como BloodHound para identificar derechos de Restablecer Contraseña excesivamente permisivos. Aplicar un modelo de administración por niveles y utilizar el grupo de seguridad de Usuarios Protegidos puede reducir significativamente la exposición. También se recomienda la aplicación de la firma LDAP y el despliegue de Credential Guard.

Respuesta

Si se detecta actividad sospechosa, los equipos de seguridad deben investigar los IDs de Evento de Windows 4723, 4724, 4738, 4771, y 5136. Los analistas deben confirmar si el restablecimiento de la contraseña fue autorizado y revisar el entorno en busca de tráfico SAMR inusual o cambios en el directorio LDAP. Las acciones inmediatas deben incluir la auditoría de permisos de la cuenta afectada y la rotación de credenciales para cualquier usuario administrativo potencialmente comprometido.

Flujo de Ataque

Todavía estamos actualizando esta parte. Regístrate para recibir notificaciones

Notifícame

Ejecución de Simulación

Prerrequisito: La Verificación Previa de Telemetría y Línea Base debe haber pasado.

Fundamento: Esta sección detalla la ejecución precisa de la técnica del adversario (TTP) diseñada para activar la regla de detección. Los comandos y la narrativa deben reflejar directamente los TTP identificados y apuntar a generar la telemetría exacta esperada por la lógica de detección. Ejemplos abstractos o no relacionados conducirán a un diagnóstico erróneo.

  • Narrativa & Comandos del Ataque: Un adversario ha comprometido con éxito una cuenta de usuario con permisos delegados o ha escalado privilegios a un nivel de Administrador de Dominio. Para asegurar la persistencia a largo plazo y evitar la detección durante una fase posterior de la operación, el atacante decide restablecer la contraseña de una cuenta de servicio conocida. Utilizando herramientas nativas de PowerShell (Set-ADAccountPassword or net user), el atacante intenta cambiar la contraseña de Service_SVC. Esta acción es una técnica clásica de «Living off the Land», diseñada para mezclarse con tareas administrativas rutinarias, sin embargo, provoca IDs de Eventos de Seguridad de Windows específicos (4724/4738) que la regla de detección está diseñada para captar.

  • Script de Prueba de Regresión:

    # Script de Simulación: Restablecimiento de Contraseña vía PowerShell
    # Nota: Esto debe ejecutarse en un entorno de laboratorio controlado con los permisos apropiados.
    
    $TargetUser = "Service_SVC"
    
    Write-Host "[*] Verificando si el usuario objetivo existe..." -ForegroundColor Cyan
    if (Get-ADUser -Filter "SamAccountName -eq '$TargetUser'") {
        Write-Host "[+] Usuario objetivo $TargetUser encontrado. Continuando con la simulación de restablecimiento de contraseña..." -ForegroundColor Green
    
        # Generando Evento ID 4724 / 4738
        try {
            $NewPassword = ConvertTo-SecureString "SimulatedPass123!" -AsPlainText -Force
            Set-ADAccountPassword -Identity $TargetUser -NewPassword $NewPassword
            Write-Host "[+] ÉXITO: Restablecimiento de contraseña activado. Verifique los Registros de Seguridad para Evento ID 4724/4738." -ForegroundColor Green
        } catch {
            Write-Host "[-] ERROR: No se pudo restablecer la contraseña. Asegúrese de estar ejecutando como usuario Admin/Autorizado." -ForegroundColor Red
            Write-Error $_
        }
    } else {
        Write-Host "[-] ERROR: Usuario objetivo $TargetUser no encontrado. Por favor, cree el usuario primero." -ForegroundColor Red
    }
  • Comandos de Limpieza:

    # Script de Limpieza: Restaurar estado original
    $TargetUser = "Service_SVC"
    $OriginalPassword = ConvertTo-SecureString "Original_Safe_Pass_2025!" -AsPlainText -Force
    
    Write-Host "[*] Restaurando contraseña original para $TargetUser..." -ForegroundColor Cyan
    Set-ADAccountPassword -Identity $TargetUser -NewPassword $OriginalPassword
    Write-Host "[+] Limpieza completa." -ForegroundColor Green