UN ANÁLISIS SOBRE EL PEGASUS DEL CATALANGATE

Autor: Silvia Hernández Sánchez

RESUMEN

En este análisis, dividido entre dos partes, se investigará a Pegasus.

En la primera parte, el tema principal a tratar en este artículo, gravitará alrededor del infame spyware (en castellano, programa espía), Pegasus, que es conocido por su implicación en diferentes campañas de espionaje contra periodistas, activistas, figuras disidentes o defensores de los derechos humanos. Cabe destacar que la empresa que comercializa este producto, NSO Group [1], defiende que sus productos son utilizados exclusivamente por agencias gubernamentales de inteligencia o fuerzas del orden, para combatir el crimen y el terrorismo.

En la segunda parte, se centrará en diferentes investigaciones técnicas realizadas sobre Pegasus, como la realizada por el equipo de Google Project Zero, así como se analizará la última publicación de Citizen Lab que ha destapado el  Catalangate. También se analizará, como referencia al análisis [2] provisto por el investigador de seguridad informática, Colin Hardy (@cybercdh), en el que evaluaba las muestras provistas en uno de los principales repositorios de malware como vx-underground, indicando que algunas de ellas parecen no ser Pegasus.

Alternativamente, se comentará la prueba de concepto [3][4] de realizada por Hack Patrol en la que provocan falsos positivos de Pegasus en la herramienta de verificación móvil de Amnistía Internacional, también conocida como Mobile Verification Toolkit.

Palabras clave: Pegasus, Catalangate, NSO Group, Amnistía Internacional, Citizen Lab

 

¿QUÉ ES PEGASUS?

Es importante definir las características de esta herramienta, dado que más adelante en esta publicación, se discutirá sobre la legitimidad de las muestras de Pegasus.

Además del conocido nombre del que dispone este programa espía, en una de las primeras investigaciones sobre Pegasus que fue realizada por investigadores de seguridad de Google, descubrieron una docena de dispositivos Android que podían tener instalados una aplicación asociada a Pegasus, pudiendo denominarlo como Chrysaor.

Según lo que se puede identificar en este manual [5] sobre Pegasus, del año 2013, es una solución de ciberinteligencia que permite a agencias gubernamentales la extracción de inteligencia, de una forma remota, de virtualmente cualquier dispositivo móvil. La necesidad de este tipo de herramientas es proveer con capacidades de intercepción de comunicaciones dado el desafío actual de un campo de batalla altamente dinámico. Hay que tener en cuenta que este manual provee información obsoleta, de ser aplicable a antiguos casos de infecciones por Pegasus, pero muestra unos detalles interesantes a tener en cuenta.

 

CARACTERÍSTICAS DE PEGASUS

Algunos de los “obstáculos” dispuestos en el panorama de comunicaciones, según este manual, deben ser sobrepasados por las organizaciones de inteligencia:

  • Esto hace referencia a la cantidad de aplicaciones o dispositivos que cifran sus comunicaciones.
  • Abundancia de aplicaciones móviles. Existe un vasto mercado de aplicaciones, que se basan en protocolos propietarios.
  • Los objetivos se encuentran fuera del dominio de intercepción. Un ejemplo de ello serían las videollamadas.
  • El uso de múltiples identidades virtuales como sitios de LinkedIn con nombres reales, usuarios en foros o aliases en diferentes plataformas.
  • El reemplazo frecuente de tarjetas SIM para evadir cualquier tipo de intercepción.
  • Extracción de datos del dispositivo final.
  • Implementaciones caras y complejas que requieren de regulaciones y estandarizaciones.

Su premisa es que, hasta que los anteriores motivos no se encuentren resueltos y atajados, los objetivos criminales y terroristas se encuentran a salvo de las operaciones de seguridad del Estado. Debido a esto, Pegasus proporciona los siguientes beneficios debido a sus capacidades de sobrepasar los mencionados obstáculos:

  • Acceso ilimitado a los dispositivos móviles de los objetivos. Penetración en dispositivos basados en Android, BlackBerry, iOS y Symbian.
  • Intercepción de llamadas, mediante la monitorización de la voz y la intercepción de llamadas VoIP (acrónimo en inglés, Voice over IP).
  • Recopilación de una gran variedad de tipos de información como ficheros de contacto, mensajes, correos electrónicos, fotos, ficheros, ubicaciones, listas de procesos o contraseñas, para distribuir la inteligencia más completa y contrastada.
  • Manejo de contenido y dispositivos cifrados, obteniendo acceso aún a pesar de protecciones por contraseña.
  • Monitorización de aplicaciones.
  • Independencia de proveedores de servicios, dado que no es necesaria la cooperación de los Operadores de Redes Móviles.
  • Descubrimiento de entidades virtuales, sin preocupación frente cambios entre aliases o reemplazos de tarjetas SIM.
  • Eliminación de la necesidad de proximidad física al objetivo o su dispositivo, en cualquier fase.
  • No deja “rastro” en los dispositivos con gasto mínimo de datos, memoria y batería, así como resulta totalmente transparente para el objetivo y puede autodestruirse en caso de riesgo a ser expuesto.

En particular, el mecanismo de autodestrucción de Pegasus que está contenido en los agentes está desarrollado para evitar la exposición del código fuente de Pegasus. Este mecanismo se activa en estos dos escenarios:

  • Riesgo por exposición: Debido a la probabilidad de exposición, el mecanismo de activa automáticamente y se desinstala el agente.
  • Agente sin responder: En algunos casos en los que el agente no está respondiendo y no se comunica con los servidores en un gran período de tiempo, el agente de desinstala para evitar la exposición y abusos del mismo.

Por un lado, en el caso de la arquitectura de la aplicación, parece estar diseñado por capas que disponen de su propia responsabilidad para constituirse como una herramienta de recopilación y análisis de inteligencia.

 

Imagen sobre la arquitectura tecnológica de la aplicación de Pegasus, obtenida de su supuesto manual del año 2013

Por otro lado, el sistemas de Pegasus dispone de unos componentes macro sistémicos, a nivel arquitectónico.

Imagen sobre la arquitectura de la infraestructura de telecomunicaciones de Pegasus, obtenida de su supuesto manual del año 2013

En este caso, NSO Group es responsable del despliegue o la configuración del hardware y software de Pegasus, bajo las premisas del cliente y asegurándose de que el sistema está funcionando correctamente. Todo esto es accesible para el cliente, mediante un sitio web, que actúa de consola y dispone de los siguientes módulos gestionados por NSO Group:

  • Servidores web que monitorizan instalaciones de agentes, mantenimiento, transmisión de datos o terminales para sus operadores.
  • Módulo de comunicación que permite conexión entre servidores.
  • Módulo de comunicación móvil que habilita la instalación remota del agente Pegasus.
  • Módulo de gestión de permisos que define y controla las características y el contenido disponibles para cada usuario, en base a su rol, rango y jerarquía.
  • Almacenamiento de datos en un dispositivo externo, con sistema de backups.
  • Seguridad en los servidores que residen dentro de la red de confianza del cliente, detrás de las medidas propias del mismo y las medidas de seguridad suplidas por NSO Group.
  • Módulo de sistema estandarizado gestión de hardware, que se despliega en múltiples servidores, conectados entre sí.
  • Interfaz de usuario para la aplicación de escritorio de Pegasus.
  • Módulo de la red de anonimización de Pegasus, también conocido por su término en inglés Pegasus Anonymizing Transmission Network. También emplean redes públicas, con sus propios procedimientos para transmitir datos de forma segura.
  • Módulo de dispositivos de objetivo, para poder gestionar nuevas instalaciones, extracciones, monitorizaciones o recopilaciones.

 

VECTORES DE ATAQUE DE PEGASUS

Adicionalmente, se mencionan algunos de los vectores de ataque asociados a Pegasus, que también describen la sutileza y la sofisticación que envuelve el casi mito de este software malicioso.

En primer lugar, existe una cadena de exploits conocida como Trident, que es atribuida a supuestos despliegues de Pegasus en el año 2016. Este trio de vulnerabilidades, permitían el compromiso de un dispositivo iOS debido a una vulnerabilidad en WebKit.

  • CVE-2016-4657: Cuando un usuario visita un sitio web que puede derivar en ejecución de código arbitrario.
  • CVE-2016-4655: Una aplicación puede desvelar memoria del kernel.
  • CVE-2016-4656: Una aplicación puede ejecutar código arbitrario con privilegios de kernel.

En segundo lugar, el exploit zero-click (sin interacción del usuario) también conocido como Megalodon o ForcedEntry (CVE-2021-30860), aprovecha una vulnerabilidad identificada en iMessage para poder infectar dispositivos. Existe una publicación del equipo de Google Project Zero, sobre una muestra del exploit de esta vulnerabilidad que fue facilitada por el equipo de Citizen Lab [6], tratando en profundidad sobre este tema. Esta vulnerabilidad fue arreglada el 13 de septiembre de 2021 gracias a la actualización de iOS a la versión 14.8.

En el caso de los vectores de ataque que son mencionados en la publicación del Catalangate, se detallarán más adelante debido a la metodología aplicada durante esta investigación, para debatir dicha información.

 

LAS INVESTIGACIONES SOBRE PEGASUS Y SUS DETALLES

Antes de analizar la publicación de Citizen Lab que ha destapado el Catalangate, se referencian algunas de las principales investigaciones sobre Pegasus, que han compartido patrones de comportamiento como llamadas a la API de Android o hashes para el posterior análisis. Se destaca la ausencia de los mencionados hashes en muchas de las publicaciones observadas, por motivos desconocidos. Pueden existir razones de carácter legal que eviten que estos equipos de investigadores de seguridad publiquen ciertos detalles sobre esta herramienta.

 

PRIMERA INVESTIGACIÓN DE LOOKOUT Y CITIZEN LAB

El 10 de agosto de 2016, Ahmed Mansoor, un defensor de los derechos humanos en Emiratos Árabes Unidos, recibió un SMS que le invitaba a acceder a un supuesto enlace en el que se mostraban “nuevos secretos” sobre detenidos en prisiones emiratíes. Envió dicho SMS a Citizen Lab, quienes participaron (junto al equipo de Lookout [7]) en la investigación que acabaría detectando al primer Pegasus. Según Citizen Lab, infectaron un dispositivo de pruebas iOS en Estados Unidos, mediante el SMS enviado a Ahmed Mansoor.

El hecho de la infección, en territorio estadounidense, sería empleado más tarde por Citizen Lab en una contestación a las declaraciones de NSO Group, sobre un estudio del think tank canadiense en el que se empleaba la técnica de DNS Cache Probing para obtener una lista de países en los que se encontraron infecciones por Pegasus. Entre los varios países que se listaban como afectados [8], unos de ellos era Estados Unidos.

En la investigación técnica de Lookout sobre las primeras muestras de Pegasus para iOS, se recalcan dos características que han permanecido como señas de identidad de este malware, que serían el uso de exploits de jailbreak remoto y una técnica de hooking, en la que insertará sus propias librerías en procesos legítimos que se estén ejecutando, manteniendo a este malware sin detectar. Así mismo, destacan el desarrollo profesional de su código en términos de modularidad y eficiencia.

La estructura del análisis técnico de Lookout se desgrana en, precisamente, las capacidades descritas por el anteriormente mencionado manual sobre Pegasus, en el que facilitan fragmentos de código donde se señala la lógica de cada capacidad como su instalación, persistencia, mecanismo de autodestrucción, obtención de contactos, ubicaciones GPS o captura de contraseñas de usuario, entre otros elementos de interés.

Es interesante reseñar que, después del descubrimiento de este software espía, Lookout trabajó conjuntamente con Google [9][10] para identificar la variante Android de Pegasus, Chrysaor, y poder desarrollar medidas de protección para los usuarios de Android, en el año 2017. Igualmente, compartieron muestras que pueden ser descargadas para su posterior análisis y validación por la propia comunidad académica, así como por la comunidad de seguridad informática:

  • SHA256: ade8bef0ac29fa363fc9afd958af0074478aef650adeb0318517b48bd996d5d5 [11]
  • SHA256: 3474625e63d0893fc8f83034e835472d95195254e1e4bdf99153b7c74eb44d86 [12]

Para esta publicación, se ha inspeccionado brevemente una de las muestras (SHA256: ade8bef0ac29fa363fc9afd958af0074478aef650adeb0318517b48bd996d5d5), para poder obtener algunas perspectivas sobre su funcionamiento interno, como puede ser el método de autodestrucción o de suicidio, común en las versiones de iOS y Android.

En primer lugar, se identifican una frase autorreferencial a Pegasus, en la que se define que debe matar su propio proceso mandando un último registro de actividad.

Captura de parte del código de Pegasus

En segundo lugar, se identifica una de las condiciones por las cuales Pegasus puede cometer suicidio, empleando el valor “checkIfAntiduteExists”, si existe un nuevo fichero en la ruta “/sdcard/MemosForNotes”, se borrará del dispositivo.

Captura de parte del código de Pegasus

En tercer lugar, Pegasus empleará su funcionalidad de suicidio si no es capaz de detectar el identificador de suscripción al servidor MCC (método de comunicación empleado) o encuentra que sea inválido. Este tipo de acciones pueden evitar que sea ejecutado en dispositivos de prueba o en entornos de emulación que no estén conectados a una red móvil.

Captura de parte del código de Pegasus

Alternativamente, se identifican algunos componentes nativos encontrados en el fichero “C0000R.java”. En la siguiente imagen se muestran algunos:

Captura de parte del código de Pegasus

A continuación, se describen algunos de estos componentes:

  • addk: Empleado para la inyección en procesos.
  • cmdshell: Coge un argumento dado, intento definir el identificador de usuario como el usuario root y, luego, ejecuta el argumento provisto.
  • libk: Componente de registro de pulsación de teclas que es inyectado en el proceso del teclado, mediante su identificador de proceso, para capturar dichas pulsaciones.
  • sucopier: Es un exploit desarrollado para realizar escalada de privilegios.
  • take_screen_shot: Binario usado para obtener capturas del dispositivo.

Nótese que el idioma en el que se encuentra escrito el código, es en inglés. Este hecho será referenciado más adelante, en la segunda parte de este análisis sobre Pegasus.

 

CONCLUSIÓN

En función de lo planteado, durante esta primera parte, se han detallado los inicios de Pegasus asociados a Citizen Lab, el manual de producto de NSO Group, la primera investigación técnica realizada por Lookout y un vistazo a una muestra de este spyware que ha sido afirmada con alta confianza.

Las funciones de este software malicioso están diseñadas para vulnerar la privacidad de (principalmente) usuarios de Android e iOS, que se transforman en delitos contra personas que pertenecen a un sector concreto de la población. El rastro histórico que está dejando en las propias investigaciones, está marcando un estilo de análisis sobre spyware que proviene de entidades estatales.

En la segunda parte de este análisis, se ahondará en otras investigaciones que han presentado dudas razonables sobre Pegasus y la pieza central, la publicación del CatalanGate [11]. Esto permitirá brindar una imagen completa, que esta conclusión con la final.

 

Silvia Hernández Sánchez – Threat Hunting & OSINT Specialist Analyst en Viewnext

 

BIBLIOGRAFÍA

[1] NSO Group, Use Cases, 2022: https://www.nsogroup.com/about-us/

[2] Colin Hardy, (P) Pegasus Malware, 2021: https://docs.google.com/document/d/1eK-UrzBNHCaFiHuK6RjbeGDJOVTFy5pztmQ0d2bqT2Y/edit#

[3] Hack Patrol, Getting Pegasus (NSO Group) false positives, 2022: https://medium.com/@thehackpatrol/getting-pegasus-false-positives-53f670bbde35

[4] Hack Patrol, Getting Pegasus (NSO) False Positives, 2022: https://vimeo.com/696991504?embedded=true&source=video_title&owner=171781903

[5] jonathandata1, Pegasus Spyware Product Manual 2013, 2022: https://github.com/jonathandata1/pegasus_spyware/blob/master/product-manual/2013-NSO-Pegasus.pdf

[6] Ian Beer y Samuel Groß de Google Project Zero, A deep dive into an NSO zero-click iMessage exploit: Remote Code Execution, 2021: https://googleprojectzero.blogspot.com/2021/12/a-deep-dive-into-nso-zero-click.html

[7] Max Bazaliy, Michael Flossman, Andrew Blaich, Seth Hardy, Kristy Edwards, Mike Murray, Technical Analysis of Pegasus Spyware, Lookout, 2016: https://info.lookout.com/rs/051-ESQ-475/images/lookout-pegasus-technical-analysis.pdf

[8] OCCRP (acrónimo en inglés, Organized crime and Corruption Reporting Project), Who’s on the list?, 2021: https://cdn.occrp.org/projects/project-p/#/

[9] Agnidhra Chakraborty, Android-Malwares/Chrysaor, 2017: https://github.com/ethicalhackeragnidhra/Android-Malwares/blob/master/Chrysaor/ade8bef0ac29fa363fc9afd958af0074478aef650adeb0318517b48bd996d5d5

[10] Agnidhra Chakraborty, Android-Malwares/Chrysaor, 2017: https://github.com/ethicalhackeragnidhra/Android-Malwares/blob/master/Chrysaor/3474625e63d0893fc8f83034e835472d95195254e1e4bdf99153b7c74eb44d86

[11] John Scott-Railton, Elies Campo, Bill Marczak, Bahr Abdul Razzak, Siena Anstis, Gözde Böcü, Salvatore Solimano, and Ron Deibert, CatalanGate Extensive Mercenary Spyware Operation against Catalans Using Pegasus and Candiru, 2022: https://citizenlab.ca/2022/04/catalangate-extensive-mercenary-spyware-operation-against-catalans-using-pegasus-candiru/