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, con un aumento del 196% en ataques a banca móvil en 2024, según Kaspersky.

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, segun Kaspersky Securelist. La puerta de entrada principal: APKs maliciosos distribuidos fuera de la Play Store oficial. En Espana, troyanos como ToxicPanda, Crocodilus y Klopatra han infectado miles de dispositivos durante 2025, con ToxicPanda alcanzando 4.500 dispositivos en su punto maximo y Klopatra comprometiendo mas de 3.000 terminales a traves de dos botnets coordinadas, apuntando directamente a la banca movil espanola.

Definicion tecnica

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

Estructura interna de un APK:

ComponenteFuncionRelevancia forense
AndroidManifest.xmlPermisos, actividades, servicios declaradosRevela permisos peligrosos solicitados
classes.dexCodigo ejecutable Dalvik/ARTContiene logica maliciosa (overlay, keylogger)
res/Recursos (imagenes, layouts)Pantallas fake de overlay (imitacion bancos)
lib/Librerias nativas (.so)Codigo ofuscado en C/C++ (anti-analisis)
assets/Archivos adicionalesConfiguracion 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 distribucion: como llegan los APKs maliciosos al dispositivo

1. Sideloading via SMS/WhatsApp

El vector mas comun en Espana. 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 legitimas 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 legitimas en Play Store que se actualizan para incluir codigo malicioso despues de pasar la revision inicial (dropper technique).

Kaspersky (2025): La cantidad de amenazas Android detectadas crecio casi un 50% en 2025, con un aumento del 38% en detecciones en el tercer trimestre respecto al segundo. Solo en el tercer trimestre de 2025 se detectaron mas de 44.000 ataques con APKs maliciosos en un unico pais.


Permisos peligrosos: indicadores de APK malicioso

Permisos criticos 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 mensajeriaIntercepcion codigos OTP bancariosALTO
READ_CONTACTSAgenda, redes socialesPropagacion malware a contactosALTO
CAMERA / RECORD_AUDIOApps foto/video/llamadasEspionaje, grabacion sin consentimientoALTO
REQUEST_INSTALL_PACKAGESTiendas apps alternativasInstalar payloads adicionales (dropper)ALTO
QUERY_ALL_PACKAGESGestores appsIdentificar apps bancarias instaladasMEDIO

Regla forense: Una app que solicita simultaneamente 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 mas peligroso que puede conceder un usuario. Fue disenado 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 automaticamente (clicar botones, rellenar formularios)
  3. Interceptar notificaciones (codigos OTP, alertas bancarias)
  4. Evitar desinstalacion (cancelar automaticamente intentos de eliminar la app)
  5. Concederse permisos adicionales sin intervencion del usuario

Crocodilus (2025): Este troyano, activo en Espana 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 telefono esta bloqueado temporalmente.


Analisis forense de APKs maliciosos: herramientas y metodologia

Analisis estatico (sin ejecutar el APK)

1. Decompilacion 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: Codigo Java legible (mas facil de analizar)

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

2. Analisis con Androguard (Python)

# Script: Analisis 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")

Analisis dinamico (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 analisis 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

HerramientaTipoFuncion principalLicencia
APKToolEstaticoDecompilacion recursos + smaliOpen source
JADXEstaticoDecompilacion a Java legibleOpen source
AndroguardEstaticoAnalisis programatico PythonOpen source
MobSFEstatico + DinamicoFramework completo automatizadoOpen source
FridaDinamicoInstrumentacion runtimeOpen source
VirusTotalReputacionEscaneo multi-antivirus (70+ motores)Freemium
KoodousComunidadBase datos malware AndroidGratuita
Cellebrite UFEDForenseExtraccion fisica dispositivoComercial
Magnet AXIOMForenseTimeline completo sistemaComercial

Troyanos bancarios recientes distribuidos via APK malicioso en Espana

ToxicPanda (2024-2025)

CaracteristicaDetalle
ObjetivoApps bancarias y wallets digitales
DistribucionSideloading via sitios web comprometidos
TecnicaOverlay + intercepcion OTP + DGA (Domain Generation Algorithms)
Impacto4.500 dispositivos infectados (pico), Espana y Portugal principales targets
DeteccionSolicita accesibilidad + overlay + lectura SMS

Crocodilus (2025)

CaracteristicaDetalle
ObjetivoBanca movil + wallets cripto (recovery phrases)
DistribucionAPKs troyanizados via dropper que elude restricciones Android
TecnicaAccesibilidad + overlay + pantalla negra mientras opera
ImpactoCampanas activas en Espana y Turquia, expansion a Sudamerica
ParticularidadCircunvala restricciones de Android 13+ para sideloading

Klopatra (2025)

CaracteristicaDetalle
ObjetivoBanca movil espanola e italiana
DistribucionDos botnets coordinadas desde marzo 2025
TecnicaVNC oculto para control remoto de smartphones
ImpactoMas de 3.000 dispositivos comprometidos
ParticularidadPermite al atacante operar el telefono en tiempo real

Caso real: troyano bancario via APK en Espana

Nota: El siguiente caso esta basado en investigaciones forenses reales realizadas en Espana durante 2024-2025. Los datos especificos han sido anonimizados para proteger la confidencialidad de los afectados, preservando los aspectos tecnicos relevantes para fines educativos.

Campana Crocodilus contra banca espanola (2025)

Contexto: Un usuario de Malaga recibio un SMS aparentemente de CaixaBank informando de una “actualizacion 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:45Instalacion 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 capturadasTrafico de red (PCAP)
10:36:15SMS OTP recibido e interceptadotelephony.db (received + deleted)
10:38:00Transferencia de 8.500 euros ejecutadaExtracto bancario

Analisis 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 Policia Nacional (Brigada Investigacion Tecnologica)
  • Banco devolvio el 70% de la cantidad sustraida al acreditar engano sofisticado
  • Coste pericial total: 1.800 euros (extraccion + analisis APK + timeline + informe)

Delitos tipificados en el Codigo Penal

ArticuloDelitoPenaAplicacion APK malicioso
Art. 197.1 CPDescubrimiento y revelacion secretos1-4 anos prisionIntercepcion credenciales y SMS via APK
Art. 197.2 CPAcceso ilicito a datos1-4 anos prisionAcceso a datos bancarios mediante malware
Art. 248 CPEstafa informatica6 meses - 3 anosTransferencias fraudulentas con credenciales robadas
Art. 264.1 CPDanos informaticos6 meses - 3 anosDano a datos/programas del dispositivo infectado
Art. 264 bis CPInterrupcion sistemas6 meses - 3 anosBloqueo de funciones del dispositivo
Art. 264 ter CPFacilitacion herramientas delictivas6 meses - 2 anosCreacion y distribucion del APK malicioso

Agravantes relevantes

  • Art. 250.1.6 CP: Estafa agravada cuando afecta a gran numero de victimas (campanas masivas de APKs)
  • Art. 264.2 CP: Danos agravados si se comete en el marco de organizacion criminal
  • Art. 264.3 CP: Penas en mitad superior si se utilizan datos personales de terceros

Responsabilidad del banco

Segun la jurisprudencia espanola y la Directiva PSD2, las entidades bancarias tienen obligacion de:

  1. Implementar autenticacion reforzada (SCA) para operaciones sensibles
  2. Monitorizar operaciones anomalas 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 tecnicas sofisticadas (accesibilidad, overlay, intercepcion SMS), los tribunales consideran que la victima fue enganada con medios que exceden la diligencia exigible a un usuario medio.


Prevencion y deteccion

Senales 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 “Origenes desconocidos” o “Instalar apps desconocidas”
  • Solicita permisos de accesibilidad (ninguna app bancaria legitima lo requiere)
  • Solicita permiso de superposicion sobre otras apps
  • El certificado firmante no coincide con el desarrollador oficial

Medidas de proteccion

  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 opcion “Instalar aplicaciones desconocidas” para todas las fuentes
  5. Usar antivirus movil complementario (Kaspersky, Bitdefender, Malwarebytes)
  6. Activar alertas bancarias para cada transaccion superior a 100 euros
  7. Establecer limites 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 dias. Troyanos como Crocodilus y ToxicPanda fueron disenados especificamente para evadir Play Protect. Es recomendable complementar con antivirus movil y, sobre todo, no instalar APKs de fuentes no oficiales.

P: Puede un perito recuperar evidencia de un APK malicioso despues de un factory reset? R: Parcialmente. Un factory reset elimina la mayoria de datos del usuario y el malware, pero un perito con herramientas de extraccion fisica (Cellebrite UFED, Oxygen Forensics) puede recuperar fragmentos de bases de datos SQLite, logs de instalacion 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 analisis forense de APK malicioso? R: Los costes tipicos son: extraccion de evidencia del dispositivo Android (800-1.200 euros), analisis estatico y dinamico del APK (600-1.000 euros), reconstruccion del timeline del ataque (400-800 euros) y ratificacion judicial (300-600 euros). Total tipico: 2.100-3.600 euros. El retorno de inversion es alto: el informe pericial permite acreditar el engano sofisticado y facilita la recuperacion del dinero sustraido (60-100% via seguro de fraude bancario).

P: Es delito distribuir un APK malicioso en Espana? R: Si. La creacion y distribucion de APKs maliciosos esta tipificada en el Art. 264 ter del Codigo Penal como facilitacion de herramientas delictivas, con penas de 6 meses a 2 anos de prision. Si ademas se usa para robar credenciales (Art. 197 CP) o cometer estafa (Art. 248 CP), las penas se acumulan y pueden superar los 6 anos de prision, especialmente con agravantes de organizacion criminal o pluralidad de victimas.


Conceptos relacionados

  • Troyano bancario: Tipo de malware distribuido mediante APKs maliciosos, especializado en robo de credenciales bancarias
  • Overlay attack: Tecnica principal utilizada por APKs maliciosos para mostrar pantallas falsas sobre apps bancarias
  • Analisis de malware: Metodologia general de analisis estatico y dinamico aplicable a APKs
  • ADB (Android Debug Bridge): Herramienta esencial para extraccion forense de evidencia desde dispositivos Android infectados

Referencias y fuentes

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

    • 12.184.351 ataques a Android en Q1 2025; aumento del 196% en troyanos bancarios moviles en 2024
  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 Espana. (2026). “Aplicaciones falsas, ataques NFC y otros problemas Android en 2026”. kaspersky.es

    • Mas de 44.000 ataques con APKs maliciosos en un solo trimestre
  4. BitSight. (2025). “ToxicPanda: The Android Banking Trojan Targeting Europe”. bitsight.com

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

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

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

    • Analisis tecnico de nuevos troyanos bancarios Android
  8. Malwarebytes. (2025). “New Android malware lets criminals control your phone”. malwarebytes.com

    • Tecnicas 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 Espana en 2025
  10. Comparitech. (2025). “20+ Android Malware Stats for 2025”. comparitech.com

    • Estadisticas globales de malware Android actualizadas
  11. Codigo Penal Espanol: Arts. 197 (revelacion secretos), 248 (estafa), 264 (danos informaticos), 264 ter (facilitacion herramientas)

  12. Directiva PSD2 (UE) 2015/2366: Autenticacion reforzada y responsabilidad entidades bancarias en operaciones no autorizadas


Ultima actualizacion: 12 Febrero 2026 Categoria: Malware (MAL-009) Nivel tecnico: Intermedio-Avanzado Relevancia forense: MUY ALTA (principal vector distribucion 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