volver volver
Custom Browser Analysis

COMPARTIR

Custom Browser Analysis

Introducción

El objetivo principal de este trabajo fue evaluar la seguridad de un navegador exclusivo del sector bancario, basado en Firefox. Este navegador es utilizado por un gran número de clientes de la banca y es importante garantizar que su uso sea seguro y protegido de posibles riesgos.

Para llevar a cabo las pruebas, se utilizó el sistema operativo Windows 10 x64 y el compilador Visual Studio 2019. Con estas herramientas se crearon archivos DLL que se utilizaron para evaluar el navegador en distintos escenarios y situaciones. Algunas herramientas utilizadas fueron: IDA Pro, Process Monitor, y CFF Explorer.

En esta publicación mostraremos algunas vulnerabilidades comunes que se pueden encontrar en los navegadores desarrollados a medida, que son utilizados principalmente por la banca. Estos navegadores ofrecen a los usuarios cierta seguridad de navegación, solo por el hecho de ser navegadores exclusivos.

Algunas de sus ventajas serían las siguientes:

   Instalación única
   Instalación única
   Acceso controlado a cuentas
   Mejora la experiencia de navegación

Funcionalidades permitidas por el browser:

   Botón home al sitio de la compañía
   Botón recargar sitio web
   Botón agregar favorito

Se analizaron este tipo de browsers para validar y comprobar los posibles riesgos que se contraponen a la seguridad ofrecida por el navegador.
imagen ilustrativa

DLL Hijacking

La primera vulnerabilidad encontrada es el secuestro de DLL. Con esta se engaña a la aplicación legítima y de confianza para que cargue una DLL arbitraria. Los binarios responsables de llamar a la DLL y sus funciones son scpbradguard.exe y scpbradserv.exe el cual se ejecuta como servicio de Windows.

Este tipo de secuestro permitiría realizar tres objetivos:

   Ejecutar código malicioso
   Obtener Persistencia
   Escalada de privilegios

¡Vamos al grano!

Primero identificamos los servicios que se ejecutan después de instalar el browser. Para ello utilizamos Process Monitor con algunos filtros, así evitamos cargar información innecesaria. Con el filtro activado podemos identificar que existen dos DLL no encontradas VERSION.dll y WINHTTP.dll, nos enfocaremos en la segunda.

imagen ilustrativa

El paso siguiente es la identificación de sus funciones, esta información es necesaria para la creación de la DLL maliciosa. En este caso utilizamos CFF Explorer, aunque se podría utilizar IDA o Ghidra aunque si no es necesaria una ingeniería inversa en profundidad, la primera herramienta será suficiente.

imagen ilustrativa

Con la información obtenida se programa la DLL en C++ y se compila con Visual Studio 2019, luego se copia la DLL al directorio raíz de los binarios o simplemente copiar el binario a cualquier directorio de Windows con la DLL.

imagen ilustrativa

Evasión de Navegación

Dentro del análisis realizado al browser lo primero que se verificó fue si este cumplía correctamente con sus políticas de seguridad sobre la navegación y el bloqueo a sitios de terceros.

En primera instancia se comprobó que la barra de navegación se encuentra deshabilitada, evitando cambiar de dominio ya definido por el browser. Para este tipo de restricción se realizaron dos evasiones. El primero por HTML y el segundo por medio de parámetros del ejecutable, los que se explicaran a continuación.

¡Para no alargar y aburririrnos vamos a ir al grano!

Open Redirect via HTML File

Dentro de las pruebas se llegó a la conclusión que al crear un archivo de tipo HTML es posible ejecutar la redirección de dominio. Ahora el único problema que se encontró fue que el dominio debía estar en una lista permitida para que se ejecute la redirección, esto quiere decir que el dominio deber contener el nombre de la compañía.

Para esto se utilizó una simple evasión la cual consiste en agregar el nombre de dominio, seguido del protocolo HTTPS. Con esto superamos la lista permitida y la interpretación de la redirección tomaría el dominio después del carácter “@”, ya que lo demás sería el formato de username:password@domain.

imagen ilustrativa

Para ejecutar el archivo basta con cargar el HTML en el browser mediante “DragDrop”, pero esto no sería realista. El mismo browser al ser instalado, permite mantenerlo como predeterminado lo que facilitaría su ejecución. A continuación, podemos ver como el archivo es cargado correctamente por el browser, permitiendo ejecutar la redirección a un dominio que está fuera de la lista permitida.

imagen ilustrativa

imagen ilustrativa

Open Redirect via Parameters

Existe otro camino menos realista, pero que igual permite evadir la restricción, mediante parámetros permitidos por el browser. Podemos encontrar el parámetro -url y -new-window los que permiten abrir un dominio arbitrario, de igual forma es necesario mantener el formato de url para evadir la lista permitida. Para más información de los CommandLineOptions utilizados:
https://wiki.mozilla.org/Firefox/CommandLineOptions

Para llevar esto a una explotación real es necesario un binario intermediario (Malware) que active el comando cada vez que se llame el browser.
imagen ilustrativa

Flujo de ataque vía Phishing

El siguiente flujo representa como es posible un ataque utilizando la vulnerabilidad de Open Redirect que mantiene el browser custom hacia usuarios que utilicen dicho browser. Para esto el atacante envía el archivo por algún medio al usuario. Lo más común seria vía email, luego el usuario descarga y ejecuta el archivo siendo redireccionado a un sitio malicioso.

imagen ilustrativa

Conclusión

En resumen, las pruebas de concepto del navegador exclusivo de la banca Bradesco demostraron que contiene vulnerabilidades que pueden ser peligrosas para sus clientes. Sin embargo, estos aspectos podrían mejorar y se recomienda implementar medidas adicionales de seguridad para proteger aún más a los usuarios. Por lo tanto, es importante seguir trabajando en la mejora de la seguridad del navegador y en la protección de sus usuarios.-