OWASP Mobile Top 10
El OWASP Mobile Top 10 2024 identifica las vulnerabilidades más críticas en aplicaciones móviles basadas en datos reales del ecosistema. Para un bug hunter en iOS, estas categorías sirven como checklist priorizado para orientar el análisis y maximizar la eficacia de las pruebas.
M1: Improper Credential Usage
Criticidad: Muy Alta | Explotabilidad: Fácil | Detección: Fácil Qué buscar:
Credenciales hardcodeadas en binarios IPA o código fuente
API keys embebidas en el código
Tokens en texto plano en Keychain o UserDefaults
Certificados SSL sin protección Técnicas:
grep
strings,class-dump
, revisión de plist, análisis runtime con LLDB
M2: Inadequate Supply Chain Security
Criticidad: Alta | Explotabilidad: Variable Qué buscar:
Dependencias de terceros desactualizadas o comprometidas
CocoaPods vulnerables
Frameworks no oficiales o sin verificación de integridad Herramientas:
pod outdated
, análisis dePodfile.lock
yPackage.resolved
, validación de firmas
M3: Insecure Authentication/Authorization
Criticidad: Alta | Explotabilidad: Fácil Vectores:
Bypass de Face ID/Touch ID con Frida
JWT sin validación server-side
Gestión deficiente de sesiones
Deep links sin autenticación Ejemplo Frida:
Java.perform(function() {
var LAContext = ObjC.classes.LAContext;
LAContext["- evaluatePolicy:localizedReason:reply:"].implementation =
function(policy, reason, reply) {
reply(ObjC.classes.NSNumber.numberWithBool_(true), null);
};
});
M4: Insufficient Input/Output Validation
Criticidad: Alta | Explotabilidad: Moderada Qué buscar:
SQLi en Core Data/SQLite
XSS en WebViews (
WKWebView
/UIWebView
)Command injection en llamadas al sistema
Path traversal en manejo de archivos
M5: Insecure Communication
Criticidad: Alta | Explotabilidad: Moderada Qué buscar:
Falta o mal implementación de certificate pinning
Uso de HTTP para datos sensibles
TLS obsoletos (<1.2) Herramientas: Burp Suite, OWASP ZAP, Charles Proxy
M6: Inadequate Privacy Controls
Criticidad: Media-Alta | Explotabilidad: Variable Qué buscar:
Permisos excesivos en
Info.plist
Tracking sin consentimiento
Transmisión innecesaria de PII
Analytics con datos sensibles
M7: Insufficient Binary Protections
Criticidad: Moderada | Explotabilidad: Fácil Qué buscar:
Ausencia de anti-debugging
Falta de ofuscación de código
Runtime tampering sin detección
Class dumping sin restricción Herramientas: IDA Pro, Ghidra, Hopper,
class-dump
M8: Security Misconfiguration
Criticidad: Variable | Explotabilidad: Fácil Qué buscar:
Flags de debug en producción
Logging excesivo con datos sensibles
Schemes URL no validados
Entitlements innecesarios
M9: Insecure Data Storage
Criticidad: Alta | Explotabilidad: Fácil Qué buscar:
Keychain mal configurado (sin
kSecAttrAccessibleWhenUnlocked
)UserDefaults con datos sensibles
Archivos sin cifrar en sandbox
Core Data sin protección Técnicas: inspección de sandbox en dispositivo jailbreakeado
M10: Insufficient Cryptography
Criticidad: Alta | Explotabilidad: Moderada Qué buscar:
AES con claves estáticas
Hashes inseguros (MD5, SHA1)
RNG débil
Derivación de claves insegura Referencias: OWASP MASVS y MASTG para controles criptográficos
Cómo usar este listado
Checklist inicial: revisa cada M1–M10 durante análisis estático y dinámico.
Priorización: comienza por M1–M3 dada su alta criticidad y facilidad de explotación.
Herramientas y técnicas: combina
class-dump
, LLDB/Frida y proxies para cubrir todas las categorías.Validación manual: confirma hallazgos de herramientas automáticas con pruebas específicas.
Este marco te permitirá enfocar tus pruebas de bug bounty en iOS de forma estructurada y efectiva, asegurando que cubres los riesgos más críticos del año 2024.
Última actualización