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.
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:
| Componente | Funcion | Relevancia forense |
|---|---|---|
| AndroidManifest.xml | Permisos, actividades, servicios declarados | Revela permisos peligrosos solicitados |
| classes.dex | Codigo ejecutable Dalvik/ART | Contiene 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 adicionales | Configuracion C2, payloads cifrados |
| META-INF/ | Firma digital del paquete | Certificado 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
| Fuente | Riesgo | Ejemplo |
|---|---|---|
| APKMirror | Bajo (verifican firmas) | Apps legitimas pre-release |
| APKPure | Medio | Algunas apps con adware inyectado |
| Sitios warez | Muy alto | Apps premium crackeadas con troyanos |
| Telegram channels | Muy alto | APKs “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 Android | Uso legitimo | Abuso por malware | Nivel riesgo |
|---|---|---|---|
| BIND_ACCESSIBILITY_SERVICE | Lectores pantalla, asistentes | Overlay attacks, captura interacciones | CRITICO |
| SYSTEM_ALERT_WINDOW | Chat bubbles, PiP video | Pantallas falsas sobre apps bancarias | CRITICO |
| READ_SMS / RECEIVE_SMS | Apps mensajeria | Intercepcion codigos OTP bancarios | ALTO |
| READ_CONTACTS | Agenda, redes sociales | Propagacion malware a contactos | ALTO |
| CAMERA / RECORD_AUDIO | Apps foto/video/llamadas | Espionaje, grabacion sin consentimiento | ALTO |
| REQUEST_INSTALL_PACKAGES | Tiendas apps alternativas | Instalar payloads adicionales (dropper) | ALTO |
| QUERY_ALL_PACKAGES | Gestores apps | Identificar apps bancarias instaladas | MEDIO |
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:
- Leer todo lo que aparece en pantalla (credenciales, mensajes, emails)
- Realizar acciones automaticamente (clicar botones, rellenar formularios)
- Interceptar notificaciones (codigos OTP, alertas bancarias)
- Evitar desinstalacion (cancelar automaticamente intentos de eliminar la app)
- 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 conocidasFrida (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 maliciosoHerramientas forenses especializadas
| Herramienta | Tipo | Funcion principal | Licencia |
|---|---|---|---|
| APKTool | Estatico | Decompilacion recursos + smali | Open source |
| JADX | Estatico | Decompilacion a Java legible | Open source |
| Androguard | Estatico | Analisis programatico Python | Open source |
| MobSF | Estatico + Dinamico | Framework completo automatizado | Open source |
| Frida | Dinamico | Instrumentacion runtime | Open source |
| VirusTotal | Reputacion | Escaneo multi-antivirus (70+ motores) | Freemium |
| Koodous | Comunidad | Base datos malware Android | Gratuita |
| Cellebrite UFED | Forense | Extraccion fisica dispositivo | Comercial |
| Magnet AXIOM | Forense | Timeline completo sistema | Comercial |
Troyanos bancarios recientes distribuidos via APK malicioso en Espana
ToxicPanda (2024-2025)
| Caracteristica | Detalle |
|---|---|
| Objetivo | Apps bancarias y wallets digitales |
| Distribucion | Sideloading via sitios web comprometidos |
| Tecnica | Overlay + intercepcion OTP + DGA (Domain Generation Algorithms) |
| Impacto | 4.500 dispositivos infectados (pico), Espana y Portugal principales targets |
| Deteccion | Solicita accesibilidad + overlay + lectura SMS |
Crocodilus (2025)
| Caracteristica | Detalle |
|---|---|
| Objetivo | Banca movil + wallets cripto (recovery phrases) |
| Distribucion | APKs troyanizados via dropper que elude restricciones Android |
| Tecnica | Accesibilidad + overlay + pantalla negra mientras opera |
| Impacto | Campanas activas en Espana y Turquia, expansion a Sudamerica |
| Particularidad | Circunvala restricciones de Android 13+ para sideloading |
Klopatra (2025)
| Caracteristica | Detalle |
|---|---|
| Objetivo | Banca movil espanola e italiana |
| Distribucion | Dos botnets coordinadas desde marzo 2025 |
| Tecnica | VNC oculto para control remoto de smartphones |
| Impacto | Mas de 3.000 dispositivos comprometidos |
| Particularidad | Permite 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:
| Timestamp | Evento | Evidencia |
|---|---|---|
| 10:15:00 | SMS recibido con enlace descarga | Base datos SMS del dispositivo |
| 10:17:23 | APK descargado (CaixaBank_v5.2.apk) | Directorio /sdcard/Download/ |
| 10:18:45 | Instalacion completada | packages.list (install_time) |
| 10:19:02 | Permisos accesibilidad concedidos | appops.xml, settings.db |
| 10:19:30 | Permisos overlay concedidos | appops.xml |
| 10:35:10 | Usuario abre app CaixaBank real | logcat (ActivityManager) |
| 10:35:12 | Overlay activado (pantalla falsa) | logcat (WindowManager) |
| 10:36:00 | Credenciales capturadas | Trafico de red (PCAP) |
| 10:36:15 | SMS OTP recibido e interceptado | telephony.db (received + deleted) |
| 10:38:00 | Transferencia de 8.500 euros ejecutada | Extracto 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, contactosResultado:
- 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)
Marco legal espanol
Delitos tipificados en el Codigo Penal
| Articulo | Delito | Pena | Aplicacion APK malicioso |
|---|---|---|---|
| Art. 197.1 CP | Descubrimiento y revelacion secretos | 1-4 anos prision | Intercepcion credenciales y SMS via APK |
| Art. 197.2 CP | Acceso ilicito a datos | 1-4 anos prision | Acceso a datos bancarios mediante malware |
| Art. 248 CP | Estafa informatica | 6 meses - 3 anos | Transferencias fraudulentas con credenciales robadas |
| Art. 264.1 CP | Danos informaticos | 6 meses - 3 anos | Dano a datos/programas del dispositivo infectado |
| Art. 264 bis CP | Interrupcion sistemas | 6 meses - 3 anos | Bloqueo de funciones del dispositivo |
| Art. 264 ter CP | Facilitacion herramientas delictivas | 6 meses - 2 anos | Creacion 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:
- Implementar autenticacion reforzada (SCA) para operaciones sensibles
- Monitorizar operaciones anomalas en tiempo real
- 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
- NUNCA instalar APKs fuera de Google Play Store
- Verificar permisos antes de instalar cualquier app
- Mantener Google Play Protect activado (detecta 50-70% variantes conocidas)
- Desactivar la opcion “Instalar aplicaciones desconocidas” para todas las fuentes
- Usar antivirus movil complementario (Kaspersky, Bitdefender, Malwarebytes)
- Activar alertas bancarias para cada transaccion superior a 100 euros
- 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
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
Kaspersky Securelist. (2025). “IT threat evolution Q2 2025: Mobile statistics”. securelist.com
- Amenazas Android crecieron casi 50% en 2025; +38% detecciones Q3 vs Q2
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
BitSight. (2025). “ToxicPanda: The Android Banking Trojan Targeting Europe”. bitsight.com
- 4.500 dispositivos infectados; Espana y Portugal principales objetivos
The Hacker News. (2025). “New Android Trojan Crocodilus Abuses Accessibility”. thehackernews.com
- Crocodilus activo en Espana: overlay + accesibilidad + pantalla negra
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
Cybernews. (2025). “New Android banking trojan hijacks thousands of phones”. cybernews.com
- Analisis tecnico de nuevos troyanos bancarios Android
Malwarebytes. (2025). “New Android malware lets criminals control your phone”. malwarebytes.com
- Tecnicas de control remoto en malware Android 2025
INCIBE. (2026). “Balance ciberseguridad 2025: 122.223 incidentes (+26%)”. incibe.es
- 55.411 incidentes de malware en Espana en 2025
Comparitech. (2025). “20+ Android Malware Stats for 2025”. comparitech.com
- Estadisticas globales de malware Android actualizadas
Codigo Penal Espanol: Arts. 197 (revelacion secretos), 248 (estafa), 264 (danos informaticos), 264 ter (facilitacion herramientas)
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
