Ver solicitudes SSL sin cifrar desde un cliente remoto [cerrado]

0

Me preguntaba cómo podría ver las solicitudes de SSL sin cifrar desde clientes remotos (específicamente, mi teléfono).

He oído que se supone que debes utilizar certificados de CA, pero ¿cómo puedo generar uno desde la línea de comandos de Linux que funcione para todos los sitios web?

También, vi un video donde se le pide a un pirata informático ético que piratee la computadora de alguien, el pirata informático logra instalar el certificado en la computadora de las víctimas a través de ingeniería social, con un correo electrónico falso.

¿Es posible instalar un certificado al hacer clic en el botón, o tiene que importarlo manualmente?

(No se preocupe, no usaré esto en nadie excepto en mí mismo, a menos que se me otorgue el permiso)

Gracias

    
pregunta Jacob Collins 15.10.2017 - 02:02
fuente

1 respuesta

1
  

¿Es posible instalar un certificado al hacer clic en un botón, o no?   ¿Tienes que importarlo manualmente?

¿Qué crees que es "importar manualmente"? Es un software (parte) que le permite al usuario seleccionar un certificado, y al hacer clic en un botón, agrega este certificado al sistema. Lo que significa, por supuesto, tal software es posible. (Esto debería ser una obviedad).

Mientras que por ejemplo. Android tenía restricciones en el pasado que los programas de terceros no tenían permiso para hacerlo, ahora es posible.

  

Me preguntaba cómo podría ver las solicitudes de SSL en un   formulario no cifrado de clientes remotos

Para las solicitudes MITM TLS (TLS, olvídese de SSL), no solo necesita la parte del certificado, sino también el acceso a los datos. Es más fácil empezar con eso.

Una solución común para propósitos legítimos es hacer un servidor proxy y configurar su teléfono para usarlo. Es decir, si llama a un sitio web, su teléfono no se conectará a él directamente, sino que se conectará al servidor proxy, y el servidor proxy se conectará al sitio web. Esto permite al servidor proxy leer cualquier información transmitida (pero no descifrarla).

Ahora, para la parte de descifrado: Es posible que sepa que cuando se inicia una conexión TLS, el servidor y el cliente acuerdan un método de cifrado, etc., y el cliente verifica (con el certificado local) si el servidor es el servidor real para la direccion dada.
Si su servidor proxy quiere descifrar los datos, tiene que actuar como cliente cuando se inicia la conexión, es decir. La conexión TLS es entre el servidor web y el servidor proxy. El problema es la otra dirección: después de leer lo que el servidor envió, también debe enviarse al teléfono (de lo contrario, el teléfono nunca iniciará una conexión TLS y no comenzará a enviar datos confidenciales a través de él). ).

La parte clave de TLS ahora es que el servidor proxy no puede volver a cifrar los datos de la forma en que el teléfono cree que proviene del servidor web (lo que significa que el teléfono rechazará la conexión, ya que reconoció que otro lado no es el servidor web). La solución (técnica, no legal) 1 es robar la clave privada del servidor web (que se guarda en el servidor web, pero es de esperar que no sea accesible para el público). Si tenía eso, su servidor proxy puede engañar al teléfono para que piense que se comunica con el servidor web. Es solo, robar la clave privada puede ser un poco difícil. La otra solución es agregar su certificado de creación propia para el sitio web al teléfono y la clave privada al servidor proxy para que el teléfono acepte el servidor proxy como servidor web legítimo también.

Pero ahora, todavía tienes un pequeño problema ...

  

pero, ¿cómo generaría uno desde la línea de comandos de Linux que funciona?   para todos los sitios web.

Si bien puede buscarlo fácilmente, no lo ayudará, porque no es posible obtener un certificado para todos los sitios web. El formato de datos (utilizado por los servidores web, navegadores, etc.) simplemente no lo permite. Es decir, necesitaría un certificado personalizado (en el teléfono y el proxy) para cada sitio web existente, si sigue esa ruta.

Para resolver esto en el lado del teléfono, cree un certificado de CA personalizado en lugar de un solo certificado de sitio web. Es decir. un certificado que se puede usar para crear más certificados, y si su teléfono tiene el certificado principal, también confía en todos los niños. Y en el lado del proxy, su software de proxy necesita generar certificados de sitio web sobre la marcha para cada nueva conexión. Ya hay software que puede hacer esto.

    
respondido por el deviantfan 15.10.2017 - 04:55
fuente

Lea otras preguntas en las etiquetas