Windows Local Password Attacks

AttackingSAM

Registry Hive
Descripción

hklm\sam

Contiene los hashes asociados a las contraseñas de cuentas locales. Necesitaremos los hashes para poder descifrarlos y obtener las contraseñas de las cuentas de usuario en texto sin formato.

hklm\system

Contiene la clave de arranque del sistema, que se utiliza para cifrar la base de datos SAM. Necesitaremos la clave de arranque para descifrar la base de datos SAM.

hklm\security

Contiene credenciales almacenadas en caché para cuentas de dominio. Puede resultar beneficioso tener esto en un destino de Windows unido a un dominio.

Using reg.exe save to Copy Registry Hives

C:\WINDOWS\system32> reg.exe save hklm\sam C:\sam.save

The operation completed successfully.

C:\WINDOWS\system32> reg.exe save hklm\system C:\system.save

The operation completed successfully.

C:\WINDOWS\system32> reg.exe save hklm\security C:\security.save

The operation completed successfully.

Creating a Share with smbserver.py

Moving Hive Copies to Share

Dumping Hashes with Impacket's secretsdump.py

Cracking Hashes with Hashcat

Remote Dumping & LSA Secrets Considerations

Dumping LSA Secrets Remotely

Dumping SAM Remotely

Attacking LSASS

LSASS es un servicio crítico que desempeña un papel central en la administración de credenciales y los procesos de autenticación en todos los sistemas operativos Windows.

Dumping LSASS Process Memory

Rundll32.exe & Comsvcs.dll Method

Finding LSASS PID in PowerShell

Creating lsass.dmp using PowerShell

Using Pypykatz to Extract Credentials

Cracking the NT Hash with Hashcat

Attacking Active Directory - NTDS.dit

Podemos crear nuestras listas manualmente o usar una automated list generatorherramienta basada en Ruby, como Username Anarchy,arrow-up-right para convertir una lista de nombres reales en formatos de nombre de usuario comunes. Una vez que la herramienta se haya clonado en nuestro host de ataque local usando Git, podemos ejecutarla contra una lista de nombres reales como se muestra en el siguiente ejemplo de salida:

Capturing NTDS.dit

Connecting to a DC with Evil-WinRM

Checking Local Group Membership

Queremos comprobar si la cuenta tiene derechos de administrador local. Para hacer una copia del archivo NTDS.dit, necesitamos derechos de administrador local ( Administrators group) o de administrador de dominio ( Domain Admins group) (o equivalentes). También queremos comprobar qué privilegios de dominio tenemos.

Checking User Account Privileges including Domain

Esta cuenta tiene derechos de administrador y de administrador de dominio, lo que significa que podemos hacer casi todo lo que queramos, incluso hacer una copia del archivo NTDS.dit.

Creating Shadow Copy of C:

Copying NTDS.dit from the VSS

Transferring NTDS.dit to Attack Host

A Faster Method: Using cme to Capture NTDS.dit

Cracking Hashes & Gaining Credentials

Pass-the-Hash Considerations

Todavía podemos usar hashes para intentar autenticarnos con un sistema mediante un tipo de ataque llamado Pass-the-Hash( PtH). Un ataque PtH aprovecha el protocolo de autenticación NTLMarrow-up-right para autenticar a un usuario mediante un hash de contraseña. En lugar de username: clear-text passwordcomo formato para iniciar sesión, podemos usar username: password hash. A continuación, se muestra un ejemplo de cómo funcionaría esto:

Pass-the-Hash with Evil-WinRM Example

Credential Hunting in Windows

Lazagne All

Podemos aprovechar herramientas de terceros como Lazagnearrow-up-right para descubrir rápidamente las credenciales que los navegadores web u otras aplicaciones instaladas pueden almacenar de forma insegura. Sería beneficioso mantener una copia independientearrow-up-right de Lazagne en nuestro host de ataque para que podamos transferirla rápidamente al objetivo. Lazagne.exefuncionará perfectamente para nosotros en este escenario.

Using findstr

Last updated