Existen varias versiones de este ransonware, pero todas comparten algunas características, especialmente relacionadas con el cifrado.
Este ransomware utiliza el api de Windows para generar una clave de 256 bits. Concretamente utiliza el api CryptGenKey para generarla totalmente aleatoria e impredecible. Una vez tiene la clave el virus recorre el disco duro en busca de ficheros para cifrar.
Cifra las siguientes extensiones:
.jpg, .jpeg, .psd, .cdr, .dwg, .max, .mov, .m2v, .3gp, .doc, .docx, .xls, .xlsx, .ppt, .pptx, .rar, .zip, .mdb, .mp3, .cer, .p12, .pfx, .kwm, .pwm, .txt, .pdf, .avi, .flv, .lnk, .bmp, .1cd, .md, .mdf, .dbf, .mdb, .odt, .vob, .ifo, .mpeg, .mpg, .doc, .docx, .xls, .xlsx
Para cada fichero el virus cifra una parte del comienzo del fichero. El tamaño exacto que cifrará depende de la versión pero cifra una buena parte del fichero, imposible de recuperar reconstruyendo cabeceras o técnicas por el estilo.
El Ransom cifra utilizando AES256, y utiliza la clave generada con CryptGenKey. Para cifrar utiliza el api CryptEncrypt.
Cada fichero cifrado es renombrado a una extensión que depende de la versión.
Hemos visto hasta ahora: .nobackup, .done, .ultracode, .encrypt, .encrypted
Tras cifrar todos los ficheros de la máquina el Ransom cifra la propia clave AES256 generada con una clave pública RSA1024 que lleva incorporada en su binario. El resultado (AES256 cifrada con RSA1024) lo convierte a texto y éste es el valor que incorpora el ransomware al fichero anzuelo (p.e.: «how to decrypt files.txt» o «COMO RECUPERAR.HTML», etc).
Los clientes que deciden pagar el rescate, envían el contenido de este fichero al autor. El autor es el único que dispone de la clave privada RSA1024. Con el valor del final del fichero “how to decrypt files.txt” y la clave privada, el autor es capaz de obtener la clave AES256 utilizada para cifrar los ficheros. Con esta clave AES256 el autor genera una herramienta de desencriptación que envía al cliente.
La herramienta usa CryptDecrypt para desencriptar los ficheros y lleva la clave RSA256 pegada al final de la herramienta desencriptadora, como overlay.
La conclusión es que una vez realizado el cifrado, después de que la clave AES256 es cifrada con la clave pública RSA1024, la única forma de recuperar la clave utilizada para cifrar es disponer de la clave privada asociada a dicha clave pública.
Puesto que el Ransom escribe sobre el fichero original en principio tampoco es posible utilizar herramientas de recuperación de datos.
1 – Acceso mediante
Terminal Server: Cuando la contraseña de acceso por terminal server o escritorio remoto no es lo suficientemente robusta, se puede utilizar herramientas de «fuerza bruta» para identificar la misma y acceder al equipo vía terminal. De este modo se puede desactivar el antivirus, encriptar ficheros… Para estos casos es necesario que la contraseña sea robusta (combinación de números, letras, mayúsculas, minúsculas, carácteres…)
2 – Aprovechamiento de vulnerabilidades de aplicaciones (Java Console, Adobe Reader, FlashPlayer…): Últimamente se usan este tipo de vulnerabilidades para infectar equipos, es muy importante tener activadas las actualizaciones automáticas de este tipo de aplicaciones y asegurarse de que se apliquen correctamente. Este es el método más habitual de contagio y sobre el que hay que estar más alerta.
3 – Ejecución de código malicioso en adjuntos de correos: En los adjuntos de los correos electrónicos se incluyen ejecutables «camuflados» como documentos de office o PDF, que al ser ejecutados por el usuario infectan el equipo. Para estos casos es importante tener un antivirus actualizado instalado en el equipo y de todas formas, tener mucho cuidado con los adjuntos que se abren, por si se tratara de una variante no incluida en las firmas.