¿Contraseñas en texto plano?

25

Estoy haciendo algunas investigaciones sobre la aplicación de mi operador de telefonía. Comencé Burp Suite en mi Mac en modo proxy, luego abrí la aplicación en mi iPhone y comencé a detectar algo de tráfico.

Presioné el botón "iniciar sesión" y esto sucedió:

Mi nombre de usuario y mi contraseña están ahí, en texto plano. La conexión es en realidad HTTPS, pero si es HTTPS, ¿por qué puedo leer mi nombre de usuario y contraseña como parámetros de texto sin formato en la solicitud POST?

¿Esto es normal?

También intenté replicar el proceso de inicio de sesión con un comando curl, y solo funciona si uso el parámetro -k que omite la validación del certificado SSL.

¿Qué está pasando aquí?

    
pregunta marcomanzoni 30.09.2014 - 11:45
fuente

3 respuestas

35

Burp Suite en modo proxy puede descifrar el tráfico HTTPS de cualquier sistema que confíe en él. Para ello, genera un certificado propio y utiliza este certificado para registrarse como una autoridad de certificación en el sistema en el que está instalado. Cuando luego envía una solicitud a un servidor web HTTPS, realiza el protocolo de enlace HTTPS, descifra el tráfico, emite un certificado para el servidor web firmado por sí mismo como una autoridad de certificación, utiliza ese certificado para volver a cifrar el tráfico y enviar los dos mensajes falsificados. Certificado y los datos re-encriptados al cliente.

Esto permite a Burp Suite escuchar a escondidas el tráfico HTTPS. Un usuario que utiliza un servidor proxy normal o que no confía en la pseudo-CA de Burp Suite no tendría sus credenciales comprometidas.

    
respondido por el Philipp 30.09.2014 - 12:43
fuente
1

No estoy 100% seguro de esto, pero creo que resalta una vulnerabilidad grave en la aplicación que está revisando:

Normalmente, cuando una aplicación se conecta a través de https, crea una conexión segura y valida que el certificado ha sido firmado por una Autoridad de Certificación de confianza , que sigue siendo válida y, en ocasiones, que no ha sido revocado. El certificado también debe ser válido para el dominio al que se está iniciando la conexión HTTP.

Burp genera un certificado no válido para interceptar el tráfico SSL. Como mencionó, curl, y cualquier otra aplicación que sea segura, verá que el certificado está firmado por una CA no confiable y actuará en consecuencia; los navegadores mostrarán una advertencia grave y curl se cerrará con un estado de error.

Si la aplicación no actúa en consecuencia, y aún se conecta a pesar de que el certificado no es válido, un atacante como usted puede interceptar la conexión y hacer diversas cosas, entre las que se encuentra el robo de su contraseña y si la aplicación se actualiza automáticamente, se ejecuta. código arbitrario en su computadora.

Tenga en cuenta que esto solo se aplica si no recibió e ignora las advertencias de la aplicación.

    
respondido por el droope 02.10.2014 - 22:55
fuente
0

Seguramente no es bueno, pero es normal por ahora. No es bueno porque un adversario pirateado en el servidor puede modificar el software del servidor para guardar las credenciales para él. O un adversario capaz de descifrar https, por ejemplo, usando mitm, como usted, puede obtener las contraseñas. Hay una solución presente durante más de 30 años llamada protocolos de autenticación, pero desafortunadamente no se utilizan. Los protocolos de autenticación de conocimiento cero están presentes durante más de 20 años, pero aún no se utilizan ampliamente. No sé por qué seguimos usando estas contraseñas obsoletas.

Por cierto, el desarrollador de la aplicación debe implementar la fijación de claves públicas, pero esto no se ha hecho.

    
respondido por el KOLANICH 25.12.2016 - 00:58
fuente

Lea otras preguntas en las etiquetas