Eu explorei máquinas de teste usando metasploit e pude obter os hashes do arquivo SAM; Eu tentei executar comandos SYSTEM
para obtê-los, mas não consigo. O que é um método mais portátil para extrair os hashes do arquivo SAM?
Não é um problema de permissão - o Windows mantém um bloqueio exclusivo no arquivo SAM (que, tanto quanto eu sei, é um comportamento padrão para as seções do registro carregadas), por isso é impossível para qualquer outro processo abri-lo.
No entanto, as versões recentes do Windows têm um recurso chamado "Volume Shadow Copy", projetado para criar instantâneos somente leitura de todo o volume, principalmente para backups. Os bloqueios de arquivo existem para garantir a consistência dos dados, portanto, são desnecessários se for feito um instantâneo de todo o sistema de arquivos. Isso significa que é possível criar um instantâneo C:
, montá-lo, copiar seu SAM
arquivo e descartar o instantâneo.
A maneira exata de fazer isso depende da sua 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 diskshadow
comando. A página Despejos de hash com segurança de controladores de domínio ativo contém mais detalhes sobre esse processo, além de instruções e scripts.
Como alternativa, existem ferramentas como as 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 esse trecho, cuja utilidade não posso avaliar por nunca ter usado o metaploit:
meterpreter> use priv
meterpreter> hashdump
HKLM\SYSTEM\CurrentControlSet\Control\HiveList
ver quais subchaves correspondem a quais arquivos.Existe uma solução mais simples que não precisa gerenciar volumes de sombra ou usar ferramentas externas. Você pode simplesmente copiar SAM e SYSTEM com o
reg
comando fornecido pela microsoft (testado no Windows 7 e Windows Server 2008):(o último parâmetro é o local em que 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
:fonte
Edit: Decidi editar depois de muitos anos de abandono.
O arquivo SAM do Windows está impedido de copiar / ler, diferente
/etc/shadow
dos sistemas Linux. Em vez disso, para contornar essas ferramentas extrairá hashes da memória.Existem maneiras de contornar isso que abordarei abaixo:
Mimikatz
Execute mimikatz com
sekurlsa::logonpasswords
.fgdump
Funcionalidade semelhante à mimikatz. Execute-o e os hashes serão despejados nos arquivos locais.
hashdump
Construído em meterpreter; extrai hashes da memória.
Registro
Também é possível extrair do registro (se você tiver
SYSTEM
acesso):reg save hklm\sam %tmp%/sam.reg
ereg save hklm\system %tmp%/system.reg
samdump2 system sam
Backups
O arquivo SAM também pode ser armazenado em um local de backup:
C:\Windows\Repair\SAM
Também devo mencionar que as ferramentas exigirão no mínimo
Administrator
privilégios; e a maioria não terá todos os hashes, a menos que oSYSTEM
acesso seja alcançado.fonte
Mimikatz
oufgdump
mais portáteis que a C&A ou diferentes? Pelo que sei, são todas as ferramentas de terceiros que não são fornecidas com o Windows e precisam ser carregadas separadamente. Além disso, para minha própria curiosidade, qual é o caso de uso das ferramentas de descarte de hash quando existem ferramentas como o Ophcrack?O método Obscuresec supera suas dificuldades localmente em qualquer máquina com Windows PowerShell 1.0. Deixa de fora alguns objetivos que eu conheço, mas ei, bom trabalho! (obrigado Chris).
Nota: Privilégios de administrador sempre são necessários para executar essa operação
Você poderia usar
ou de outra fonte (mais recente devo acrescentar)
Leitura recomendada:
Para pegar sistemas remotos, as colmeias SAM e SYSTEM usam o mencionado acima em conjunto com
fonte
Gostaria de especificar um método adicional que não é descrito aqui, pois muito tempo no Red Teaming / Penetration Testing as maneiras mais óbvias não são acessíveis (negadas, são monitoradas pelo Blue Team, etc.) e é bom conhecer todas as técnicas disponíveis.
Uma das soluções alternativas para acessar arquivos, nas quais o sistema possui identificadores (não é possível copiar / remover normalmente), é
vssshadow.exe
informada acima.Segundo -
esentutil.exe
.Comando exato para tirar uma cópia do arquivo com o identificador:
esentutl.exe /y /vss c:\windows\ntds\ntds.dit /d c:\folder\ntds.dit
Isso se aplica a SAM, SYSTEM, SECURITY, NTDS.DIT etc.
PS Há
esentutl.py
no pacote do impacket: https://github.com/SecureAuthCorp/impacket/blob/master/examples/esentutl.pyImagem PSS esentutl PoC
fonte