Enterate si alguien te espía y cómo evitarlo. Historia de una hacker hackeada.
El ataque que describimos ayer, mediante el cual una intermediaria puede espiar e interferir nuestra navegación por sitios web supuestamente seguros, se llama técnicamente MitM, por «Man in the Middle», que se traduciría literalmente como «hombre en el medio», o intermediaria. Ahora que sabemos a grandes rasgos de qué se trata, veremos cómo hacer para descubrir en cualquier momento si estamos siendo espiadas, y luego cómo prevenirlo.
Hagamos un repaso por las condiciones que deben darse para que puedan atacarnos. En primer lugar, los navegadores intentan verificar la autenticidad del candado o clave de encriptación utilizando los servicios de Autoridades de Certificación (CA) registrados en el propio navegador.
Si la clave de encriptación no se puede verificar, el navegador nos presenta una advertencia.
Atención: ¡mucha gente ignora la advertencia del navegador y sigue adelante con el sitio! Eso es un suicidio virtual. Hay que leer los carteles, y si estamos haciendo una operación con datos confidenciales, prestar atención a las advertencias del navegador.
Una vez que el navegador verificó que la clave para el cifrado es válida de acuerdo a la CA correspondiente, nos muestra el sitio web y dibuja un candado cerrado en la barra de navegación, justo al lado de la dirección URL. No todos los navegadores lo muestran igual, pero normalmente es así. A partir de ese momento se supone que navegamos un sitio seguro.
Sin embargo, la segunda condición básica para la seguridad es la confianza en el navegador, si el mismo fue modificado para que la validación del candado o certificado parezca correcta aún sin serlo, entonces no tendremos ningún mensaje de advertencia.
¿Cómo podemos verificar la autenticidad del candado cuando no confiamos en el navegador que estamos utilizando?
Afortunadamente no es tan difícil, pero deben practicar y prestar atención a los siguientes pasos.
La manera de verificarlo consiste en tomar nota de la huella digital de la clave que el navegador recibió, y averiguar si esa huella digital coincide con la del sitio web original. Si ambas son iguales, entones el cifrado está bien y podemos confiar razonablemente en que la conexión no está siendo interceptada. Si no coincide, ¡entonces una intermediaria intercepta nuestra comunicación!
La huella digital es una serie de números hexadecimales, por ejemplo así: «05:0A:A7:C3:5F:85:F0:A8:5B:14:1D:B6:7F:67:8C:60:4F:2D:DE:D3» (este ejemplo corresponde al sitio GRC.com, siga leyendo).
Para verificarla necesitamos dos cosas
1 – La huella digital de la clave que nuestro navegador recibió, que está usando para cifrar la comunicación.
2 – La huella digital de la clave, pero obtenida de alguna otra fuente confiable que no sea nuestro navegador.
Veamos el punto 1: la huella digital en nuestro navegador. Supongamos que vamos a ingresar al sitio web de AFIP y queremos verificar que nadie intercepte nuestra clave fiscal y demás datos confidenciales. Primero obtenemos la huella digital de la AFIP desde nuestro navegador. La huella digital de la clave de encriptación se obtiene de manera levemente diferente en distintos navegadores, la imagen muestra la huella digital obtenida mediante Mozilla Firefox (es el que nosotras usamos) y a continuación están las instrucciones para los navegadores más difundidos:
Mozilla Firefox
- Haga clic en el candado en el extremo izquierdo de la barra de direcciones URL.
- Haga clic en el botón Más «Información …».
- Haga clic en el icono/pestaña «Seguridad».
- Haga clic en «Ver certificado».
- La huella digital SHA1 se muestra en «Huella digital».
Internet Explorer
- Clic derecho sobre la página.
- Seleccionar “Propiedad” al final del menú.
- Clic en el botón “Certificados” en la ventana de Propiedades.
- Clic en “Detalles”.
- Establecer el selector «Mostrar» en «<Todo>».
- Desplácese hacia abajo hasta el final de la lista de «huella digital» (que es lo que Windows lo llama).
- Haga clic en el elemento «huella digital» para seleccionarlo y mostrar la huella digital completa en la ventana.
Google Chrome
- Haga clic en el candado en el extremo izquierdo de la barra de direcciones URL.
- Seleccione la pestaña «Conexión».
- Haga clic en «Información del certificado».
- Haga clic en la pestaña «Detalles» para cambiar las vistas.
- Establecer el selector «Mostrar» en «<Todo>».
- Desplácese hacia abajo hasta el final de la lista de «huella digital» (que es lo que Windows lo llama).
- Haga clic en el elemento «huella digital» para seleccionarlo y mostrar la huella digital completa en la ventana.
Apple Safari
- Haga clic en el icono [https candado] en el extremo izquierdo de la barra de direcciones URL.
- Haga clic en «Mostrar certificado».
- Haga clic en la flecha para expandir los «Detalles»
- Desplácese hasta el final para ver la huella digital SHA1 del certificado.
Ahora veamos el punto 2: la huella digital desde otra fuente confiable. Afortunadamente podemos recomendar una fuente confiable (hasta que se demuestre lo contrario) para consultar las huellas digitales originales. El sitio web de GRC tiene un formulario donde podemos copiar la dirección web URL que queremos verificar y obtener la huella digital (fingerprint) correcta para comparar con la de nuestro navegador.
Copiamos la dirección URL del formulario de ingreso a AFIP en el formulario de verficación de GRC y hacemos clic en el botón «Fingerprint Site» para obtener la huella digital original razonablemente confiable:
Objeción: ¿qué pasa si la intermediaria que intercepta nuestra comunicación está al tanto y altera la comunicación con GRC? ¡Buena pregunta! Por eso hemos copiado mas arriba la huella digital de GRC, si coincide con la que obtienen en su navegador, pueden confiar en GRC.
En las últimas imagenes están marcadas con rojo las huellas digitales que deben ser iguales, ¡¡si a ustedes no les coinciden están en problemas!!
Oh no… ¿¿¿WTF???
Las huellas digitales en mi navegador ¡¡¡no coinciden!!!
¡¡¡Malditas hackerrrssssss!!!
En el próximo artículo explicaremos cómo corregir y asegurar esta situación, ¡¡¡ahora debo investigar quién me está hackeando, sabrán disculpar!!!
Estimadas, efectivamente debe tratarse de que la clave publicada ha cambiado. Gracias por estar ahí metiendo la cuchara!
A mi también me aparece el mismo, calculo que debe ser una omisión al momento de copy-pastear-actualizar el artículo.
PD: En el pie de todas las páginas me aparece el siguiente error:
Warning: require_once(/home/tribunahacker/tribunahacker.com.ar/wp-content/plugins/gplus-comments/includes/templates/partials/.php) [function.require-once]: failed to open stream: No such file or directory in /home/tribunahacker/tribunahacker.com.ar/wp-content/plugins/gplus-comments/includes/templates/container.php on line 73
Fatal error: require_once() [function.require]: Failed opening required ‘/home/tribunahacker/tribunahacker.com.ar/wp-content/plugins/gplus-comments/includes/templates/partials/.php’ (include_path=’.:/usr/local/lib/php:/usr/local/php5/lib/pear’) in /home/tribunahacker/tribunahacker.com.ar/wp-content/plugins/gplus-comments/includes/templates/container.php on line 73
Hola, seguí los pasos que posteaste aquí y si bien parece que está todo bien con el certificado del homebanking, la huella digital de GRC que me sale no es la misma que pusiste acá.
Por lo que veo esta nota es un refrito de esta anterior: http://www.tribunahacker.com.ar/2014/02/ojo-con-el-home-banking-ii/, por eso quisiera que me confirmes si es que simplemente la fingerprint de GRC que publicás está desactualizada y de ser así te pido que la corrijas, de lo contrario supongo que efectivamente mi conexión está siendo interceptada.
Esta es la huella de GRC que sale en mi navegador: 01 56 d3 ac cf 5a 3f b8 8f 0f b4 30 88 2d f6 72 4e 8c f2 e0.
Saludos
jajajaj buena serie de tutoriales. Espero expliques un poco el uso de mitmproxy, que ya lo conocia, pero nunca le pude dedicar unas horas.
Gracias y saludos.