Blog Layout

Reporte de Ciberseguridad en las Aplicaciones Móviles de Home banking en Perú

DeepSecurity • May 21, 2020
Un fondo blanco con algunas líneas.
Una estatua de un oso está comiendo una hoja sobre un fondo negro.

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).


  • M1: Improper Platform Usage
  • M2: Insecure Data Storage
  • M3: Insecure Communication
  • M4: Insecure Authentication
  • M5: Insufficient Cryptography
  • M6: Insecure Authorization
  • M7: Client Code Quality
  • M8: Code Tampering
  • M9: Reverse Engineering
  • M10: Extraneous Functionality
Un gráfico que muestra el número de personas en cada grupo.

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:


  1. Decompilamos la aplicación.
  2. Modificamos la ruta del servicio de autenticación del banco por un backend operado por DeepSecurity.
  3. Recompilamos la aplicación.
  4. Instalamos correctamente la aplicación modificada en un teléfono móvil (sin root)
  5. Se hizo un intento de autenticación con el cual se obtuvieron credenciales usando la aplicación modificada.


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:


  1. La contraseña que solicitaba la aplicación móvil era débil (8 números).
  2. Si sacamos el hash de la contraseña SHA512($password) no era igual al encontrado en el archivo local.
  3. En el código fuente encontramos la función de cifrado y era SHA512($password+$salt)
  4. En el archivo local encontrado en el móvil, hallamos un string llamado salt.
  5. Hicimos una tool que sacara el hash de todas las combinaciones de números de 8 caracteres + el hash.


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.


Un fondo azul con dos manos y las palabras
04 sep., 2023
¿Por qué se siguen reportando incidentes en los Smart Contracts? Hay varias razones por las que los smart contracts siguen siendo un objetivo para un actor de amenaza, aca les mencionamos las principales.
Una langosta verde en una rama, y el mensaje de pruebas de penetración vs bug bounty
08 ago., 2023
Los programas de bug bounty (recompensas por errores) y penetration testing (pruebas de penetración son dos enfoques distintos para las pruebas de seguridad, cada uno con sus propios beneficios y consideraciones. Si bien algunos pueden verlos como métodos opuestos, en realidad pueden funcionar en conjunto para mejorar la postura de seguridad de una organización. Es importante comprender las diferencias entre los dos y evaluar qué enfoque se alinea mejor con las metas, el objetivo y los recursos específicos de la organización.
Un mapa azul de América del Sur tiene un fondo azul oscuro.
por DeepSecurity 24 jun., 2020
SMBGhost (CVE-2020-0796) es una vulnerabilidad de ejecución remota de código, no autenticada, en Microsoft Server Message Block 3.1.1 (SMBv3). La vulnerabilidad sólo requiere que el puerto 445 esté abierto, y un atacante podría conectarse y ejecutar comandos sin necesidad de tener usuario o contraseña.
Un virus azul sobre fondo negro con las palabras reporte de ciberinteligencia
por DeepSecurity 01 jun., 2020
Durante nuestras investigaciones de ciberinteligencia encontramos un grupo en Telegram donde se mencionan distintos temas desde hacking de aplicaciones web hasta robo de tarjetas (carding). Encontramos que algunos de los 550 ciberdelincuentes miembros de este grupo publicaban información sobre un fallo en la web del bono universal que permitía apropiarse del bono de los beneficiarios.
Una mano sostiene una pieza de ajedrez sobre un fondo azul.
por DeepSecurity 14 abr., 2020
BlueKeep (CVE-2019-0708) es una vulnerabilidad de ejecución remota de código, no autenticada, en Remote Desktop Services (Servicio de RDP). La vulnerabilidad solo requiere que el puerto de RDP esté abierto y un atacante podría conectarse sin necesidad de tener usuario o contraseña.
Un diagrama de un líder de grupo con servicios técnicos y servicios monetarios.
por DeepSecurity 12 abr., 2020
La empresa rumana de Ciberseguridad @Bitdefender público un nuevo caso de estudio “An APT Blueprint: Gaining New Visibility into Financial Threats“ en donde plasma la línea de tiempo y el modus operandi de la banda APT (Advanced Persistent Threat) Carbanak
El logotipo de la palabra valla es azul y negro sobre un fondo blanco.
por DeepSecurity 11 mar., 2020
Durante un servicio de pentest web, el equipo de research de DeepSecurity se propuso crear una excepción en el WAF del plugin de seguridad más reconocido para el aseguramiento de plataformas WordPress, que actualmente protege aproximadamente a 3 millones de sitios web en el mundo, y donde pudimos identificar una vulnerabilidad de Cross-Site Scripting (XSS)
Un diagrama que muestra cómo el firewall bloquea una solicitud directa.
por DeepSecurity 23 oct., 2018
Server-Side Request Forgery (SSRF) es una vulnerabilidad que ha ido ganando mayor popularidad entre las nuevas tecnologías web. En el 2020 hay más de 60 CVEs asignados a esta vulnerabilidad. En este post se explicará a detalle un Blind SSRF encontrado en www.msn.com.
Más entradas
Share by: