TimeRoasting
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o 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.
timeRoasting, a principal causa Ć© o mecanismo de autenticação desatualizado deixado pela Microsoft em sua extensĆ£o para servidores NTP, conhecido como MS-SNTP. Nesse mecanismo, os clientes podem usar diretamente o Identificador Relativo (RID) de qualquer conta de computador, e o controlador de domĆnio usarĆ” o hash NTLM da conta de computador (gerado pelo MD4) como a chave para gerar o Código de Autenticação de Mensagem (MAC) do pacote de resposta.
Os atacantes podem explorar esse mecanismo para obter valores de hash equivalentes de contas de computador arbitrÔrias sem autenticação. Claramente, podemos usar ferramentas como Hashcat para força bruta.
O mecanismo especĆfico pode ser visualizado na seção 3.1.5.1 "Comportamento da Solicitação de Autenticação" da documentação oficial do Windows para o protocolo MS-SNTP.
No documento, a seção 3.1.5.1 cobre o Comportamento da Solicitação de Autenticação.
Pode-se ver que quando o elemento ADM ExtendedAuthenticatorSupported Ć© definido como
false
, o formato Markdown original Ć© mantido.
Citado no artigo originalļ¼
Se o elemento ADM ExtendedAuthenticatorSupported for falso, o cliente DEVE construir uma mensagem de Solicitação NTP do Cliente. O comprimento da mensagem de Solicitação NTP do Cliente é de 68 bytes. O cliente define o campo Autenticador da mensagem de Solicitação NTP do Cliente conforme descrito na seção 2.2.1, escrevendo os 31 bits menos significativos do valor RID nos 31 bits menos significativos do subcampo Identificador da Chave do autenticador, e então escrevendo o valor do Seletor de Chave no bit mais significativo do subcampo Identificador da Chave.
Na seção 4 do documento Exemplos de Protocolo ponto 3
Citado no artigo originalļ¼
- Após receber a solicitação, o servidor verifica se o tamanho da mensagem recebida é de 68 bytes. Se não for, o servidor descarta a solicitação (se o tamanho da mensagem não for igual a 48 bytes) ou a trata como uma solicitação não autenticada (se o tamanho da mensagem for 48 bytes). Supondo que o tamanho da mensagem recebida seja de 68 bytes, o servidor extrai o RID da mensagem recebida. O servidor o utiliza para chamar o método NetrLogonComputeServerDigest (conforme especificado na seção 3.5.4.8.2 do [MS-NRPC]) para calcular os checksums criptogrÔficos e selecionar o checksum criptogrÔfico com base no bit mais significativo do subcampo Identificador da Chave da mensagem recebida, conforme especificado na seção 3.2.5. O servidor então envia uma resposta ao cliente, definindo o campo Identificador da Chave como 0 e o campo Crypto-Checksum como o checksum criptogrÔfico calculado.
De acordo com a descrição no documento oficial da Microsoft acima, os usuÔrios não precisam de nenhuma autenticação; eles apenas precisam preencher o RID para iniciar uma solicitação e, em seguida, podem obter o checksum criptogrÔfico. O checksum criptogrÔfico é explicado na seção 3.2.5.1.1 do documento.
Citado no artigo originalļ¼
O servidor recupera o RID dos 31 bits menos significativos do subcampo Identificador da Chave do campo Autenticador da mensagem de Solicitação NTP do Cliente. O servidor usa o método NetrLogonComputeServerDigest (conforme especificado na seção 3.5.4.8.2 do [MS-NRPC]) para calcular checksums criptogrÔficos com os seguintes parâmetros de entrada:
O checksum criptogrĆ”fico Ć© calculado usando MD5, e o processo especĆfico pode ser consultado no conteĆŗdo do documento. Isso nos dĆ” a oportunidade de realizar um ataque de roasting.
como atacar
Citar para https://swisskyrepo.github.io/InternalAllTheThings/active-directory/ad-roasting-timeroasting/
SecuraBV/Timeroast - Scripts de Timeroasting de Tom Tervoort
sudo ./timeroast.py 10.0.0.42 | tee ntp-hashes.txt
hashcat -m 31300 ntp-hashes.txt
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporte o 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.