RDP - Remote Desktop - EsteemAudit - Exploit

EsteemAudit é um exploit para Remote Desktop (RDP) que faz parte do conjunto de hacking-tools vazadas pelo grupo "Shadow Brokers" em 2017. Os sistemas afetados são Windows Server 2003 e Windows XP. A Microsoft descontinou o suporte para essas versões de S.O e não publicou correção para a vulnerabilidade explorada pelo EsteemAudit

CVE-2017-0176 - Buffer-Overflow Smart Card

O login com Smart Card é suportado por todas as versões do Windows. O Smart Card armazena os dados do usuário para autenticação junto com uma chave privada e um certificado público. 

Quando o logon é remoto através do RDP, a máquina remota se comunica com a máquina local para acesso ao smart card reader que lê as informações do card remoto e faz a validação do PIN digitado pelo usuário. 

A vulnerabilidade encontra-se na função MyCPAcquireContext() da dll gpkcsp.dll. Essa dll é chamada pelo winlogon.exe quando uma nova sessão do windows é iniciada. A função MyCPAcquireCOntext() é usada pelo windows CSP - Cryptographic Service Providers que tem a função de implementar criptografia ao processo de autenticação. 

O buffer-overflow ocorre quando a função MyCPAcquireContext() lê os dados de autenticação do usuário e preenche os campos do CSP. Caso os dados lidos sejam maiores que o buffer dos campos, ocorre o buffer-overflow e a escrita em outros campos. Quando o buffer-overflow ocorre é possível explorar a vulnerabilidade através da execução de códigos. 

Exploit 

O código do exploit EsteemAudit pode ser encontrado no github onde também encontramos as informações para adicionar o EsteemAudit ao Metasploit.

POC - Prova de Conceito 

Depois que o exploit é implementado como módulo no metasploit, o ataque pode ser realizado. 


Antes de executar, tive que alterar a porta da máquina local para receber a shell-reversa. Na imagem abaixo é possível ver que a conexão foi estabelecida com a porta 2323

A shell-reversa é estabelecida com o usuário system no servidor local. 


User system 

A conta system é padrão do windows, essa conta é usada pelo sistema operacional e pelos serviços do windows. O controle da conta system é feita pelo próprio sistema operacional e não pode ser atribuída a nenhum grupo. 

Por padrão, a conta system recebe controle total para todos os arquivos em um volume NTFS e, por esse motivo, a conta system tem as mesmas permissões que uma conta de administrador. 


Referência: 

[+] Github EsteemAudit: https://github.com/BlackMathIT/Esteemaudit-Metasploit

[+] Deep Analysis of EsteemAudit: https://www.fortinet.com/blog/threat-research/deep-analysis-of-esteemaudit 

[+] CVE-2017-0176: https://nvd.nist.gov/vuln/detail/CVE-2017-0176


Comentários

Postagens mais visitadas