Nuevo ‘Address Bar Spoofing’ en Google Chrome para Android
El investigador James Fisher ha publicado una nueva forma de realizar ataques de ‘Address Bar Spoofing’ en el navegador Google Chrome para la plataforma del sistema operativo Android. Estos ataques de Address Bar Spoofing podríamos incluirlos dentro del ámbito de los ataques de Phishing, que son unas de las técnicas de engaño más antiguas dentro de la seguridad informática y que, a día de hoy, sigue siendo muy efectivo contra usuarios y empresas en Internet.
Se puede entender que los ataques de Phishing son un conjunto de técnicas utilizadas por uno o varios atacantes, los cuales crean un mundo ficticio que, a ojos de una víctima, es un mundo real. De esta forma la víctima proporciona un beneficio a los atacantes, generalmente, en forma de credenciales, clics u otros datos e información de interés para los atacantes.
En el blog de Seguridad Apple y En el Lado de Mal hemos hablado ya muchas veces sobre diferentes casos de ‘Address Bar Spoofing’ en sistemas macOS o iOS, que son utilizados en ataques y Hacking de iOS:iPhone & iPad, donde en el libro de 0xWord le dedicamos una parte importante de cómo se puede atacar a un usuario con iOS usando estas vulnerabilidades.
Un ejemplo es el caso ocurrido con un bug de Address Bar Spoofing 2015 con Apple Safari en macOS X & iOS. Otro ejemplo clásico es el de las WebView en apps como la de Gmail o Twitter, con las que el usuario no sabía a dónde se conectaba, debido a que la app levantaba una vista web que no mostraba el dominio. Aquí tenéis una lista de artículos que hemos escrito en los que se ven ejemplos de cómo funcionan y cómo pueden ser utilizados por un atacante los bugs de Address Bar Spoofing,
- 2010: Apple iOS: Un caramelito para el phishing por culpa del diseño
- 2012: Apple Safari en iOS 5.0.1 vulnerable a Address Bar Spoofing
- 2012: Address Bar Spoofing de libro en Twitter para iOS
- 2013: Twitter Address Bar Spofing en iOS ¿arregló el bug de Address Bar Spoofing?
- 2014: Bug en Google Chome pare esconder el Path en una URL
- 2014: Robar fotos de un usuario de Apple iCloud usando un Address Bar Spoofing en Gmail
- 2015: Address Bar Spoofing Apple Safari en macOS & iOS
- 2018: WebView en Facebook Apps permiten Address Bar Spoofing
Pues bien, hoy toca hablar de este tipo de engaño y de un caso muy reciente que afecta a los usuarios de Google Chrome en plataforma del sistema operativo Android, así que ten cuidado.
Address Bar Spoofing en Google Chrome para Androird
Como hemos visto, este ataque está basado en el engaño de lo que uno ve en una barra de navegación. Es decir, si nosotros vemos una barra de navegación y ahí pone que estamos en un dominio que nos es familiar, es mucho más sencillo que confiemos en el contenido que estamos viendo. Por ello, esta técnica entra dentro del conjunto de técnicas de Phishing que podemos conocer o a las que nos podemos enfrentar en nuestro día a día.
Con el paso de los años los requisitos gráficos aumentan, es decir, para que una Address Bar Spoofing sea creíble debe ir acompañada del candado verde y con el protocolo HTTPs. El candado verde si la página legítima tiene una validación extendida en su certificado. Algo que el malware para Android quiere explotar siempre, por supuesto.
En el artículo del investigador James Fisher se puede encontrar un sitio web preparado para ver un ejemplo sobre el navegador muy interesante para entender el problema. El investigador y desarrollador ha demostrado el bug utilizando una serie de ‘tricks’ de diseño web.
En esencia, cuando el usuario se desplaza hacia abajo en cualquier página en Google Chrome para Android, la UI superior con la barra de direcciones y el botón de pestañas se ocultan de la vista. Lo que James Fisher ha descubierto es que se puede ‘encarcelar’ el desplazamiento de la página, lo que no le permite retroceder en Google Chrome, en su versión para Android, ya que no se muestra el botón de atrás.
Aquí podemos ver el ejemplo. La barra de direcciones que se muestra está pintada, es falsa. Cuando intenta desplazarse hacia arriba, la página puede mostrar una imagen de una barra de direcciones a elección del atacante en la parte superior, donde normalmente se encuentra la barra original de Google Chrome. La dirección URL que aparece no se corresponde con la página, pero si pensamos que el ataque fuera real, la página que estaríamos viendo sería una página falsa, pero muy similar o idéntica a la de HSBC.
En la imagen se puede ver cuál es la barra de direcciones real y cuál es la que está pintada. Llama la atención lo fácil que puede ser caer ante este tipo de ataques y que hoy en día siga habiendo trucos para poder ocultar la barra de direcciones.
¿Cómo verifico la barra de direcciones?
Una técnica utilizada para esto es bloquear el dispositivo y luego desbloquearlo. Esto obligaría a Google Chrome para Android a mostrar siempre su barra de direcciones real y dejar la falsa también en pantalla, tal y como se veía en la imagen anterior de la Figura 6.
Figura 7: Demo de Address Bar Spoofing en Google Chrome para Android
Por último, dejo el video demostrativo de la vulnerabilidad funcionando en Google Chrome para Android que el propio James Fisher ha publicado.
Figura 1: Nuevo ‘Address Bar Spoofing’ en Google Chrome para Android |
Se puede entender que los ataques de Phishing son un conjunto de técnicas utilizadas por uno o varios atacantes, los cuales crean un mundo ficticio que, a ojos de una víctima, es un mundo real. De esta forma la víctima proporciona un beneficio a los atacantes, generalmente, en forma de credenciales, clics u otros datos e información de interés para los atacantes.
Figura 2: Address Bar Spoofing en Safari para iOS |
En el blog de Seguridad Apple y En el Lado de Mal hemos hablado ya muchas veces sobre diferentes casos de ‘Address Bar Spoofing’ en sistemas macOS o iOS, que son utilizados en ataques y Hacking de iOS:iPhone & iPad, donde en el libro de 0xWord le dedicamos una parte importante de cómo se puede atacar a un usuario con iOS usando estas vulnerabilidades.
Figura 3: En el capítulo VIII del libro de "Hacking iOS: iPhone & iPad" se tratan los ataques de Address Bar Spoofing, entre otros. |
Un ejemplo es el caso ocurrido con un bug de Address Bar Spoofing 2015 con Apple Safari en macOS X & iOS. Otro ejemplo clásico es el de las WebView en apps como la de Gmail o Twitter, con las que el usuario no sabía a dónde se conectaba, debido a que la app levantaba una vista web que no mostraba el dominio. Aquí tenéis una lista de artículos que hemos escrito en los que se ven ejemplos de cómo funcionan y cómo pueden ser utilizados por un atacante los bugs de Address Bar Spoofing,
- 2010: Apple iOS: Un caramelito para el phishing por culpa del diseño
- 2012: Apple Safari en iOS 5.0.1 vulnerable a Address Bar Spoofing
- 2012: Address Bar Spoofing de libro en Twitter para iOS
- 2013: Twitter Address Bar Spofing en iOS ¿arregló el bug de Address Bar Spoofing?
- 2014: Bug en Google Chome pare esconder el Path en una URL
- 2014: Robar fotos de un usuario de Apple iCloud usando un Address Bar Spoofing en Gmail
- 2015: Address Bar Spoofing Apple Safari en macOS & iOS
- 2018: WebView en Facebook Apps permiten Address Bar Spoofing
Pues bien, hoy toca hablar de este tipo de engaño y de un caso muy reciente que afecta a los usuarios de Google Chrome en plataforma del sistema operativo Android, así que ten cuidado.
Address Bar Spoofing en Google Chrome para Androird
Como hemos visto, este ataque está basado en el engaño de lo que uno ve en una barra de navegación. Es decir, si nosotros vemos una barra de navegación y ahí pone que estamos en un dominio que nos es familiar, es mucho más sencillo que confiemos en el contenido que estamos viendo. Por ello, esta técnica entra dentro del conjunto de técnicas de Phishing que podemos conocer o a las que nos podemos enfrentar en nuestro día a día.
Con el paso de los años los requisitos gráficos aumentan, es decir, para que una Address Bar Spoofing sea creíble debe ir acompañada del candado verde y con el protocolo HTTPs. El candado verde si la página legítima tiene una validación extendida en su certificado. Algo que el malware para Android quiere explotar siempre, por supuesto.
Figura 4: Libro de Malware en Android de 0xWord |
En el artículo del investigador James Fisher se puede encontrar un sitio web preparado para ver un ejemplo sobre el navegador muy interesante para entender el problema. El investigador y desarrollador ha demostrado el bug utilizando una serie de ‘tricks’ de diseño web.
En esencia, cuando el usuario se desplaza hacia abajo en cualquier página en Google Chrome para Android, la UI superior con la barra de direcciones y el botón de pestañas se ocultan de la vista. Lo que James Fisher ha descubierto es que se puede ‘encarcelar’ el desplazamiento de la página, lo que no le permite retroceder en Google Chrome, en su versión para Android, ya que no se muestra el botón de atrás.
Figura 5: Address Bar Spoofing para simular el dominio hsbc |
Aquí podemos ver el ejemplo. La barra de direcciones que se muestra está pintada, es falsa. Cuando intenta desplazarse hacia arriba, la página puede mostrar una imagen de una barra de direcciones a elección del atacante en la parte superior, donde normalmente se encuentra la barra original de Google Chrome. La dirección URL que aparece no se corresponde con la página, pero si pensamos que el ataque fuera real, la página que estaríamos viendo sería una página falsa, pero muy similar o idéntica a la de HSBC.
Figura 6: Aquí se puede ver como la dirección falsa es pintada en código |
En la imagen se puede ver cuál es la barra de direcciones real y cuál es la que está pintada. Llama la atención lo fácil que puede ser caer ante este tipo de ataques y que hoy en día siga habiendo trucos para poder ocultar la barra de direcciones.
¿Cómo verifico la barra de direcciones?
Una técnica utilizada para esto es bloquear el dispositivo y luego desbloquearlo. Esto obligaría a Google Chrome para Android a mostrar siempre su barra de direcciones real y dejar la falsa también en pantalla, tal y como se veía en la imagen anterior de la Figura 6.
Figura 7: Demo de Address Bar Spoofing en Google Chrome para Android
Por último, dejo el video demostrativo de la vulnerabilidad funcionando en Google Chrome para Android que el propio James Fisher ha publicado.
Autor: Pablo González Pérez (@pablogonzalezpe), escritor de los libros "Metasploit para Pentesters", "Hacking con Metasploit: Advanced Pentesting" "Hacking Windows", "Ethical Hacking", "Got Root" y “Pentesting con Powershell”, Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de la unidad CDO de Telefónica.