Tu Macbook o iPhone pudo ser hackeado con solo visitar un sitio
Si usas un iPhone o MacBook, tenemos una noticia alarmante para ti.
Resulta que realizar una sencilla acción como visitar un sitio web era una amenaza. No hablamos solo de sitios maliciosos sino también sitios legítimos que cargaban anuncios maliciosos sin saberlo.
El uso del navegador Safari podría haber permitido que los atacantes accedieran en secreto a la cámara, el micrófono o la ubicación de tu dispositivo. También en algunos casos a las contraseñas guardadas.
Apple recientemente pagó una de recompensa de $75,000 a un hacker ético, Ryan Pickren. Ryan prácticamente demostró el hack y ayudó a la compañía a reparar un total de siete nuevas vulnerabilidades. Todo esto antes de que cualquier atacante real pudiera aprovecharlas.
Las correcciones se publicaron en una serie de actualizaciones para Safari que abarca las versiones 13.0.5 (lanzadas el 28 de enero de 2020). También Safari 13.1 (publicado el 24 de marzo de 2020).
“Si el sitio web malicioso quería acceso a la cámara, lo que tenía que hacer era hacerse pasar por un sitio web confiable de videoconferencia. Por ejemplo Skype o Zoom“, dijo Pickren.
Cuando se encadenaron, tres de las vulnerabilidades de Safari reportadas podrían haber permitido que sitios maliciosos se hicieran pasar por cualquier sitio legítimo. Sitios en los que la víctima confiaba y acceder a la cámara o al micrófono. Esto al abusar de los permisos que, de lo contrario, la víctima otorgaría explícitamente solo al dominio de confianza.
Una cadena de exploits para abusar de los permisos por sitio de Safari
El navegador Safari otorga acceso a ciertos permisos como cámara, micrófono, ubicación y más a algunos sitios web. Esto facilita que los sitios web individuales, digamos Skype, accedan a la cámara sin pedir permiso al usuario cada vez que se inicia la aplicación.
Pero hay excepciones a esta regla en iOS. Las aplicaciones de terceros deben requerir el consentimiento explícito del usuario para acceder a la cámara. Empero, Safari puede acceder a la cámara o a la galería de fotos sin ninguna solicitud de permiso.
Específicamente, el acceso incorrecto es posible al aprovechar una cadena de exploits que desencadenó múltiples fallas. Las fallas se basaban en la forma en que el navegador analizó los esquemas de URL y manejó la configuración de seguridad para sitios web. Este método solo funciona con sitios web que están actualmente abiertos.
“Una observación más importante fue que el esquema de la URL se ignora por completo”, señaló Pickren. “Esto es problemático porque algunos esquemas no contienen un nombre de host significativo, como file:, javascript:, o data:.”
Dicho de otra manera, Safari no pudo verificar si los sitios web se adhirieron a la política del mismo origen. Otorgaron así acceso a un sitio diferente que no debería haber obtenido permisos en primer lugar. Como resultado, un sitio web como “https://example.com” y su contraparte maliciosa “fake://example.com” podría terminar teniendo los mismos permisos.
Por lo tanto, al aprovechar el perezoso análisis del nombre de host de Safari, fue posible usar un URI “file:” (por ejemplo, file:///path/to/file/index.html). Esto para engañar al navegador para que cambie el nombre de dominio usando JavaScript.
La falla
“Safari cree que estamos en skype.com, y puedo cargar algunos maliciosos JavaScript. La cámara, el micrófono y el uso compartido de pantalla se ven comprometidos cuando abres mi archivo HTML local”, dijo Pickren.
La investigación encontró que incluso las contraseñas de texto sin formato se pueden robar de esta manera. Esto porque Safari utiliza el mismo enfoque para detectar sitios web en los que se debe aplicar el llenado automático de contraseñas.
Además, se pueden evitar las precauciones de descarga automática abriendo primero un sitio confiable. Por ejemplo, una ventana emergente y luego usándola para descargar un archivo malicioso.
Del mismo modo, un URI “blob:” (por ejemplo, blob://skype.com) puede explotarse para ejecutar código JavaScript arbitrario. Se puede utilizar para acceder directamente a la cámara web de la víctima sin permiso.
En total, la investigación descubrió siete vulnerabilidades diferentes de día cero en Safari:
- CVE-2020-3852: un esquema de URL puede ignorarse incorrectamente al determinar el permiso multimedia para un sitio web
- CVE-2020-3864: un contexto de objeto DOM puede no haber tenido un origen de seguridad único
- CVE-2020-3865: un contexto de objeto DOM de nivel superior puede haberse considerado incorrectamente seguro
- CVE-2020-3885: la URL de un archivo puede procesarse incorrectamente
- CVE-2020-3887: el origen de una descarga puede estar asociado incorrectamente
- CVE-2020-9784: un iframe malicioso puede usar la configuración de descarga de otro sitio web
- CVE-2020-9787: un esquema de URL que contiene guion (-) y punto (.) adyacentes se ignora incorrectamente al determinar el permiso multimedia para un sitio web
Recomendaciones
Si eres un usuario de Safari, te recomendamos mantener el navegador actualizado. Asimismo, debes asegurarte de que los sitios web tengan acceso solo a las configuraciones que son esenciales para que funcionen.