Reconstruyen el método para hackear EncroChat: la policía usó un exploit público de GitHub

Reconstruyen el método para hackear EncroChat: la policía usó un exploit público de GitHub

Querían anonimato, pero la policía terminó vigilando su teléfono en tiempo real.

image

Una de las operaciones policiales más sonoras contra el crimen organizado en Europa obtuvo inesperadamente una explicación técnica. Los especialistas reconstruyeron cómo las autoridades policiales francesas en 2020 se infiltraron en los teléfonos protegidos de EncroChat, y descubrieron que en las herramientas de la operación se usó un código que estaba públicamente disponible en GitHub.

El sistema se infectó a través de la vulnerabilidad de Android CVE-2019-2215 (7.8 High), conocida como Bad Binder. Un error en el mecanismo Binder permitía elevar privilegios y obtener control total sobre el dispositivo vulnerable. El equipo Project Zero reveló el problema en octubre de 2019, después de recibir información sobre ataques reales. La vulnerabilidad existió en Android casi dos años, aunque en el núcleo de Linux se corrigió antes.

Los especialistas analizaron el programa malicioso encontrado en uno de los teléfonos de EncroChat y determinaron que estaba relacionado con una implementación publicada de CVE-2019-2215. El código que explotaba la vulnerabilidad estaba disponible en GitHub. Según se pudo reconstruir, la parte francesa adaptó los desarrollos disponibles para obtener acceso privilegiado a los dispositivos.

Para penetrar en el sistema, un solo Bad Binder no era suficiente. EncroChat no permitía instalar aplicaciones normales ni proporcionaba un navegador a los usuarios. El atacante necesitaba una vía inicial hacia el sistema. En el caso de EncroChat, ese canal fue la infraestructura de actualizaciones. Tras instalar el programa en el dispositivo, este se ejecutaba con privilegios máximos y mantenía el acceso incluso cuando el dispositivo se reiniciaba.

Para interceptar la correspondencia, se utilizó la herramienta de análisis dinámico Frida. El programa se conectaba a la aplicación de EncroChat y observaba cómo aparecían nuevas entradas en la base de datos de mensajes Realm. Gracias a este enfoque, los mensajes se copiaban directamente en el teléfono antes de que se cifraran o después de que se descifraran. Por ello, a las autoridades no les hizo falta violar el propio algoritmo de cifrado de extremo a extremo.

Los materiales oficiales de Eurojust confirman que las autoridades francesas obtuvieron acceso técnico a la correspondencia de EncroChat, y que parte de los mensajes fueron leídos por las fuerzas del orden prácticamente en tiempo real. Dejó de interceptarse mensajes el 13 de junio de 2020, cuando el operador de la red detectó que el sistema había sido hackeado y avisó a los usuarios.

La magnitud de la operación fue enorme. Según Europol, las fuerzas del orden obtuvieron más de 115 millones de conversaciones de aproximadamente 60 000 usuarios. Tras eso se llevaron a cabo investigaciones y se arrestó a 6 558 personas, y la cifra de activos criminales incautados o congelados se aproximó a €900 millones.

Google incluyó CVE-2019-2215 en el boletín de seguridad de Android de octubre de 2019. Los dispositivos que se actualizaron después del 6 de octubre de 2019 están protegidos contra la vulnerabilidad. La historia de EncroChat muestra cómo, a veces, el destino del código público se desarrolla de manera inusual: un ejemplo que se creó para demostrar un error peligroso, años después ayudó a reconstruir los detalles técnicos de una de las mayores operaciones durante la cual se interceptó correspondencia cifrada.