No, no logran “acceder a las comunicaciones web cifradas” y otras dudas sobre Reductor

Sergio De Los Santos    14 octubre, 2019

Recientemente se publicaba una nota de prensa llamativa a varios niveles. Por un lado, se hacía eco del comportamiento de un malware complejo y no demasiado popular, por otro, no lo hacía con demasiado atino, en el sentido de que las conclusiones no eran las correctas (es cierto que resultaba excesivamente complejo).

El malware

La noticia original parte de Kaspersky. Descubren un malware, no demasiado popular y bastante sofisticado, que conseguía en realidad, “marcar” el código TLS de la víctima. Kaspersky describe Reductor (así lo llama) como un malware evolución de COMPfun (2014) muy interesante por varios motivos.

Una vez infectado el sistema y con control sobre él, conseguía modificar “al vuelo” los binarios descargados por la víctima por otros maliciosos. La víctima acudía a una web legítima por un instalador, y acababa con otro en el sistema. ¿Le estaban redirigiendo? ¿Habían comprometido el sitio original? En el cuerpo del malware aparecían las URL de los sitios legítimos. Pero no parecía que los usara para nada más que engañar al usuario en el último momento (cuando ya estaba infectado y podía realizar el cambiazo). Esto se hace porque por ejemplo, la primera infección es menos llamativa y poderosa para pasar desapercibido. Pero este descarga otro payload que contendrá el resto de funcionalidad. Y hasta aquí el funcionamiento del malware, que no debe mezclarse (en principio) con la siguiente funcionalidad.

Pero hacía otra cosa muy curiosa e interesante. Estudiaron el código fuente de Firefox y Chrome, para ver cómo generaban los números aleatorios en una conexión TLS. Como ya estaban el sistema y en memoria del navegador, parchearon al vuelo esta funcionalidad en memoria. Ahora, no se generaban números aleatorios de paquetes TLS, sino que se formaba un número muy concreto predecible a través de atributos de la propia víctima. En realidad se estaban marcando las conexiones TLS. De esta forma, aunque cifradas, los atacantes con acceso potencial a la red podrían al menos saber de quién venían las conexiones. ¿Descifra esto las conexiones? No, ni falta que hace. Ya están en el sistema infectado y por tanto, de querer tener acceso a las conexiones, ya podrían hacerlo desde el propio navegador o el sistema. TLS cifra punto a punto, no tiene sentido cifrar el medio, pero si estás en uno de esos puntos (en la víctima) ya tienes acceso.

Lo curioso es que, para crear esos números no aleatorios sino relacionados con la víctima, lo hacía a partir de información de la máquina y además, de los números de serie de unos certificados instalados en el sistema por el propio malware. Aquí es donde se confunde el alcance del malware y Kaspersky no aclara. Cuando se instalan certificados raíz en el sistema, suele ser para que, acompañado de un ataque de redirección, los navegadores no se extrañen cuando se vista una web falsa por HTTPS. Pero lo interesante es que el malware no parece redirigir en ningún momento a la víctima, por tanto esos certificados no se utilizan para engañar, sino solo para, como hemos mencionado, calcular un número único para la víctima con el que se marcarán los paquetes TLS.

¿Una genialidad?

Como no se ha tenido acceso al servidor de los atacantes, no se sabe para qué usan ese número marcado en los paquetes TLS que les puede permitir saber al menos quién es la víctima sin saber el contenido de la información cifrada. A partir de aquí, tenemos que poner en marcha la imaginación.

Lo más curioso es que parece que detrás de Reductor puede estar un actor (Turla) que, en su día, tuvo acceso a tráfico de ISPs, por lo que podríamos estar ante una primera fase de un ataque a otra escala.

Y aquí comienza una teoría que podría tener sentido porque en realidad, no se sabe para qué servía todo esto. Podría tener sentido que fuese como un sistema de supervivencia para el malware. Si por ejemplo se desinfecta el sistema, se impide a los atacantes tener acceso a él. Imaginemos que la víctima no reinstala los navegadores y los números se siguen generando. Si el atacante tuviera acceso a ese tráfico TLS en la red (que para eso los marca, entendemos), podría saber quién estaba infectado y de alguna manera, volver a infectarle, ahora sí, utilizando los certificados instalados y haciendo un man in the middle “clásico” porque tiene acceso en la red para hacerlo. Esto sí tendría todo el sentido y sería, simplemente, genial desde el punto de vista de las técnicas del atacante.

Así que no logran “acceder a las comunicaciones web encriptadas a través del parcheado de Chrome y Firefox”. Resulta llamativo igualmente que una noticia sobre malware complejo y específico llegue a medios generalistas, pero no es bueno que se malinterprete de esta forma. Según la complejidad y claridad de lo que se le presente al público, lejos de acercar la ciberseguridad al usuario, puede ahuyentarle.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *