El nuevo ransomware, llamado CryCryptor, ha estado apuntando a usuarios de dispositivos Android en Canadá. El malware se ha estado distribuyendo a través de dos sitios web simulando ser una aplicación oficial para el rastreo de casos vinculados al COVID-19 proporcionada por Health Canada. Los investigadores de ESET analizaron el ransomware y crearon una herramienta de descifrado para las víctimas.

CryCryptor apareció solo unos días después de que el gobierno de Canadá anunciara oficialmente su intención de respaldar el desarrollo de una aplicación de rastreo (voluntaria) para todo el territorio nacional llamada “COVID Alert”. La aplicación oficial se lanzará bajo prueba en la provincia de Ontario el próximo mes.

ESET informó al Centro Canadiense para la Ciberseguridad sobre esta amenaza tan pronto como fue identificada.

Figura 1. Uno de los sitios web utilizados para distribuir esta app maliciosa. El otro sitio tiene un diseño idéntico y solo se diferencia en el nombre del dominio, que es covid19tracer [.] ca.

 

Una vez que el usuario es víctima de CryCryptor, el ransomware cifra los archivos en el dispositivo (los tipos de archivos más comunes) pero en lugar de bloquear el equipo, deja un archivo "readme" que contiene la dirección de correo del atacante en cada directorio que contiene archivos cifrados.

Afortunadamente, pudimos crear una herramienta de descifrado para aquellos que son víctimas de este ransomware.

Después de detectar un tweet que trajo este ransomware a nuestro radar (el investigador que lo descubrió catalogó erróneamente el malware como un troyano bancario), analizamos la aplicación. Descubrimos un fallo del tipo "Exportación incorrecta de componentes de Android" que MITRE etiqueta como CWE-926.

Debido a este fallo, cualquier aplicación que esté instalada en el dispositivo afectado puede iniciar cualquier servicio exportado proporcionado por el ransomware. Esto nos permitió crear la herramienta de descifrado, una app que ejecuta la funcionalidad de descifrado incorporada por sus creadores en la app de ransomware.

Cifrado/funcionalidad

Luego de ser iniciado, el ransomware solicita acceder a los archivos en el dispositivo. Una vez que obtiene ese permiso, cifra archivos con determinadas extensiones, como las que se observan en la Figura 2.

Figura 2. Extensiones de archivos que cifra el ransomware

Los archivos seleccionados por la amenaza son cifrados utilizando AES con una clave de 16 caracteres generada aleatoriamente. Después de que el ransomware CryCryptor cifra un archivo, se crean tres archivos nuevos y se elimina el archivo original. El archivo cifrado tiene la extensión ".enc", y el algoritmo genera una sal para cada archivo cifrado, el cual es almacenado con la extensión ".enc.salt" ; y un vector de inicialización, ".enc.iv".

Figura 3. Archivos después del cifrado

Luego de cifrar los archivos, CryCryptor despliega una mensaje que dice "Archivos personales cifrados, consulte readme_now.txt". El archivo readme_now.txt es colocado en cada directorio que contiene archivos cifrados.

Figura 4. Notificación de cifrado de archivos (izquierda) y contenido del archivo readme_now.txt (derecha)

Descifrado

El servicio responsable del descifrado de archivos en CryCryptor tiene la clave de cifrado almacenada en las preferencias compartidas, lo que significa que no tiene que contactar a ningún C&C para recuperarla. Es importante destacar que el servicio se exporta sin restricciones en el Manifiesto de Android (CWE-926), lo que significa que es posible iniciarlo externamente.

Teniendo esto en cuenta, creamos una aplicación de descifrado para aquellos afectados por el ransomware CryCryptor en Android. Naturalmente, la aplicación de descifrado solo funciona en esta versión del ransomware CryCryptor.

Una nueva familia de ransomware

El ransomware CryCryptor se basa en código open source en GitHub. Lo descubrimos allí realizando una simple búsqueda basada en el nombre del paquete de la aplicación y en algunas strings que parecían ser únicas.

Los desarrolladores del ransomware open source, al cual llamaron CryDroid, deben haber sabido que el código se usaría con fines maliciosos. En un intento por hacer ver el proyecto en el repositorio como una investigación, afirman que subieron el código al servicio VirusTotal. Si bien no está claro quién subió la muestra, la realidad es que apareció en VirusTotal el mismo día en que se publicó el código en GitHub.

Figura 5. El ransomware open source

Igualmente, descartamos la afirmación de que el proyecto tiene fines de investigación: ningún investigador responsable lanzará públicamente una herramienta que sea fácil de usar con fines maliciosos.

Notificamos a GitHub sobre la naturaleza de este código.

Los productos ESET brindan protección contra el ransomware CryCryptor, el cual detectan como Trojan.Android/CryCryptor.A. Además de utilizar una solución de seguridad para dispositivos móviles de calidad, recomendamos a los usuarios de Android que instalen aplicaciones solo de fuentes confiables, como la tienda Google Play.

Cronología:

  • 11 de junio de 2020: código fuente publicado - CryDroid v1.1
  • 11 de junio de 2020: código cargado en VirusTotal
  • 12 de junio de 2020: se registró el primer dominio malicioso utilizado para distribuir esta muestra
  • 18 de junio de 2020: una aplicación maliciosa (este ransomware de Android) fue compilada (según su certificado)
  • 21 de junio de 2020: se registró el segundo dominio malicioso utilizado para distribuir esta muestra
  • 23 de junio de 2020: ESET informa al Centro Canadiense de Seguridad Cibernética
  • 23 de junio de 2020: los dos dominios dejaron de responder

Preparamos un video que muestra el proceso de cifrado y descifrado, junto con nuestra explicación.

Indicadores de Compromiso (IoCs)

Package name Hash ESET detection name
com.crydroid 322AAB72228B1A9C179696E600C1AF335B376655 Trojan.Android/CryCryptor.A

Enlaces de distribution 

https://covid19tracer[.]ca/
https://tracershield[.]ca/

Técnicas de MITRE ATT&CK 

Tactic ID Name Description
Initial Access T1476 Deliver Malicious App via Other Means The malware is downloaded from a fake website
Initial Access T1444 Masquerade as Legitimate Application It impersonates COVID-19 tracking app
Persistence T1402 App Auto-Start at Device Boot It listens for the BOOT_COMPLETED broadcast, ensuring that the app's functionality will be activated every time the device starts
Impact T1471 Data Encrypted for Impact Encrypts files with particular file extensions found on external media