El último año ha sido clave para la expansión digital de los bancos peruanos. Se han lanzado al mercado todo tipo de utilidades y aplicaciones que ayudan a las personas a gestionar su dinero de una manera más fácil. En DeepSecurity, nos preocupamos por la ciberseguridad del sistema financiero local y por eso hemos llevado a cabo un análisis pasivo (no-intrusivo) de las aplicaciones móviles de 12 bancos del Perú.
El primer paso para realizar esta investigación fue seleccionar a las entidades bancarias más importantes del Perú, basados en la lista publicada por la Superintendencia de Banca, Seguros y AFP (SBS)*; luego procedimos a descargar las aplicaciones móviles de las entidades seleccionadas de las páginas oficiales.
Todas las aplicaciones seleccionadas, fueron evaluadas tomando como base los 10 riesgos establecidos por el proyecto internacional OWASP (OWASP Mobile Top 10).
Imagen extraída del reporte de ciberseguridad de aplicaciones móviles de homebanking.
Para llevar a cabo el análisis técnico, todas las aplicaciones pasaron por un proceso de reconocimiento automatizado mediante el cual se obtuvo la primera información relevante de esta investigación. El 70% de las aplicaciones analizadas no cuenta con protección «anti-reversing» (OWASP M9), esto quiere decir que se pudo acceder al código fuente de las aplicaciones móviles sin usar técnicas de evasión. Para demostrar el impacto de esta vulnerabilidad realizamos las siguiente acciones:
Un atacante de la vida real, podría usar este método para enviar aplicaciones modificadas a los clientes del banco y convencerlos de que es la real. Importante recalcar esto se encontró en el 70% de las aplicaciones.
Totalmente comprometidos con realizar las pruebas de forma rigurosa, nuestro equipo de investigadores creó cuentas como clientes finales en los bancos evaluados. Con estas cuentas nos registramos en las aplicaciones móviles y fue ahí donde encontramos otro vector interesante en la investigación. En algunas de las aplicaciones evaluadas, encontramos que el usuario/DNI que se usaba para autenticarse a las cuentas, se quedaba guardado en el móvil en texto plano. Este escenario fue más que interesante porque en una de las aplicaciones, encontramos el hash de la contraseña en SHA512, un cifrado que hasta el momento no ha sido roto. Sin embargo, al analizar a profundidad el código fuente (aplicación vulnerable a M2) y por una mala implementación del método criptográfico (M5) encontramos en el código fuente la función que generaba el hash SHA512 y mediante el cual se podía extraer las contraseñas en texto plano con una fuerza bruta poco compleja. La contraseña de nuestro usuario fue extraída en menos de 60 segundos. Para demostrar el impacto que genera esta vulnerabilidad, nuestro equipo de investigadores realizó las siguientes acciones:
1.- Registramos un usuario en la aplicación.
2.- Se extrajo el archivo local.
3.- Se leyó el archivo y se encontró la contraseña en SHA512.
4.- Se hizo fuerza bruta a la contraseña durante 20 segundos.
5.- Se obtuvo la credencial del usuario.
Esta vulnerabilidad la calificamos como crítica dado que cualquier aplicación instalada en el teléfono puede acceder a la contraseña replicando el ataque que nosotros realizamos. Si el teléfono del usuario fuese robado, también de forma local se podría extraer la contraseña de la plataforma del banco en cuestión. Dada la criticidad de la vulnerabilidad, DeepSecurity reportó esta vulnerabilidad al banco y fue reparada en menos de 30 días.
Para los más curiosos, en el archivo local se encontraba el hash de la contraseña en SHA512 y un string llamado «salt». Cuando investigamos, nos dimos cuenta de lo siguiente:
Fragmento del bruter:
for i in range(0,10000000):
brute_password = str(number[1:])
hash = hashlib.sha512()
hash.update((‘%s%s’ % (brute_password, salt)).encode(‘utf-8’))
brute_hash = hash.hexdigest()
print(Fore.BLUE + ‘Password: ‘ + Fore.YELLOW + brute_password, end=» «,flush=True)
if password_hash == brute_hash:
De las 10 vulnerabilidades del Top de OWASP, las 10 fueron encontradas en toda la extensión del análisis. En DeepSecurity, con el interés de fomentar la seguridad, animamos a todos los bancos a re-evaluar la seguridad de las aplicaciones móviles dado que los resultados no mostraron niveles altos de ciberseguridad en general. La investigación completa es de 7 páginas y se encuentra en formato PDF, puede ser descargada dando click aquí.
*Listado de empresas bancarias de la SBS.
https://www.sbs.gob.pe/supervisados-y-registros/empresas-supervisadas/directorio-del-sistema-financiero/empresas-bancarias.
Gracias por suscribirte a nuestro boletín.
Parece que hubo un error. Por favor reintenta más tarde.
Deep Security del Perú S.A.C - RUC 20600837622 | Realizado por WSI - Dinámica Digital