HTTPS: ¿el servidor puede ver los detalles del certificado del lado del cliente?

1

Estoy utilizando mitmproxy para interceptar las conexiones HTTPS de mi dispositivo cliente a un servidor de terceros. Para que mitmproxy pueda interceptar solicitudes SSL, necesito instalar un certificado raíz de confianza en mi dispositivo.

¿Hay alguna forma de que el servidor sepa que las solicitudes han sido interceptadas? ¿El servidor puede ver los detalles del certificado raíz personalizado? Por ejemplo, si el nombre es "mitmproxy", ¿el servidor puede ver eso?

    
pregunta pandemic 08.05.2015 - 15:57
fuente

2 respuestas

1
  

¿Hay alguna forma de que el servidor sepa que las solicitudes han sido interceptadas?

No, porque la comunicación con el servidor no utiliza el certificado MITM instalado a la medida. Ese certificado solo lo utiliza el cliente cuando se comunica con el proxy.

[Client] <=========================> [Proxy] <=======================> [Server]
           Connection using fake               Connection using real
           user-installed cert/key             server cert/key

El servidor solo sabe que se está comunicando con algún cliente. El servidor no tiene idea de que ese cliente es en realidad un proxy que actúa en nombre de otro cliente. La conexión de proxy a servidor es una conexión HTTPS genuina, utilizando la clave y el certificado reales del servidor.

La conexión entre el cliente y el proxy es donde está sucediendo algo sospechoso. El proxy sabe que el certificado no es original, pero el proxy está controlado por la persona que organiza el ataque MITM, por lo que es perfectamente razonable.

    
respondido por el apsillers 08.05.2015 - 17:40
fuente
1

Un ataque Man-in-the-Middle realmente es doble personificación: el atacante posa como un cliente falso cuando se habla con el servidor, y como un servidor falso cuando se habla con el servidor. En un contexto SSL, esto significa que hay dos acuerdos completamente distintos: uno entre el atacante y el cliente, y uno entre el atacante y el servidor. Los detalles sobre lo que sucede en un apretón de manos, incluidos los certificados que se intercambiaron, no tienen impacto en el otro (y viceversa).

El MitM ejecuta ambas imitaciones al mismo tiempo porque quiere reutilizar elementos de datos tanto del cliente como del servidor. Normalmente, el atacante quiere la contraseña del usuario; el atacante podría simplemente emular un servidor falso y nunca hablar con el servidor verdadero (entonces sería una simple suplantación), pero al atacante le parece conveniente hablar simultáneamente con el servidor verdadero, porque esto lo hace Es más fácil ofrecer una emulación convincente del servidor al cliente.

    
respondido por el Tom Leek 07.07.2015 - 19:57
fuente

Lea otras preguntas en las etiquetas