Ideas, información y conocimientos compartidos por el equipo
de Investigación, Desarrollo e Innovación de BASE4 Security.
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.
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.
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.
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.
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.
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.
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.
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.
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.-