Hangouts, la app de
mensajería de Google, ha sido comprometida en su versión de escritorio por una
vulnerabilidad de tipo Open Redirect, sumado a un error en la forma en que se
abren los enlaces
Electron se ha
convertido estos últimos años en una alternativa económica y sencilla de
construir apps multiplataforma para escritorio. En vez de invertir recursos y
dinero en crear aplicaciones nativas, es posible crear aplicaciones web que se
ejecutarán en su propio navegador, sin la barra de direcciones. Esta propiedad
de Electron, impide al usuario conocer qué sitio web se está visualizando, lo
que puede aprovecharse para redirigir a un sitio de phishing sin que se dé
cuenta.
La app de Hangouts
para escritorio, que hace uso de Electron, soluciona en parte este problema
abriendo con el navegador del sistema los enlaces externos a la aplicación web
que ejecuta (https://chat.google.com). El analista Michal Bentkowski investigó
este hecho en su blog, descubriendo que la aplicación sigue los enlaces de
redirección, y que podría emplearse para redirigir a un phishing. Haciendo uso
de un Open Redirect conocido en
https://accounts.google.com/ServiceLogin?continue= (que también está presente
en chat.google.com), es posible redirigir al usuario a un sitio arbitrario,
como una página falsa de login de Google, tal y como puede comprobarse en esta
url de demostración:
Al tratarse de una
vulnerabilidad en una aplicación de mensajería, su propagación es tan sencilla
como enviar este enlace a un contacto, y esperar a que éste lo abra. Al
cargarse la url en la propia ventana de Electron, el usuario no nota la
diferencia con el login original, y ni siquiera puede volver atrás, al no
disponer de botones de navegación.
Ya hemos visto otras
vulnerabilidades relacionadas con el uso de Electron, como ejecución remota de
código o la sufrida en Atom (también de tipo RCE). Debido a su popularidad, es
probable que en los próximos años sigamos viendo casos similares, lo que
evidencia la necesidad de adoptar medidas. Por ejemplo, en el caso de Hangouts,
existen soluciones, como bloquear las redirecciones, o forzar el uso del
navegador externo en todos los enlaces recibidos a través de un mensaje.
Más información:
·
Vulnerability
in Hangouts Chat a.k.a. how Electron makes open redirect great again: https://blog.bentkowski.info/2018/07/vulnerability-in-hangouts-chat-aka-how.html
·
Google
Open URL Redirection : https://vagmour.eu/google-open-url-redirection/
·
Ejecución
remota de código en aplicaciones Electron: https://unaaldia.hispasec.com/2018/01/ejecucion-remota-de-codigo-en.html
·
Ejecución
remota de código en el editor Atom: https://unaaldia.hispasec.com/2017/11/ejecucion-remota-de-codigo-en-el-editor.html
Fuente: Hispasec