Como posso decriptografar o protocolo mongo criptografado ssl para inspeção quando tenho propriedade de todos os certificados envolvidos?

3

Eu tenho um ambiente SSL do MongoDB padrão em que o protocolo mongo wire é criptografado com SSL / TLS usando chaves RSA. Eu tenho capturas de pacotes de comunicação entre o servidor MongoDB e um cliente obtido via tcpdump . Eu tenho propriedade dos certificados envolvidos na criptografia.

Eu tenho uma captura do aperto de mão e o DHE / ECDHE / PFS não está em jogo neste cenário.

Como posso descriptografar as informações nas capturas de pacotes existentes para inspecionar o conteúdo da parte do protocolo mongo wire dos pacotes?

    
por Wesley 04.02.2015 / 18:20

1 resposta

1

Você quase certamente não pode por causa do sigilo antecipado.

O MongoDB, por algum motivo, tem uma criptografia SSL codificada listar de HIGH:!EXPORT:!aNULL@STRENGTH . O que isso resulta depende da versão do OpenSSL em que foi construído, mas em um sistema moderno resultará em cifras que usam sigilo de encaminhamento sendo preferido sobre aqueles que não o fazem.

Você pode ver a lista de códigos gerados no sistema de destino com:

openssl ciphers -v 'HIGH:!EXPORT:!aNULL@STRENGTH'

Quando a conexão SSL / TLS usa sigilo de encaminhamento, é impossível descriptografar a sessão, mesmo se você tiver a chave privada do certificado SSL. Esse é o objetivo do sigilo antecipado; impede que as sessões anteriores sejam descriptografadas, mesmo que um invasor (seja você, um criminoso ou a NSA) ganhe o controle de sua chave privada.

    
por 04.02.2015 / 19:06

Tags