Está en la página 1de 15

USO OFICIAL

CCN-CERT IT-48/21

Detección de software Pegasus en dispositivos iPhone

Julio 2021

USO OFICIAL
USO OFICIAL
CCN-CERT IT-48/21 Detección de software Pegasus en dispositivos iPhone

Edita:

 Centro Criptológico Nacional, 2021

Fecha de Edición: julio de 2021

LIMITACIÓN DE RESPONSABILIDAD
El presente documento se proporciona de acuerdo con los términos en él recogidos, rechazando
expresamente cualquier tipo de garantía implícita que se pueda encontrar relacionada. En ningún caso, el
Centro Criptológico Nacional puede ser considerado responsable del daño directo, indirecto, fortuito o
extraordinario derivado de la utilización de la información y software que se indican incluso cuando se
advierta de tal posibilidad.

AVISO LEGAL
Quedan rigurosamente prohibidas, sin la autorización escrita del Centro Criptológico Nacional, bajo las
sanciones establecidas en las leyes, la reproducción parcial o total de este documento por cualquier medio
o procedimiento, comprendidos la reprografía y el tratamiento informático, y la distribución de
ejemplares del mismo mediante alquiler o préstamo públicos.

Centro Criptológico Nacional USO OFICIAL 2


USO OFICIAL
CCN-CERT IT-48/21 Detección de software Pegasus en dispositivos iPhone

ÍNDICE
SOBRE CCN-CERT, CERT GUBERNAMENTAL NACIONAL.......................................... 4
ANTECEDENTES .................................................................................................... 5
INTRODUCCIÓN ................................................................................................... 5
PASOS PARA LA DETECCIÓN DE PEGASUS EN TERMINALES IPHONE ...................... 6
PREPARACIÓN DEL ENTORNO DE ANÁLISIS ........................................................... 6
DESCARGA DEL CÓDIGO FUENTE MVT ....................................................................7
INSTALACIÓN DE DEPENDENCIAS EN LINUX ............................................................7
INSTALACIÓN DE MVT ..............................................................................................8
GENERACIÓN DE BACKUP EN ITUNES DEL DISPOSITIVO IPHONE............................ 9
EJECUCIÓN DE MVT SOBRE EL BACKUP ............................................................... 12
DESCARGA DE IOCS PEGASUS ................................................................................12
DESCIFRADO DEL BACKUP ......................................................................................12
EJECUCIÓN DE MVT SOBRE EL BACKUP DESCIFRADO ...........................................13
RESULTADO DEL ANÁLISIS ......................................................................................14
ENVÍO DE RESULTADOS AL CCN-CERT ................................................................. 15
POC ................................................................................................................... 15

Centro Criptológico Nacional USO OFICIAL 3


USO OFICIAL
CCN-CERT IT-48/21 Detección de software Pegasus en dispositivos iPhone

SOBRE CCN-CERT, CERT GUBERNAMENTAL NACIONAL


El CCN-CERT es la Capacidad de Respuesta a incidentes de Seguridad de la
Información del Centro Criptológico Nacional, CCN, adscrito al Centro Nacional de
Inteligencia, CNI. Este servicio se creó en el año 2006 como CERT Gubernamental
Nacional español y sus funciones quedan recogidas en la Ley 11/2002 reguladora del
CNI, el RD 421/2004 de regulación del CCN y en el RD 3/2010, de 8 de enero, regulador
del Esquema Nacional de Seguridad (ENS), modificado por el RD 951/2015 de 23 de
octubre.
Su misión, por tanto, es contribuir a la mejora de la ciberseguridad española,
siendo el centro de alerta y respuesta nacional que coopere y ayude a responder de
forma rápida y eficiente a los ciberataques y a afrontar de forma activa las
ciberamenazas, incluyendo la coordinación a nivel público estatal de las distintas
Capacidades de Respuesta a Incidentes o Centros de Operaciones de Ciberseguridad
existentes.
Todo ello, con el fin último de conseguir un ciberespacio más seguro y confiable,
preservando la información clasificada (tal y como recoge el art. 4. F de la Ley 11/2002)
y la información sensible, defendiendo el Patrimonio Tecnológico español, formando al
personal experto, aplicando políticas y procedimientos de seguridad y empleando y
desarrollando las tecnologías más adecuadas a este fin.
De acuerdo a esta normativa y la Ley 40/2015 de Régimen Jurídico del Sector
Público es competencia del CCN-CERT la gestión de ciberincidentes que afecten a
cualquier organismo o empresa pública. En el caso de operadores críticos del sector
público la gestión de ciberincidentes se realizará por el CCN-CERT en coordinación con
el CNPIC.

Centro Criptológico Nacional USO OFICIAL 4


USO OFICIAL
CCN-CERT IT-48/21 Detección de software Pegasus en dispositivos iPhone

ANTECEDENTES
La herramienta Pegasus es un software espía de dispositivos móviles desarrollado por la
compañía israelí NSO Group, orientado al apoyo de investigaciones penales y de
terrorismo legítimas. Permite en algunos casos infectar el dispositivo sin que su usuario
realice ninguna acción previa ni sea consciente del compromiso posterior.
Además, dispone de la capacidad de acceder a prácticamente cualquier información
almacenada en el dispositivo o de realizar acciones sobre el mismo como la activación
del micrófono, grabación de llamadas, acceso al posicionamiento GPS o captura de las
páginas web visionadas, entre muchas otras.
A la luz de la investigación global liderada por medios como The Guardian o The
Washington Post y coordinada por organizaciones sin ánimo de lucro como Amnistía
Internacional y Forbidden Stories, se ha alertado del amplio uso que se hace de esta
herramienta por parte de numerosos países, más allá de los ámbitos para los que está
desarrollada. Entre sus víctimas podrían encontrarse altos cargos de muchos Gobiernos,
políticos, periodistas o figuras muy relevantes en otros ámbitos.
Fruto también de esta investigación, Amnistía Internacional ha publicado una
herramienta para ayudar en la comprobación de si un dispositivo móvil ha sido infectado
con este software. La herramienta se denomina MVT (Mobile Verification Toolkit) y
trabaja sobre las copias de seguridad de los dispositivos iPhone para generar los avisos
de seguridad.

INTRODUCCIÓN
Este documento describe los pasos para comprobar si un dispositivo móvil iPhone,
mediante el análisis de su backup, puede haber sido infectado con el software Pegasus.
Para ello, se hará uso de la herramienta MVT, la cual se apoya en un conjunto de
indicadores para determinar si el dispositivo puede haberse visto comprometido1.
Tiempo estimado del análisis: 1h y 30min (incluyendo el tiempo de realización del
backup).
Se recomienda la aplicación de este procedimiento tanto en dispositivos corporativos
como personales de las autoridades del organismo.

1
A fecha de redacción de este informe, los IOC se encuentran actualizados a fecha del 18/julio/2021.

Centro Criptológico Nacional USO OFICIAL 5


USO OFICIAL
CCN-CERT IT-48/21 Detección de software Pegasus en dispositivos iPhone

PASOS PARA LA DETECCIÓN DE PEGASUS EN TERMINALES IPHONE


Para realizar este estudio se utilizará el software MVT2, encargado del análisis del backup
del terminal a revisar.
Los pasos que desarrolla este documento son los siguientes:

1. PREPARACIÓN DEL ENTORNO DE ANÁLISIS (1 W10 y 1 Ubuntu)


a. DESCARGA DE CÓDIGO FUENTE MVT
b. INSTALACIÓN DE DEPENDENCIAS DE LA HERRAMIENTA MVT
c. INSTALACIÓN DE MVT
2. GENERACIÓN DE BACKUP DEL DISPOSITIVO IPHONE CON ITUNES
3. EJECUCIÓN DE MVT SOBRE EL BACKUP DEL DISPOSITIVO IPHONE
a. DESCARGA DE IOCS PEGASUS
b. DESCIFRADO DEL BACKUP
c. EJECUCIÓN DE MVT SOBRE EL BACKUP DESCIFRADO
4. ENVÍO DE RESULTADOS AL CCN-CERT

PREPARACIÓN DEL ENTORNO DE ANÁLISIS


Por las pruebas realizadas y con el principio de seguir un procedimiento sencillo y
funcional se recomienda el siguiente el entorno de análisis3:
- 1 máquina con S.O. Windows 10, para realizar el backup del dispositivo con iTunes.
o Realizar la Instalación de iTunes en un equipo con Windows 104:
https://www.microsoft.com/en-gb/p/itunes/9pb2mz1zmb1s?cid=appledotcom-
store&rtc=1&activetab=pivot:overviewtab

- 1 máquina con S.O. Linux (Ubuntu Mate 20.04), para el análisis con MVT.
Sobre este Linux se instalarán los siguientes paquetes (tal y como se describe en
el apartado 5.2-Instalación de dependencias Linux):
o Python 3.8.10
o libusb-1.0-0
o curl

2
Más información de MVT en https://www.amnesty.org/en/latest/research/2021/07/forensic-
methodology-report-how-to-catch-nso-groups-pegasus/
3
Nota: Se podría utilizar únicamente la máquina Windows para ambos procesos, pero se deben realizar
modificaciones en el código de librerías de python, como se encuentran reflejado en el siguiente enlace
https://github.com/mvt-project/mvt/issues/61, lo que podría provocar problemas en otros aplicativos.

4
La herramienta MVT permite realizar el backup, pero debido a la ejecución con errores durante las
pruebas puede hacer más complicada la aplicación del procedimiento.

Centro Criptológico Nacional USO OFICIAL 6


USO OFICIAL
CCN-CERT IT-48/21 Detección de software Pegasus en dispositivos iPhone

DESCARGA DEL CÓDIGO FUENTE MVT


A continuación, se muestra la descarga desde fuentes abiertas de la herramienta MVT
para realizar el estudio de los backups.

1. Se abre un terminal desde el equipo Linux


2. Se accede a la carpeta de trabajo. En este ejemplo ‘/Descargas’
3. En la terminal, ingresamos el siguiente comando:

git clone https://github.com/mvt-project/mvt.git

Ilustración 1 Descarga de herramienta mvt

4. La ejecución del comando anterior creará un directorio llamado “mvt” en el


propio directorio donde se ha lanzado el comando, en nuestro caso:

Descargas/mvt

INSTALACIÓN DE DEPENDENCIAS EN LINUX


En el equipo Linux donde se va realizar el análisis se deben realizar algunas
actualizaciones.

1. Desde el terminal del punto anterior,


2. Se lanza la actualización de los repositorios introduciendo el siguiente
comando:
sudo apt-get update

Ilustración 2 invocación de actualización

Una vez actualizadas todas las dependencias del equipo, se iniciará la instalación de las
dependencias propias de la herramienta MVT:

3. Así, se instala la última versión de Python, junto a el gestor de paquetes pip y la


librería libusb. Desde un terminal se lanza el siguiente comando:

sudo apt-get install python3 python3-pip libusb-1.0-0

Ilustración 3 instalación de requisitos

Centro Criptológico Nacional USO OFICIAL 7


USO OFICIAL
CCN-CERT IT-48/21 Detección de software Pegasus en dispositivos iPhone

4. El siguiente paso es la instalación del cliente de git, con el comando:

sudo apt-get install git

Ilustración 4 Instalación de cliente git

5. Finalmente, se instala el cliente curl para descargar posteriormente el fichero


de IOCs:

sudo apt-get install curl

Ilustración 5 Instalación de cliente curl

INSTALACIÓN DE MVT
Proceso de instalación de la herramienta MVT en la máquina Linux de análisis:

1. Se abre un terminal y se accede a la ruta creada en el paso 5.1. En nuestro caso,


accedemos a la carpeta MVT dentro de /Descargas:
cd mvt

Ilustración 6 Acceso a carpeta mvt

2. A continuación, se ejecuta el siguiente comando para indicarle al programa la


ruta en donde se guardarán los comandos instalados.

export PATH=$PATH:~/.local/bin

Ilustración 7 Asignación de directorio de binarios a la variable PATH

Centro Criptológico Nacional USO OFICIAL 8


USO OFICIAL
CCN-CERT IT-48/21 Detección de software Pegasus en dispositivos iPhone

3. Finalmente, se instala el programa mediante el siguiente comando:

pip3 install .

Ilustración 8 Instalación de mvt con pip

4. Y se obtendrá la siguiente salida:

Ilustración 9 Instalación satisfactoria de mvt

GENERACIÓN DE BACKUP EN iTUNES DEL DISPOSITIVO IPHONE


La generación del backup del dispositivo móvil iPhone se realizará en la máquina
Windows mediante la herramienta iTunes. Los pasos a seguir son:

1. Se conecta el iPhone vía USB al equipo Windows.


2. Se inicia la herramienta iTunes de Windows (previamente instalada) y Nos
aparecerá el siguiente mensaje:

Ilustración 10 Mensaje de iTunes para conectarse al iPhone

3. Se pulsa ‘Continuar’ y se desbloquea el iPhone para confiar en el equipo y así


poder realizar el backup.

Centro Criptológico Nacional USO OFICIAL 9


USO OFICIAL
CCN-CERT IT-48/21 Detección de software Pegasus en dispositivos iPhone

4. En ese momento el iPhone nos pedirá establecer una relación de confianza con
el PC, que deberemos aceptar.

Ilustración 11 Establecimiento de confianza con el equipo

5. Tras establecer la confianza con el equipo, la aplicación iTunes se actualizará con


la información del dispositivo y aparecerá un icono con un teléfono (remarcado
en rojo en la imagen siguiente). Se pulsará en él para realizar el backup.

Ilustración 12 iTunes al conectarse con el iphone remarcando el botón de backup

Centro Criptológico Nacional USO OFICIAL 10


USO OFICIAL
CCN-CERT IT-48/21 Detección de software Pegasus en dispositivos iPhone

6. Una vez pulsado el icono, aparecerá la siguiente pantalla donde se marcarán las
opciones del backup.

Ilustración 13 pantalla de iTunes de backup

7. Se marca la opción de realizar la copia en el propio equipo, junto con la selección


de la opción de cifrado.

La aplicación solicitará una contraseña para usarla durante el proceso de cifrado.


Se introduce una contraseña que usaremos posteriormente en MVT.

Finalmente se pulsa en Realizar copia ahora y se iniciará el backup.

8. Realizado el backup, accederemos a este en la siguiente ruta:


%USERPROFILE% \Apple\MobileSync\Backup
(Se puede sustiuir por c:\usuarios\usuario\Apple\MobileSync\Backup
cambiando <usuario> por el usuario que estemos usando actualmente)

Ilustración 14 Ruta y fichero del backup generado

9. Observaremos una carpeta con nombre alfanumérico que contiene subcarpetas


con ficheros que forman el backup cifrado generado.

Centro Criptológico Nacional USO OFICIAL 11


USO OFICIAL
CCN-CERT IT-48/21 Detección de software Pegasus en dispositivos iPhone

10. Se copia esta carpeta en un pendrive y lo llevaremos al equipo Linux de análisis


para realizar las comprobaciones oportunas con la herramienta MVT.

EJECUCIÓN DE MVT SOBRE EL BACKUP


En el siguiente apartado se relata la ejecución de la herramienta MVT desde el equipo
Linux sobre el backup realizado al dispositivo iPhone.

Cabe desatacar que MVT está desarrollada en Python, el cual se necesita como base de
ejecución tal como se explica en los requisitos software de este documento.

DESCARGA DE IOCS PEGASUS


La lista de IOCS de Pegasus se encuentra en el recurso público:
https://github.com/AmnestyTech/investigations
En concreto, los ficheros con los IOCs se encuentran en la carpeta más reciente con
formato“[YYYY-MM-DD]_nso”. A fecha de redacción de este informe, los IOC más
recientes son del 18/07/2021.

Para realizar la descarga del IOC se utiliza el siguiente comando:

curl -o pegasus.stix2
https://raw.githubusercontent.com/AmnestyTech/investigations/master/2021-07-
18_nso/pegasus.stix2

Ilustración 15 Descarga de IOCS Pegasus con curl

Esta comando generará un fichero llamado pegasus.stix2 en la ruta actual desde donde
se ha realizado la invocación del comando.

DESCIFRADO DEL BACKUP


Durante las pruebas se ha comprobado que, si el backup está cifrado desde la
herramienta iTunes, contiene más información que si se realiza sin cifrar. Por este
motivo se requirió en el punto 6 ejecutar el backup con la opción de cifrado.

Para proceder a analizar el backup realizado en iTunes se necesita descifrarlo


previamente, lo que se realizará desde la propia herramienta MVT. En esta fase se
utilizará la contraseña introducida en el paso 5 al crear el backup:

Centro Criptológico Nacional USO OFICIAL 12


USO OFICIAL
CCN-CERT IT-48/21 Detección de software Pegasus en dispositivos iPhone

1. Se copia la carpeta con el backup cifrado en la carpeta de trabajo que se esté


utilizando (en este documento, p.ej., /Descargas/).
2. Se crea una carpeta para almacenar la salida del backup descifrado (en este
documento, p.ej., / salidaDecrypted).
3. Se ejecuta la herramienta MVT mediante el comando mvt-ios decrypt-backup:

mvt-ios decrypt-backup -d RUTA_DESTINO -p PASSWORD


RUTA_DE_LA_CARPETA_DEL_BACKUP_CIFRADO

Ilustración 16 Ejemplo de descifrado de backup con MVT

Como se observa, en nuestro caso la RUTA_DESTINO es ‘salidaDecrypted’,


PASSWORD es ‘123456’ y la RUTA_DE_LA_CARPETA_DEL_BACKUP_CIFRADO en este
ejemplo es b36…

4. Una vez finalizado el proceso, se obtendrá el backup en la carpeta especificada.

EJECUCIÓN DE MVT SOBRE EL BACKUP DESCIFRADO


En este apartado se describe el análisis sobre el backup del dispositivo iPhone utilizando
la herramienta MVT junto a los IOC descargados desde
https://github.com/AmnestyTech/investigations.
La aplicación utiliza una carpeta de salida para almacenar los resultados obtenidos. Se
propone el siguiente nombre de carpeta para los resultados:

[Organismo]_[Propietario del dispositivo]_[Personal o Corporativo]

Ejemplo: CCN_NombreApellido_Corporativo

Los pasos para ejecutar MVT son:

1. Primero, se creará un directorio donde se generará los ficheros resultantes con


el análisis del backup con MVT. En este ejemplo, se ha creado el directorio
‘/CCN_NombreApellido_Corporativo’
2. Se ejecuta la herramienta MVT para comprobar si hay alguna coincidencia con
los IOC de Pegasus (descargados en el paso 8) con el siguiente comando:

Centro Criptológico Nacional USO OFICIAL 13


USO OFICIAL
CCN-CERT IT-48/21 Detección de software Pegasus en dispositivos iPhone

mvt-ios check-backup BACKUP_DESCIFRADO -o DIRECTORIO_SALIDA --iocs


FICHERO_IOCS_PEGASUS

Ilustración 17 Ejecución del análisis de backup con MVT

3. En la ejecución realizada, los valores serían los siguientes.


a. BACKUP_DESCIFRADO = salidaDecrypted
b. DIRECTORIO_SALIDA = CCN_NombreApellido_Corporativo
c. FICHERO_IOCS_PEGASUS = pegasus.stix2

RESULTADO DEL ANÁLISIS


En el directorio de salida se deben de haber generado varios ficheros5:

Ilustración 18 Ejemplo de salida con fichero que indican una posible infección

5
La existencia de ficheros que acaben en ‘_detected.json’ podría sugerir que se han encontrado IOCs
potencialmente relacionados con Pegasus en el iPhone analizado.

Centro Criptológico Nacional USO OFICIAL 14


USO OFICIAL
CCN-CERT IT-48/21 Detección de software Pegasus en dispositivos iPhone

ENVÍO DE RESULTADOS AL CCN-CERT


Los resultados obtenidos deberán remitirse al CCN para su valoración. Para ello, por
cada terminal iPhone analizado:

1. Se renombrará la carpeta de los resultados de MVT (si no se hubiera hecho con


anterioridad) como:
[Organismo]_[Propietario del dispositivo]_[Personal o Corporativo]
Ejemplo: CCN_NombreApellido_Corporativo
2. Esta carpeta se comprimirá con contraseña y se renombrará como:
[Organismo]_#identificador.rar (siendo ‘identificador’ un número secuencial
pvarios análisis desde un mismo organismo).
3. Este fichero comprimido se subirá a Loreto a través del enlace:
http://ccn-cert.net/mvt
Contraseña de acceso: IOS_2021_@
4. La contraseña del fichero comprimido se enviará por correo a irt@ccn-cert.cni.es
con el asunto del mail “Contraseña [organismo] #identificador”.

Una vez terminado el análisis y generado los resultados, se deben eliminar los
backups generados y utilizados por las herramientas, al poder contener datos
sensibles y personales de los propietarios de los dispositivos.

POC
Cualquier duda pueden dirigirla al correo electrónico:

irt@ccn-cert.cni.es

Centro Criptológico Nacional USO OFICIAL 15

También podría gustarte