Ataque AS-REP Roast

A pré-autenticação Kerberos é um recurso de segurança que oferece proteção contra ataques de “adivinhação de senha”. A solicitação AS identifica o cliente para o KDC em texto simples. Se a pré-autenticação Kerberos estiver habilitada, um “timestamp” será criptografado usando o hash de senha do usuário como uma chave de criptografia. Esse recurso está descrito na  RFC 6113 

Em meu ambiente eu tenho usuário chamado “Bill Gates” no qual eu habilitei a opção “Do not require Kerberos preauthentication“:

AS-REP Roast

Mesmo sendo um recurso de “proteção” ele pode ser explorado.

O ataque AS-REP é um ataque Kerberos que permite recuperar hashes de senha de usuários sem a etapa de pré-autenticação. A etapa de pré-autenticação é a etapa inicial da autenticação Kerberos, em que um usuário envia uma solicitação criptografada ao KDC para se autenticar em um serviço.

O passo a passo para essa POC do ataque pode ser encontrada no site https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/as-rep-roasting-using-rubeus-and-hashcat

Podemos facilmente usar o “Rubeus”,e executar o ataque AS-REP em nosso ambiente. E ele é bem fácil e simples.

https://github.com/GhostPack/Rubeus e os binários podem ser encontrados no https://github.com/r3motecontrol/Ghostpack-CompiledBinaries

Ataque ou verificação ?

O que eu queria fazer é enumerar as contas que podem ser vetor desse ataque sem usar um software como o Rubeus, pois ele vai ser detectado como malicioso e eu não estou interessado (nesse momento) em trazer o “AS_REP Hash”.

Então resolvi criar um shell script no Kali Linux para enumerar as contas do Active Directory com o atributo “kerberos preauthentication” habilitado usando o ldapsearch. A dificuldade foi que eu não sou um desenvolvedor habilidoso e meus algoritmos talvez não estejam tão eficientes, mas funcionou e aprendi que esse é o ponto inicial mais importante

Imagem

https://github.com/danieldonda/ShellScript

Uma das dificuldades de criar esse código é que os valores do UAC são incrementais então eu segui pelos atributos mais comuns usados o que significa que precisa refinar e completar o código para não deixar nenhuma variável de fora.

https://docs.microsoft.com/pt-br/troubleshoot/windows-server/identity/useraccountcontrol-manipulate-account-properties

Anúncio

Sobre Daniel Donda 538 Artigos
Olá, meu nome é Daniel Donda e sou especialista em cibersegurança, autor de livros, professor e palestrante. Saiba mais

2 Comentários

Faça um comentário

Seu e-mail não será divulgado.


*