Este artículo documenta, con fines divulgativos y de investigación de seguridad, cómo el autor logró registrar una máquina Linux como cliente válido de los servicios privados de Apple para leer la ubicación cifrada de un contacto que ya compartía su posición a través de Find My, todo ello sin necesidad de un Mac y con el consentimiento explícito del amigo.
El proyecto parte del objetivo, aparentemente inofensivo, de dibujar geofences locales y notificar en Discord cuando el amigo entraba o salía de ciertos lugares. Sin embargo, la API web pública de iCloud no expone Find My Friends, así que el autor tuvo que recurrir a ingeniería inversa de los daemons nativos fmfd, findmylocated y searchpartyd, así como al protocolo IDS —la capa privada de identidad y mensajería cifrada de Apple— y al servicio de notificaciones APNs.
El recorrido explica paso a paso los escollos técnicos: el intercambio de tokens de MobileMe, la generación correcta de cabeceras Anisette que simulan un cliente Apple aprovisionado, la autenticación mediante GrandSlam (SRP más 2FA) para obtener un PET y un certificado IDS, y los requisitos exactos del CSR (PKCS#10, RSA de 2048 bits, firma SHA-1, common name con SHA-1 en mayúsculas del IDS profile ID). Solo cuando todos esos parámetros coincidieron con lo que esperan los daemons nativos, Apple envió por IDS la clave de la sesión compartida y el autor pudo descifrar la ubicación en tiempo real.
El texto deja claro que la herramienta solo lee un 'share' previamente aceptado en la cuenta del autor, no permite enviar invitaciones ni manipular dispositivos ajenos, y los geofences se evalúan en local tras el descifrado. Aun así, la investigación demuestra que el ecosistema cerrado de Apple puede emularse desde Linux con código abierto, lo que tiene implicaciones evidentes para la privacidad y para futuras auditorías de seguridad de la plataforma.
