
Uma tentativa de portar o PoC do BlueKeep de @Ekultek para exploits reais
Este projeto foi arquivado, pois exploits reais foram desenvolvidos em outro lugar com mais sucesso.
https://blog.rapid7.com/2019/09/06/initial-metasploit-exploit-module-for-bluekeep-cve-2019-0708/
bluekeep_CVE-2019-0708_poc_to_exploit
Por favor, leia as issues (tanto fechadas quanto abertas) antes de postar coisas como "Não funciona", "Nada aconteceu depois que executei o script" ou "Erro (sem ser específico), me ajude".
============================================================================
============================================================================
============================================================================ Isso não é um exploit de prateleira que você pode simplesmente pegar e testar.
Além disso, os métodos de entrega também são importantes para garantir que seus códigos sejam executados na máquina remota.
Até agora ainda não conseguimos obter com sucesso um shell e alcançar RCE.
A maioria dos scanners e PoCs por aí funcionam apenas analisando as respostas dos hosts alvo e determinando se os hosts são vulneráveis ou não. (Como todos vocês devem saber, versões corrigidas e não corrigidas retornam respostas diferentes, assim como SOs que não são afetados). Eles não "exploram" realmente os hosts alvo. Para alcançar RCE, primeiro devemos tentar acionar a vulnerabilidade enviando pacotes especialmente criados (consulte o MSDN do RDP para especificações do protocolo). Depois que a vulnerabilidade é acionada, o segundo passo é analisar os crashes ou dumps de memória para descobrir como nossos códigos podem se encaixar. Não é tão simples quanto a maioria de nós pensa.
Alguns recursos úteis:
Você pode usar o Magic Unicorn do @trustedsec para gerar shell codes. https://github.com/trustedsec/unicorn
**Nota: Use Python 3
O cliente RDP inicia a conexão quando o usuário fornece o nome da área de trabalho remota para conectar. O cliente RDP inicia uma conexão com o Host da Sessão RD enviando uma Unidade de Dados de Protocolo (PDU) de Solicitação de Conexão X.224.
O Host da Sessão RD responde com uma PDU de Confirmação de Conexão X.224.
O cliente RDP envia uma PDU de Inicialização de Conexão MCS (Multipoint Communication Service) com Solicitação de Criação de Conferência GCC. --> A vulnerabilidade está relacionada a esta solicitação.
O Host da Sessão RD responde com uma PDU de Resposta de Conexão MCS com Resposta de Criação de Conferência GCC.
O cliente RDP envia uma PDU de Solicitação de Domínio Erect MCS.
O cliente RDP envia uma PDU de Solicitação de Anexo de Usuário MCS.
O Host da Sessão RD responde com uma PDU de Confirmação de Anexo de Usuário MCS.
O cliente RDP envia várias (neste caso, seis) PDUs de Solicitação de Ingresso em Canal MCS.
O Host da Sessão RD envia várias (neste caso, seis) PDUs de Confirmação de Ingresso em Canal MCS.
O cliente RDP envia uma PDU de Troca de Segurança.
O cliente RDP envia uma PDU de Informações do Cliente.
O Host da Sessão RD envia uma PDU de Erro de Licença - Cliente Válido.
O Host da Sessão RD envia uma PDU de Ativação de Demanda.
O cliente RDP responde com uma PDU de Ativação de Confirmação.
O cliente RDP envia uma PDU de Sincronização.
O cliente RDP envia uma PDU de Controle - Cooperar.
O cliente RDP envia uma PDU de Controle - Solicitar Controle.
O cliente RDP envia zero ou mais PDUs de Lista de Chaves Persistentes. Neste caso, zero PDUs são enviados.
O cliente RDP envia uma PDU de Lista de Fontes.
O Host da Sessão RD envia uma PDU de Sincronização.
O Host da Sessão RD envia uma PDU de Controle - Cooperar.
O Host da Sessão RD envia uma PDU de Controle - Controle Concedido.
O Host da Sessão RD envia uma PDU de Mapa de Fontes..