¿Cómo volcar el archivo SAM de Windows mientras el sistema se está ejecutando?

14

Exploté máquinas de prueba usando metasploit y pude obtener los hashes del archivo SAM; He intentado ejecutar comandos SYSTEMpara obtenerlos, pero no puedo hacerlo. ¿Cuál es un método más portátil para extraer los hashes del archivo SAM?


fuente

Respuestas:

12

No es un problema de permisos: Windows mantiene un bloqueo exclusivo en el archivo SAM (que, hasta donde yo sé, es un comportamiento estándar para las colmenas de registro cargadas), por lo que es imposible que cualquier otro proceso lo abra.

Sin embargo, las versiones recientes de Windows tienen una característica llamada "Volume Shadow Copy", que está diseñada para crear instantáneas de solo lectura de todo el volumen, principalmente para copias de seguridad. Los bloqueos de archivos están ahí para garantizar la coherencia de los datos, por lo que son innecesarios si se realiza una instantánea de todo el sistema de archivos. Esto significa que es posible crear una instantánea de C:, montarla, copiar su SAMarchivo y luego descartar la instantánea.

Cómo hacerlo exactamente depende de su versión de Windows: XP necesita un programa externo, Vista y 7 tienen vssadmin create shadow, y Server 2008 tiene el diskshadowcomando. La página Descarga segura de hashes de controladores de dominio en vivo tiene más detalles sobre este proceso, así como instrucciones y scripts.

Alternativamente, existen herramientas como las samdumpque abusan del proceso LSASS desde varias direcciones para extraer todos los hashes de contraseñas directamente de la memoria. Pueden ser mucho más rápidos que las instantáneas VSS, pero tienen un mayor riesgo de bloquear el sistema.

Finalmente, Google saca este fragmento, cuya utilidad no puedo calificar porque nunca he usado metasploit:

meterpreter> use priv
meterpreter> hashdump
usuario1686
fuente
¿Cuál es la diferencia entre los archivos SAM \ SYSTEM y las subclaves de registro SAM \ SYSTEM (me refiero a la respuesta de vmarquet )? ¿Los contenidos son iguales?
GordonAitchJay
1
Sí, esos archivos son en realidad donde se almacena la base de datos del registro: el archivo "SYSTEM" contiene los datos de HKLM \ SYSTEM. (Quiero decir, tiene que almacenarse en algún archivo en algún lugar, ¿ no es así?) Puede mirar HKLM\SYSTEM\CurrentControlSet\Control\HiveListpara ver qué subclaves corresponden a qué archivos.
user1686
12

Existe una solución más simple que no necesita administrar volúmenes paralelos ni utilizar herramientas externas. Simplemente puede copiar SAM y SYSTEM con el regcomando proporcionado por microsoft (probado en Windows 7 y Windows Server 2008):

reg save hklm\sam c:\sam
reg save hklm\system c:\system

(el último parámetro es la ubicación donde desea copiar el archivo)


Luego puede extraer los hashes en un sistema Linux con el paquete samdump2 (disponible en Debian:) apt-get install samdump2:

$ samdump2 system sam
Administrator:500:aad3b435b51404eeaad3b435b51404ee:c0e2874fb130015aec4070975e2c6071:::
*disabled* Guest:501:aad3b435b51404eeaad3b435b51404ee:d0c0896b73e0d1316aeccf93159d7ec0:::
vmarquet
fuente
¿En qué sabores de Windows funciona esto (o más bien en cuál no)? traté de distinguirlo del sitio web de MSDN pero no aparece en la lista (al menos no lo vi)
n00b
esto simplemente volca las cuentas locales. para obtener créditos de dominio en caché, también debe obtener SEGURIDAD del registro. entonces puede ejecutar: python /usr/share/doc/python-impacket/examples/secretsdump.py -sam SAM -security SECURITY -system SYSTEM LOCAL para volcar todos los créditos almacenados en caché.
n00b
5

Editar: decidí editar después de muchos años de abandono.


El archivo SAM de Windows no puede copiarse / leerse a diferencia /etc/shadow de los sistemas Linux. En cambio, para evitar esto, las herramientas extraerán hashes de la memoria.

Hay maneras de evitar esto que cubriré a continuación:

Mimikatz

Ejecuta mimikatz con sekurlsa::logonpasswords.

fgdump

Funcionalidad similar a mimikatz. Ejecútelo y los hashes se volcarán a los archivos locales.

hashdump

Construido en meterpreter; extrae hashes de la memoria.

Registro

También es posible extraer del registro (si tiene SYSTEMacceso):

  1. reg save hklm\sam %tmp%/sam.reg y reg save hklm\system %tmp%/system.reg
  2. Copie los archivos y luego ejecute: samdump2 system sam

Copias de seguridad

El archivo SAM también se puede almacenar en una ubicación de respaldo: C:\Windows\Repair\SAM

También debo mencionar que las herramientas requerirán, como mínimo, Administratorprivilegios; y la mayoría no obtendrá todos los hashes a menos que SYSTEMse obtenga acceso.


fuente
Tal vez me he entendido mal, pero de qué manera son herramientas como Mimikatzo fgdumpmás fáciles de transportar que C & A o diferente a él? Por lo que puedo decir, todas son herramientas de terceros que no vienen con Windows y deben cargarse por separado. Además, para mi propia curiosidad, ¿cuál es el caso de uso de las herramientas de volcado de hash cuando existen herramientas como Ophcrack?
Hashim
¿Se puede usar mimikatz para descifrar hashes locales en un sistema apagado mediante un disco de arranque, o solo está diseñado para ejecutarse en un sistema encendido?
Hashim
1

El método Obscuresec supera sus dificultades localmente en cualquier máquina con Windows Powershell 1.0 habilitado. Deja algunos objetivos que conozco, pero bueno, ¡buen trabajo! (gracias Chris)

Nota: Siempre se necesitan privilegios de administrador para realizar dicha operación.

Podrías usar

http://gallery.technet.microsoft.com/scriptcenter/Get-PasswordFile-4bee091d

o de otra fuente (más reciente podría agregar)

https://github.com/obscuresec/PowerShell/blob/master/Get-PasswordFile

Lectura aconsejada:

Para capturar sistemas remotos, las colmenas SAM y SYSTEM utilizan lo mencionado anteriormente junto con

Marco Vaz
fuente
1

Me gustaría especificar un método adicional que no se describe aquí, ya que mucho tiempo en Red Teaming / Penetration Testing las formas más obvias no son accesibles (denegadas, son monitoreadas por Blue Team, etc.) y es bueno conocer todas las técnicas disponibles.

Una de las soluciones alternativas para acceder a los archivos, cuyo sistema tiene identificadores (no se puede copiar / eliminar como de costumbre), se vssshadow.exeindica anteriormente.

Segundo - esentutil.exe.

Comando exacto para tomar una copia del archivo con identificador:

esentutl.exe /y /vss c:\windows\ntds\ntds.dit /d c:\folder\ntds.dit

Esto se aplica a SAM, SYSTEM, SECURITY, NTDS.DIT, etc.

PD esentutl.py: el paquete de impacket está en: https://github.com/SecureAuthCorp/impacket/blob/master/examples/esentutl.py

Imagen de PSS esentutl PoC

dtrizna
fuente