Como despejar o arquivo SAM do Windows enquanto o sistema está em execução?

11

Eu explorei máquinas de teste usando o metasploit e consegui obter os hashes do arquivo SAM; Eu tentei executar comandos como SYSTEM para obtê-los, mas sou incapaz de fazê-lo. O que é um método mais portátil para extrair os hashes do arquivo SAM?

    
por user1529891 03.12.2011 / 19:50

4 respostas

5

Edit: Eu decidi editar depois de muitos anos de abandono.

O arquivo SAM do Windows está bloqueado para copiar / ler diferentemente de /etc/shadow em sistemas Linux. Em vez disso, para contornar essas ferramentas, você extrairá hashes da memória.

Existem maneiras de contornar isso que abordarei abaixo:

Mimikatz

Execute mimikatz com sekurlsa::logonpasswords .

fgdump

Funcionalidade semelhante ao mimikatz. Execute-o e os hashes serão despejados em arquivos locais.

hashdump

Construído em meterpreter; extrai hashes da memória.

Registro

Também é possível extrair do registro (se você tiver SYSTEM access):

  1. reg save hklm\sam %tmp%/sam.reg e reg save hklm\system %tmp%/system.reg
  2. Copie os arquivos e execute: samdump2 system sam

Backups

O arquivo SAM também pode ser armazenado em um local de backup: C:\Windows\Repair\SAM

Devo mencionar também que as ferramentas exigirão, no mínimo, Administrator privileges; e a maioria não obterá todos os hashes a menos que SYSTEM seja acessado.

    
por 02.02.2012 / 08:10
9

Não é um problema de permissão - o Windows mantém um bloqueio exclusivo no arquivo SAM (que, até onde eu sei, é um comportamento padrão para seções carregadas do Registro), portanto, é impossível que qualquer outro processo o abra.

No entanto, versões recentes do Windows têm um recurso chamado "Volume Shadow Copy", projetado para criar instantâneos somente leitura do volume inteiro, principalmente para backups. Os bloqueios de arquivos estão lá para garantir a consistência dos dados, portanto, eles são desnecessários se um instantâneo de todo o sistema de arquivos for criado. Isso significa que é possível criar um instantâneo de C: , montá-lo, copiar seu arquivo SAM e descartar o instantâneo.

Como exatamente isso depende da versão do Windows: o XP precisa de um programa externo, o Vista e o 7 têm vssadmin create shadow e o Server 2008 tem o comando diskshadow . A página Hashes de despejo seguro de controladores de domínio em tempo real tem mais detalhes sobre esse processo, além de instruções e scripts.

Como alternativa, existem ferramentas como samdump que abusam do processo LSASS de várias direções para extrair todos os hashes de senha diretamente da memória. Eles podem ser muito mais rápidos do que os instantâneos do VSS, mas têm um risco maior de travar o sistema.

Por fim, o Google traz este snippet, cuja utilidade não posso avaliar por nunca ter usado o metasploit:

meterpreter> use priv
meterpreter> hashdump
    
por 03.12.2011 / 20:00
5

Existe uma solução mais simples que não precisa gerenciar volumes shadow ou usar ferramentas externas. Você pode simplesmente copiar SAM e SYSTEM com o comando reg fornecido pela microsoft (testado no Windows 7 e Windows Server 2008):

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

(o último parâmetro é o local onde você deseja copiar o arquivo)

Você pode então extrair os hashes em um sistema Linux com o pacote samdump2 (disponível no Debian: apt-get install samdump2 ):

$ samdump2 system sam
Administrator:500:aad3b435b51404eeaad3b435b51404ee:c0e2874fb130015aec4070975e2c6071:::
*disabled* Guest:501:aad3b435b51404eeaad3b435b51404ee:d0c0896b73e0d1316aeccf93159d7ec0:::
    
por 13.06.2016 / 14:06