Estou examinando um protocolo em um aplicativo do iPhone que funciona sobre SSL. Quais são as minhas opções para fazer o homem no meio?

0

Estou tentando fazer engenharia reversa de um aplicativo e preciso examinar o tráfego entre o telefone e o servidor. Eu sei como usar MITM e ferramentas de análise de rede muito bem, no entanto, eu não sei como fazer isso se o tráfego é criptografado. Tenho alguma opção aqui ou sou SOL?

    
por Brennan Holzer 29.07.2013 / 01:07

1 resposta

1

Eu acho que você pode ser S.O.L. se o aplicativo em questão estiver codificado para aceitar somente um certificado específico. No entanto, provavelmente não é muito inteligente que um aplicativo seja codificado dessa maneira, porque isso significaria que eles precisariam emitir uma nova versão do aplicativo se a chave privada do servidor já estivesse comprometida ou se o certificado já tivesse expirado. / p>

Mas se aceitar qualquer certificado de servidor para o nome de domínio de destino que tenha sido assinado corretamente por um certificado de CA raiz confiável, você provavelmente poderá seguir etapas como esta:

  1. Crie seu próprio certificado de CA raiz e use-o para assinar / emitir um certificado de servidor falso para o nome de domínio em questão. Instale o servidor falso cert em seu aplicativo proxy MITM. Considere o uso de uma ferramenta como o Charles proxy , que muito Os desenvolvedores de iOS usam esse tipo de coisa porque isso é relativamente fácil.
  2. Diga ao iPhone para confiar no seu certificado de CA raiz. Isso geralmente é feito instalando um perfil de configuração / provisionamento do iOS que você pode criar com o aplicativo Apple Configurator (antigo iPhone Configuration Utility).
  3. Execute o aplicativo com o proxy no lugar. Observe que você pode ter que usar / etc / hosts ou controlar seu próprio servidor DNS para garantir que o nome do host do servidor de destino em questão seja resolvido para o endereço IP do seu proxy.
por 29.07.2013 / 02:25