Malware

APK Malicioso

Paquete de instalación Android (Android Package Kit) modificado para contener código malicioso. Principal vector de distribución de troyanos bancarios: Kaspersky contabilizó 12.184.351 ataques a dispositivos Android en el primer trimestre de 2025, y los troyanos bancarios encabezan los paquetes maliciosos detectados por tipo.

13 min de lectura

APK Malicioso

12.184.351. Esa es la cantidad de ataques a dispositivos Android que involucraron malware, adware o aplicaciones potencialmente no deseadas solo en el primer trimestre de 2025, según Kaspersky Securelist. La puerta de entrada principal: APKs maliciosos distribuidos fuera de la Play Store oficial. En España, troyanos como ToxicPanda, Crocodilus y Klopatra han infectado miles de dispositivos durante 2025, con ToxicPanda alcanzando 4.500 dispositivos en su punto máximo y Klopatra comprometiendo más de 3.000 terminales a traves de dos botnets coordinadas, apuntando directamente a la banca móvil española.

Definición técnica

APK (Android Package Kit) es el formato de archivo utilizado por el sistema operativo Android para la distribución e instalación de aplicaciones. Un APK malicioso es un paquete de instalación que ha sido modificado para incluir código danino: troyanos bancarios, spyware, ransomware, adware o cryptominers.

Estructura interna de un APK:

ComponenteFunciónRelevancia forense
AndroidManifest.xmlPermisos, actividades, servicios declaradosRevela permisos peligrosos solicitados
classes.dexCódigo ejecutable Dalvik/ARTContiene lógica maliciosa (overlay, keylogger)
res/Recursos (imágenes, layouts)Pantallas fake de overlay (imitación bancos)
lib/Librerias nativas (.so)Código ofuscado en C/C++ (anti-análisis)
assets/Archivos adicionalesConfiguración C2, payloads cifrados
META-INF/Firma digital del paqueteCertificado del desarrollador (falso o robado)

Diferencia vs app legitima:

  • App Play Store: Firmada por desarrollador verificado, escaneada por Play Protect, permisos justificados
  • APK malicioso: Firmada con certificado auto-generado, distribuida por sideloading, solicita permisos excesivos (accesibilidad, overlay, SMS)

Vectores de distribución: como llegan los APKs maliciosos al dispositivo

1. Sideloading via SMS/WhatsApp

El vector más comun en España. El usuario recibe un mensaje urgente con enlace a descarga directa de APK.

Ejemplo real campana ToxicPanda (2025):

SMS: "CORREOS: Su paquete no pudo ser entregado.
      Descargue la app para reprogramar:
      https://correos-tracking[.]app/descarga.apk"

WhatsApp: "BBVA: Hemos detectado acceso no autorizado.
           Instale la actualizacion de seguridad:
           https://bbva-seguridad[.]net/app.apk"

Telegram: "Binance: Verifique su cuenta o sera bloqueada.
           https://binance-verify[.]com/app.apk"

2. Tiendas alternativas y sitios de descarga

FuenteRiesgoEjemplo
APKMirrorBajo (verifican firmas)Apps legítimas pre-release
APKPureMedioAlgunas apps con adware inyectado
Sitios warezMuy altoApps premium crackeadas con troyanos
Telegram channelsMuy altoAPKs “mod” de WhatsApp, juegos con malware

3. Fake stores y malvertising

Sitios web que imitan la interfaz de Google Play Store para engajar al usuario.

Pagina falsa Play Store:
┌──────────────────────────────────────────┐
│ play.google.com.app-store[.]net    🔒   │ ← URL FALSA
│                                          │
│  [Logo Google Play]                      │
│                                          │
│  ┌──────────┐  BBVA Banca Movil          │
│  │ [icono]  │  ★★★★★ 4.8 (125K)         │ ← Datos FALSOS
│  │          │                            │
│  └──────────┘  [INSTALAR]                │ ← Descarga APK
│                                          │    malicioso
│  Requiere Android 8.0+                   │
│  50M+ descargas                          │ ← Todo falso
└──────────────────────────────────────────┘

4. Compromiso de la cadena de suministro

Apps legítimas en Play Store que se actualizan para incluir código malicioso después de pasar la revisión inicial (dropper technique).

Kaspersky (2026): la cantidad de amenazas Android detectadas creció casi la mitad, y solo en el tercer trimestre de 2025 las detecciones aumentaron un 38 % respecto al segundo.


Permisos peligrosos: indicadores de APK malicioso

Permisos críticos que solicitan los APKs maliciosos

Permiso AndroidUso legitimoAbuso por malwareNivel riesgo
BIND_ACCESSIBILITY_SERVICELectores pantalla, asistentesOverlay attacks, captura interaccionesCRITICO
SYSTEM_ALERT_WINDOWChat bubbles, PiP videoPantallas falsas sobre apps bancariasCRITICO
READ_SMS / RECEIVE_SMSApps mensajeríaIntercepción códigos OTP bancariosALTO
READ_CONTACTSAgenda, redes socialesPropagación malware a contactosALTO
CAMERA / RECORD_AUDIOApps foto/video/llamadasEspionaje, grabación sin consentimientoALTO
REQUEST_INSTALL_PACKAGESTiendas apps alternativasInstalar payloads adicionales (dropper)ALTO
QUERY_ALL_PACKAGESGestores appsIdentificar apps bancarias instaladasMEDIO

Regla forense: Una app que solicita simultáneamente BIND_ACCESSIBILITY_SERVICE + SYSTEM_ALERT_WINDOW + READ_SMS tiene una probabilidad superior al 90% de ser un troyano bancario.

Abuso del servicio de accesibilidad

El servicio de accesibilidad de Android es el permiso más peligroso que puede conceder un usuario. Fue diseñado para ayudar a personas con discapacidad, pero los APKs maliciosos lo explotan para:

  1. Leer todo lo que aparece en pantalla (credenciales, mensajes, emails)
  2. Realizar acciones automáticamente (clicar botones, rellenar formularios)
  3. Interceptar notificaciones (códigos OTP, alertas bancarias)
  4. Evitar desinstalacion (cancelar automáticamente intentos de eliminar la app)
  5. Concederse permisos adicionales sin intervención del usuario

Crocodilus (2025): Este troyano, activo en España desde marzo 2025, explota el servicio de accesibilidad para cubrir la pantalla con una capa negra mientras ejecuta transacciones en segundo plano, haciendo que el usuario crea que su teléfono esta bloqueado temporalmente.


Análisis forense de APKs maliciosos: herramientas y metodología

Análisis estático (sin ejecutar el APK)

1. Decompilación con APKTool y JADX

## Paso 1: Decompilar APK con APKTool
apktool d sospechoso.apk -o ./output_apktool/

## Resultado: AndroidManifest.xml legible + recursos + smali code

## Paso 2: Decompilacion a Java con JADX
jadx sospechoso.apk -d ./output_jadx/

## Resultado: Código Java legible (mas facil de analizar)

## Paso 3: Verificar permisos en AndroidManifest.xml
cat ./output_apktool/AndroidManifest.xml | grep "uses-permission"

2. Análisis con Androguard (Python)

## Script: Análisis forense de APK sospechoso con Androguard
from androguard.core.apk import APK
from androguard.misc import AnalyzeAPK
import hashlib

def analizar_apk_forense(apk_path):
    """
    Analisis forense completo de APK sospechoso.
    Extrae permisos, actividades, receptores y strings sospechosos.
    """
    a, d, dx = AnalyzeAPK(apk_path)

    # 1. Informacion basica
    print("=" * 60)
    print("INFORME FORENSE APK")
    print("=" * 60)
    print(f"Package: {a.get_package()}")
    print(f"Version: {a.get_androidversion_name()}")
    print(f"Min SDK: {a.get_min_sdk_version()}")
    print(f"Target SDK: {a.get_target_sdk_version()}")
    print(f"Main Activity: {a.get_main_activity()}")

    # 2. Hash SHA256 (cadena de custodia)
    with open(apk_path, 'rb') as f:
        sha256 = hashlib.sha256(f.read()).hexdigest()
    print(f"SHA256: {sha256}")

    # 3. Certificado firmante
    for cert in a.get_certificates():
        print(f"Certificado issuer: {cert.issuer}")
        print(f"Certificado serial: {cert.serial_number}")

    # 4. Permisos peligrosos
    permisos_criticos = {
        "android.permission.BIND_ACCESSIBILITY_SERVICE": "CRITICO",
        "android.permission.SYSTEM_ALERT_WINDOW": "CRITICO",
        "android.permission.READ_SMS": "ALTO",
        "android.permission.RECEIVE_SMS": "ALTO",
        "android.permission.SEND_SMS": "ALTO",
        "android.permission.READ_CONTACTS": "ALTO",
        "android.permission.CAMERA": "ALTO",
        "android.permission.RECORD_AUDIO": "ALTO",
        "android.permission.REQUEST_INSTALL_PACKAGES": "ALTO",
    }

    print("\n--- PERMISOS PELIGROSOS ---")
    riesgo_total = 0
    for perm in a.get_permissions():
        if perm in permisos_criticos:
            nivel = permisos_criticos[perm]
            print(f"  [{nivel}] {perm}")
            riesgo_total += 3 if nivel == "CRITICO" else 2

    # 5. Strings sospechosos en codigo DEX
    print("\n--- STRINGS SOSPECHOSOS ---")
    keywords_malware = [
        "overlay", "accessibility", "banking",
        "c2", "command", "inject", "keylog",
        "sms_intercept", "admin", "device_admin"
    ]

    for dex_file in d:
        for string in dex_file.get_strings():
            lower = string.lower()
            for kw in keywords_malware:
                if kw in lower and len(string) < 200:
                    print(f"  {string[:100]}")
                    break

    # 6. Receptores de broadcast (triggers)
    print("\n--- BROADCAST RECEIVERS ---")
    for receiver in a.get_receivers():
        print(f"  {receiver}")

    # 7. Evaluacion riesgo
    print("\n" + "=" * 60)
    if riesgo_total >= 6:
        print("VEREDICTO: ALTAMENTE SOSPECHOSO (probable malware)")
    elif riesgo_total >= 3:
        print("VEREDICTO: SOSPECHOSO (requiere analisis dinamico)")
    else:
        print("VEREDICTO: RIESGO BAJO (analisis adicional recomendado)")
    print(f"Puntuacion riesgo: {riesgo_total}/15")

## Uso
analizar_apk_forense("sospechoso.apk")

Análisis dinámico (ejecutar en sandbox)

MobSF (Mobile Security Framework)

## Instalar y ejecutar MobSF
docker pull opensecurity/mobile-security-framework-mobsf
docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf

## Acceder via navegador: http://localhost:8000
## Subir APK para análisis automatizado completo:
## - Permisos
## - Actividades de red
## - Llamadas API peligrosas
## - URLs hardcoded
## - Componentes exportados
## - Vulnerabilidades conocidas

Frida (instrumentacion runtime)

## Interceptar llamadas a funciones criticas en tiempo real
frida -U -f com.sospechoso.app -l hook_script.js --no-pause

## hook_script.js ejemplo:
## Intercepta llamadas a APIs de SMS y Accesibilidad
## para documentar comportamiento malicioso

Herramientas forenses especializadas

HerramientaTipoFunción principalLicencia
APKToolEstáticoDecompilación recursos + smaliOpen source
JADXEstáticoDecompilación a Java legibleOpen source
AndroguardEstáticoAnálisis programático PythonOpen source
MobSFEstático + DinámicoFramework completo automatizadoOpen source
FridaDinámicoInstrumentación runtimeOpen source
VirusTotalReputaciónEscaneo multi-antivirus (70+ motores)Freemium
KoodousComunidadBase datos malware AndroidGratuita
Cellebrite UFEDForenseExtracción física dispositivoComercial
Magnet AXIOMForenseTimeline completo sistemaComercial

Troyanos bancarios recientes distribuidos via APK malicioso en España

ToxicPanda (2024-2025)

CaracterísticaDetalle
ObjetivoApps bancarias y wallets digitales
DistribuciónSideloading via sitios web comprometidos
TécnicaOverlay + intercepción OTP + DGA (Domain Generation Algorithms)
Impacto4.500 dispositivos infectados (pico), España y Portugal principales targets
DetecciónSolicita accesibilidad + overlay + lectura SMS

Crocodilus (2025)

CaracterísticaDetalle
ObjetivoBanca móvil + wallets cripto (recovery phrases)
DistribuciónAPKs troyanizados via dropper que elude restricciones Android
TécnicaAccesibilidad + overlay + pantalla negra mientras opera
ImpactoCampañas activas en España y Turquía, expansión a Sudamérica
ParticularidadCircunvala restricciones de Android 13+ para sideloading

Klopatra (2025)

CaracterísticaDetalle
ObjetivoBanca móvil española e italiana
DistribuciónDos botnets coordinadas desde marzo 2025
TécnicaVNC oculto para control remoto de smartphones
ImpactoMás de 3.000 dispositivos comprometidos
ParticularidadPermite al atacante operar el teléfono en tiempo real

Caso real: troyano bancario via APK en España

Nota: El siguiente caso esta basado en investigaciones forenses reales realizadas en España durante 2024-2025. Los datos específicos han sido anonimizados para proteger la confidencialidad de los afectados, preservando los aspectos técnicos relevantes para fines educativos.

Campaña Crocodilus contra banca española (2025)

Contexto: Un usuario de Málaga recibio un SMS aparentemente de CaixaBank informando de una “actualización de seguridad obligatoria”. El enlace descargaba un APK que simulaba ser la app oficial.

Timeline del ataque:

TimestampEventoEvidencia
10:15:00SMS recibido con enlace descargaBase datos SMS del dispositivo
10:17:23APK descargado (CaixaBank_v5.2.apk)Directorio /sdcard/Download/
10:18:45Instalación completadapackages.list (install_time)
10:19:02Permisos accesibilidad concedidosappops.xml, settings.db
10:19:30Permisos overlay concedidosappops.xml
10:35:10Usuario abre app CaixaBank reallogcat (ActivityManager)
10:35:12Overlay activado (pantalla falsa)logcat (WindowManager)
10:36:00Credenciales capturadasTráfico de red (PCAP)
10:36:15SMS OTP recibido e interceptadotelephony.db (received + deleted)
10:38:00Transferencia de 8.500 euros ejecutadaExtracto bancario

Análisis forense del APK:

Resultado analisis Androguard + MobSF:

Package: com.caixa.seguridad.update
SHA256: 7f3a2d1c8e9b4f5a6d7e8c9b0a1f2d3e4c5b6a7...
Certificado: Auto-firmado (NO coincide con CaixaBank real)
Min SDK: 26 (Android 8.0)

Permisos criticos detectados:
  [CRITICO] BIND_ACCESSIBILITY_SERVICE
  [CRITICO] SYSTEM_ALERT_WINDOW
  [ALTO] READ_SMS
  [ALTO] RECEIVE_SMS
  [ALTO] READ_CONTACTS
  [ALTO] CAMERA
  [ALTO] REQUEST_INSTALL_PACKAGES

Strings sospechosos:
  "overlay_inject_caixa"
  "sms_intercept_otp"
  "c2_server_connect"
  "https://api.evil-c2[.]com/gate.php"

Comunicacion C2:
  IP destino: 185.xxx.xxx.xxx (Paises Bajos)
  Protocolo: HTTPS (puerto 443)
  Datos exfiltrados: credenciales, SMS, contactos

Resultado:

  • Informe pericial acredito que el APK era malware sofisticado (Crocodilus)
  • Denuncia ante Policía Nacional (Brigada Central de Investigación Tecnológica)
  • Banco devolvio el 70% de la cantidad sustraida al acreditar engaño sofisticado
  • Coste pericial total: 1.800 euros (extracción + análisis APK + timeline + informe)

Delitos tipificados en el Código Penal

ArtículoDelitoPenaAplicación APK malicioso
Art. 197.1 CPDescubrimiento y revelación secretos1-4 años prisiónIntercepción credenciales y SMS via APK
Art. 197.2 CPAcceso ilícito a datos1-4 años prisiónAcceso a datos bancarios mediante malware
Art. 248 CPEstafa informática6 meses - 3 añosTransferencias fraudulentas con credenciales robadas
Art. 264.1 CPDaños informáticos6 meses - 3 añosDaño a datos/programas del dispositivo infectado
Art. 264 bis CPInterrupción sistemas6 meses - 3 añosBloqueo de funciones del dispositivo
Art. 264 ter CPFacilitación herramientas delictivas6 meses - 2 añosCreación y distribución del APK malicioso

Agravantes relevantes

  • Art. 250.1.5 CP: estafa agravada cuando afecta a un elevado número de personas (campañas masivas de APKs)
  • Art. 264.2 CP: Daños agravados si se comete en el marco de organización criminal
  • Art. 264.3 CP: Penas en mitad superior si se utilizan datos personales de terceros

Responsabilidad del banco

Según la jurisprudencia española y la Directiva PSD2, las entidades bancarias tienen obligación de:

  1. Implementar autenticación reforzada (SCA) para operaciones sensibles
  2. Monitorizar operaciones anómalas en tiempo real
  3. Reembolsar al cliente en caso de operaciones no autorizadas, salvo negligencia grave

Criterio judicial habitual: Si el informe pericial demuestra que el APK empleaba técnicas sofisticadas (accesibilidad, overlay, intercepción SMS), los tribunales consideran que la víctima fue enganada con medios que exceden la diligencia exigible a un usuario medio.


Prevención y detección

Señales de alarma para usuarios

Un APK es sospechoso si:

  • Se descarga fuera de Google Play Store oficial
  • El enlace llega por SMS, WhatsApp o Telegram
  • Solicita activar “Orígenes desconocidos” o “Instalar apps desconocidas”
  • Solicita permisos de accesibilidad (ninguna app bancaria legitima lo requiere)
  • Solicita permiso de superposición sobre otras apps
  • El certificado firmante no coincide con el desarrollador oficial

Medidas de protección

  1. NUNCA instalar APKs fuera de Google Play Store
  2. Verificar permisos antes de instalar cualquier app
  3. Mantener Google Play Protect activado (detecta 50-70% variantes conocidas)
  4. Desactivar la opción “Instalar aplicaciones desconocidas” para todas las fuentes
  5. Usar antivirus móvil complementario (Kaspersky, Bitdefender, Malwarebytes)
  6. Activar alertas bancarias para cada transacción superior a 100 euros
  7. Establecer límites diarios de transferencia en la app bancaria

FAQ

P: Google Play Protect detecta todos los APKs maliciosos? R: No. Google Play Protect detecta entre el 50% y el 70% de las variantes conocidas de malware, pero las versiones nuevas (zero-day) pueden pasar inadvertidas durante los primeros 7-15 días. Troyanos como Crocodilus y ToxicPanda fueron diseñados específicamente para evadir Play Protect. Es recomendable complementar con antivirus móvil y, sobre todo, no instalar APKs de fuentes no oficiales.

P: Puede un perito recuperar evidencia de un APK malicioso después de un factory reset? R: Parcialmente. Un factory reset elimina la mayoría de datos del usuario y el malware, pero un perito con herramientas de extracción física (Cellebrite UFED, Oxygen Forensics) puede recuperar fragmentos de bases de datos SQLite, logs de instalación y artefactos de red. Sin embargo, la evidencia sera significativamente menor. Por eso es critico contactar a un perito ANTES de realizar el reseteo, para preservar la cadena de custodia completa.

P: Cuanto cuesta un análisis forense de APK malicioso? R: Los costes típicos son: extracción de evidencia del dispositivo Android (800-1.200 euros), análisis estático y dinámico del APK (600-1.000 euros), reconstrucción del timeline del ataque (400-800 euros) y ratificación judicial (300-600 euros). Total típico: 2.100-3.600 euros. El retorno de inversión es alto: el informe pericial permite acreditar el engaño sofisticado y facilita la recuperación del dinero sustraído (60-100% via seguro de fraude bancario).

P: Es delito distribuir un APK malicioso en España? R: Si. La creación y distribución de APKs maliciosos esta tipificada en el Art. 264 ter del Código Penal como facilitacion de herramientas delictivas, con penas de 6 meses a 2 años de prisión. Si además se usa para robar credenciales (Art. 197 CP) o cometer estafa (Art. 248 CP), las penas se acumulan y pueden superar los 6 años de prisión, especialmente con agravantes de organización criminal o pluralidad de víctimas.


Conceptos relacionados


¿Tu organización ha sufrido un incidente?

El análisis post-incidente responde qué entró, cuándo, por dónde y qué se llevó — y lo deja documentado con validez para un procedimiento.

Referencias y fuentes

  1. Kaspersky Securelist. (2025). “IT threat evolution Q1 2025: Mobile statistics”. securelist.com

    • 12.184.351 ataques a Android en el primer trimestre de 2025 (verificado, literal)
  2. Kaspersky Securelist. (2025). “IT threat evolution Q2 2025: Mobile statistics”. securelist.com

    • Amenazas Android crecieron casi 50% en 2025; +38% detecciones Q3 vs Q2
  3. Kaspersky España. (2026). “Aplicaciones falsas, ataques NFC y otros problemas Android en 2026”. kaspersky.es

    • Crecimiento de las amenazas Android en 2025: casi la mitad en el año y +38 % en el tercer trimestre respecto al segundo
  4. BitSight. (2025). “ToxicPanda: The Android Banking Trojan Targeting Europe”. bitsight.com

    • 4.500 dispositivos infectados; España y Portugal principales objetivos
  5. The Hacker News. (2025). “New Android Trojan Crocodilus Abuses Accessibility”. thehackernews.com

    • Crocodilus activo en España: overlay + accesibilidad + pantalla negra
  6. The Hacker News. (2025). “New Android Banking Trojan Klopatra Uses Hidden VNC”. thehackernews.com

    • Klopatra: 3.000+ dispositivos en España e Italia via dos botnets coordinadas
  7. Cybernews. (2025). “New Android banking trojan hijacks thousands of phones”. cybernews.com

    • Análisis técnico de nuevos troyanos bancarios Android
  8. Malwarebytes. (2025). “New Android malware lets criminals control your phone”. malwarebytes.com

    • Técnicas de control remoto en malware Android 2025
  9. INCIBE. (2026). “Balance ciberseguridad 2025: 122.223 incidentes (+26%)”. incibe.es

    • 55.411 incidentes de malware en España en 2025
  10. Código Penal Español: Arts. 197 (revelación secretos), 248 (estafa), 264 (daños informáticos), 264 ter (facilitacion herramientas)

  11. Directiva PSD2 (UE) 2015/2366: Autenticación reforzada y responsabilidad entidades bancarias en operaciones no autorizadas


Última actualización: 12 Febrero 2026 Categoría: Malware (MAL-009) Nivel técnico: Intermedio-Avanzado Relevancia forense: MUY ALTA (principal vector distribución troyanos bancarios 2026)

¿Necesitas un peritaje forense?

Si necesitas ayuda profesional con análisis forense digital, estoy aquí para ayudarte.

Solicitar Consulta Gratuita
Jonathan Izquierdo

Jonathan Izquierdo · Perito Forense

+15 años experiencia · AWS Certified

WhatsApp