Registre e depure / decriptografe o tráfego HTTPS de um aplicativo do Windows

2

Eu tenho um aplicativo proprietário exclusivo para Windows que usa HTTPS para falar com um serviço da Web (também proprietário, não documentado).

Para finalmente poder usar a funcionalidade do serviço da web em minhas máquinas linux, quero fazer engenharia reversa da API de serviço da web analisando as solicitações enviadas pelo aplicativo.

Agora, a pergunta: Como posso descriptografar e registrar o tráfego HTTPS?

Conheço várias soluções que não se aplicam no meu caso:

  • O Fiddler é um proxy HTTPS man-in-the-middle que não posso usar, pois o aplicativo não suporta proxies. Além disso, eu ainda não sei se funciona com certificados de servidor auto-assinados, o que duvido.
  • O Wireshark é capaz de descriptografar fluxos SSL se você tiver o certificado privado do servidor , o qual eu não tenho.
  • qualquer extensão do navegador, pois o aplicativo não é um navegador

Se bem me lembro, tem havido alguns trojans que capturam informações bancárias online conectando-se / substituindo a API de criptografia da janela. Como a máquina é minha, mudanças de baixo nível são possíveis. Talvez exista um aplicativo de log de rede não-trojan (white-hat) por aí que faz o mesmo?

Existe um apresentação de blackhat com alguns detalhes disponível para leitura. Eles se referem a desvios de pesquisa da Microsoft para facilitar a conexão da API. Veja um exemplo de Detours hooking .

Perguntas relacionadas:

  • Como posso fazer engenharia reversa de um protocolo de rede ( Metatrader 4)?
por cweiske 29.06.2011 / 12:29

4 respostas

4

Se o aplicativo vier com sua própria implementação HTTPS vinculada automaticamente, não será possível invadir nada com tanta facilidade, pois você só poderá testemunhar o tráfego criptografado. Man-in-the-middle é sua melhor aposta, mas é melhor você orar para que o aplicativo não verifique o certificado.

Sobre "não é possível usar": normalmente, você não precisa que um aplicativo seja "man-in-the-middle enabled" para montar um ataque MITM. O ponto principal de tal ataque é que você manipula o ambiente de rede de forma que seu proxy tome o lugar no qual o aplicativo espera seu par. Como você controla o ambiente, isso deve ser bem fácil.

Por fim, se você não puder espionar o tráfego, poderá executar o aplicativo por meio de um depurador de memória e verificar se consegue localizar o texto claro em algum lugar.

    
por 29.06.2011 / 12:42
1
Ironicamente, só esta tarde eu estava lendo um capítulo dos Rootkits de Greg Hoglund que mencionava o registro e a descriptografia do SSL com ettercap .

    
por 30.06.2011 / 04:23
0

ospy é uma ferramenta criada especificamente para fazer engenharia reversa de comunicações de aplicativos proprietários do Windows, com suporte para SSL / HTTPS. Parece que é a ferramenta mais fácil para a minha tarefa. Encontrado através da lista de ferramentas de Monitoramento da API .

Há também um script de visualização para analisar os despejos em um máquina linux:)

Update : Eu tentei usar o ospy, mas ele funcionava em uma única VM do WindowsXP, não na outra que eu queria usar para testes. O bug é conhecido e precisa ser corrigido, mas o ospy parece estar morto desde 2009, sem esperança de que os bugs sejam corrigidos. Eu basicamente não consegui usá-lo.

    
por 30.06.2011 / 10:48
-1

Se você fizer o download de SSLStrip , poderá configurar o encaminhamento de porta (por exemplo, o tráfego HTTP da porta 80 para a porta 10000, onde O SSL tira-o, descriptografa-o e coloca-o a caminho) que decifra os pacotes encriptados por SSL antes que o resto do sistema os receba (como o Ettercap).

    
por 18.07.2011 / 09:58