Stealing Windows Credentials
Credenciais Mimikatz
Encontre outras coisas que o Mimikatz pode fazer em esta página.
Invoke-Mimikatz
Saiba mais sobre algumas possíveis proteções de credenciais aqui. Essas proteções podem impedir que o Mimikatz extraia algumas credenciais.
Credenciais com Meterpreter
Use o Plugin de Credenciais que eu criei para procurar por senhas e hashes dentro da vítima.
Bypassing AV
Procdump + Mimikatz
Como Procdump do SysInternals é uma ferramenta legítima da Microsoft, não é detectado pelo Defender. Você pode usar esta ferramenta para extrair o processo lsass, baixar o dump e extrair as credenciais localmente do dump.
Este processo é feito automaticamente com SprayKatz: ./spraykatz.py -u H4x0r -p L0c4L4dm1n -t 192.168.1.0/24
Nota: Alguns AV podem detectar como malicioso o uso de procdump.exe para despejar lsass.exe, isso ocorre porque eles estão detectando a string "procdump.exe" e "lsass.exe". Portanto, é mais discreto passar como um argumento o PID de lsass.exe para procdump em vez de usar o nome lsass.exe.
Despejando lsass com comsvcs.dll
Uma DLL chamada comsvcs.dll encontrada em C:\Windows\System32
é responsável por despejar a memória do processo em caso de falha. Esta DLL inclui uma função chamada MiniDumpW
, projetada para ser invocada usando rundll32.exe
.
É irrelevante usar os dois primeiros argumentos, mas o terceiro é dividido em três componentes. O ID do processo a ser despejado constitui o primeiro componente, o local do arquivo de despejo representa o segundo, e o terceiro componente é estritamente a palavra full. Não existem opções alternativas.
Ao analisar esses três componentes, a DLL é acionada para criar o arquivo de despejo e transferir a memória do processo especificado para este arquivo.
A utilização da comsvcs.dll é viável para despejar o processo lsass, eliminando assim a necessidade de fazer upload e executar o procdump. Este método é descrito em detalhes em https://en.hackndo.com/remote-lsass-dump-passwords/.
O seguinte comando é empregado para execução:
Você pode automatizar esse processo com lssasy.
Dumping lsass com o Gerenciador de Tarefas
Clique com o botão direito na Barra de Tarefas e clique em Gerenciador de Tarefas
Clique em Mais detalhes
Procure pelo processo "Local Security Authority Process" na aba Processos
Clique com o botão direito no processo "Local Security Authority Process" e clique em "Criar arquivo de despejo".
Dumping lsass com procdump
Procdump é um binário assinado pela Microsoft que faz parte do conjunto sysinternals.
Dumpin lsass com PPLBlade
PPLBlade é uma ferramenta de despejo de processo protegido que suporta a ofuscação de despejos de memória e a transferência em estações de trabalho remotas sem gravá-los no disco.
Funcionalidades principais:
Contornar a proteção PPL
Ofuscar arquivos de despejo de memória para evadir mecanismos de detecção baseados em assinatura do Defender
Fazer upload de despejos de memória com métodos de upload RAW e SMB sem gravá-los no disco (despejo sem arquivo)
CrackMapExec
Extrair hashes do SAM
Extrair segredos LSA
Despeje o NTDS.dit do DC alvo
Extrair o histórico de senhas do NTDS.dit do DC alvo
Mostre o atributo pwdLastSet para cada conta NTDS.dit
Stealing SAM & SYSTEM
Esses arquivos devem estar localizados em C:\windows\system32\config\SAM e C:\windows\system32\config\SYSTEM. Mas você não pode apenas copiá-los de uma maneira regular porque estão protegidos.
From Registry
A maneira mais fácil de roubar esses arquivos é obter uma cópia do registro:
Baixe esses arquivos para sua máquina Kali e extraia os hashes usando:
Volume Shadow Copy
Você pode realizar cópias de arquivos protegidos usando este serviço. Você precisa ser Administrador.
Usando vssadmin
O binário vssadmin está disponível apenas nas versões do Windows Server.
Mas você pode fazer o mesmo a partir do Powershell. Este é um exemplo de como copiar o arquivo SAM (o disco rígido usado é "C:" e está salvo em C:\users\Public), mas você pode usar isso para copiar qualquer arquivo protegido:
Invoke-NinjaCopy
Finalmente, você também pode usar o script PS Invoke-NinjaCopy para fazer uma cópia do SAM, SYSTEM e ntds.dit.
Credenciais do Active Directory - NTDS.dit
O arquivo NTDS.dit é conhecido como o coração do Active Directory, contendo dados cruciais sobre objetos de usuário, grupos e suas associações. É onde os hashes de senha para usuários de domínio são armazenados. Este arquivo é um banco de dados Extensible Storage Engine (ESE) e reside em %SystemRoom%/NTDS/ntds.dit.
Dentro deste banco de dados, três tabelas principais são mantidas:
Tabela de Dados: Esta tabela é responsável por armazenar detalhes sobre objetos como usuários e grupos.
Tabela de Links: Ela rastreia relacionamentos, como associações de grupos.
Tabela SD: Descritores de segurança para cada objeto são mantidos aqui, garantindo a segurança e o controle de acesso para os objetos armazenados.
Mais informações sobre isso: http://blogs.chrisse.se/2012/02/11/how-the-active-directory-data-store-really-works-inside-ntds-dit-part-1/
O Windows usa Ntdsa.dll para interagir com esse arquivo e é utilizado por lsass.exe. Então, parte do arquivo NTDS.dit pode estar localizada dentro da memória do lsass
(você pode encontrar os dados acessados mais recentemente provavelmente devido à melhoria de desempenho ao usar um cache).
Descriptografando os hashes dentro do NTDS.dit
O hash é cifrado 3 vezes:
Descriptografar a Chave de Criptografia de Senha (PEK) usando a BOOTKEY e RC4.
Descriptografar o hash usando PEK e RC4.
Descriptografar o hash usando DES.
PEK tem o mesmo valor em cada controlador de domínio, mas é cifrado dentro do arquivo NTDS.dit usando a BOOTKEY do arquivo SYSTEM do controlador de domínio (é diferente entre controladores de domínio). É por isso que, para obter as credenciais do arquivo NTDS.dit, você precisa dos arquivos NTDS.dit e SYSTEM (C:\Windows\System32\config\SYSTEM).
Copiando NTDS.dit usando Ntdsutil
Disponível desde o Windows Server 2008.
Você também pode usar o truque de cópia de sombra de volume para copiar o arquivo ntds.dit. Lembre-se de que você também precisará de uma cópia do arquivo SYSTEM (novamente, extraia-o do registro ou use o truque de cópia de sombra de volume).
Extraindo hashes do NTDS.dit
Uma vez que você tenha obtido os arquivos NTDS.dit e SYSTEM, você pode usar ferramentas como secretsdump.py para extrair os hashes:
Você também pode extrair eles automaticamente usando um usuário administrador de domínio válido:
Para grandes arquivos NTDS.dit, é recomendável extraí-los usando gosecretsdump.
Finalmente, você também pode usar o módulo metasploit: post/windows/gather/credentials/domain_hashdump ou mimikatz lsadump::lsa /inject
Extraindo objetos de domínio do NTDS.dit para um banco de dados SQLite
Objetos NTDS podem ser extraídos para um banco de dados SQLite com ntdsdotsqlite. Não apenas segredos são extraídos, mas também todos os objetos e seus atributos para extração de informações adicionais quando o arquivo NTDS.dit bruto já foi recuperado.
O hive SYSTEM
é opcional, mas permite a descriptografia de segredos (hashes NT e LM, credenciais suplementares como senhas em texto claro, chaves kerberos ou de confiança, históricos de senhas NT e LM). Juntamente com outras informações, os seguintes dados são extraídos: contas de usuário e de máquina com seus hashes, flags UAC, timestamp do último logon e mudança de senha, descrição das contas, nomes, UPN, SPN, grupos e associações recursivas, árvore de unidades organizacionais e associação, domínios confiáveis com tipo de confiança, direção e atributos...
Lazagne
Baixe o binário aqui. Você pode usar este binário para extrair credenciais de vários softwares.
Outras ferramentas para extrair credenciais do SAM e LSASS
Windows credentials Editor (WCE)
Esta ferramenta pode ser usada para extrair credenciais da memória. Baixe-a em: http://www.ampliasecurity.com/research/windows-credentials-editor/
fgdump
Extraia credenciais do arquivo SAM
PwDump
Extrair credenciais do arquivo SAM
PwDump7
Baixe de: http://www.tarasco.org/security/pwdump_7 e apenas execute-o e as senhas serão extraídas.
Defesas
Saiba mais sobre algumas proteções de credenciais aqui.
Last updated