Ransomware Popcorn “si el infectado infecta a otros, su liberación es gratis”

MalwareHunterTeam ha descubierto una nueva variante de ransomware bastante curiosa.

Las nuevas versiones de Ransomware mejoradas que cometen varios errores interesantes, entre ellos, el que permite conocer su contraseña de descifrado. Esta muestra llama la atención porque en teoría ofrece dos fórmulas para descifrar los ficheros: o bien pagando, o bien si el propio infectado consigue infectar a dos o más personas que paguen el rescate. 

La funcionalidad básica es la de siempre: se cifran un buen montón de ficheros según su extensión, y se pide un rescate por ello de 1 bitcoin (por encima de la media que se suele exigir habitualmente).

Lo que hace nuevo este ransomware, es ofrecer dos vías para descifrar el contenido: La vía “normal” en la que se paga un rescate, y la vía “nasty” (así la denominan ellos mismos) en la que si se envía un enlace a un ejecutable a dos personas, se infectan y pagan, se te dará un código “gratis” para poder descifrar tu contenido.

Un “plan amigo” de difusión en la que el atacante se “asegura” dos infecciones por el precio de una, y un método de difusión más eficaz, puesto que las víctimas elegidas por el usuario infectado siempre estarán más predispuestas a ejecutar el enlace de un conocido.

Otra cosa es que pague (supuesta condición para que se aplique el “descuento”). También destacar que el ransomware apela a la sensibilidad de la víctima, asegurando que el dinero irá para una buena causa: paliar los efectos de la guerra de Siria.

Se ha llamado “popcorn” porque la primera versión utilizaba el dominio popcorn-time-free.net, pero ya no es así en las últimas versiones.

Los aspectos técnicos

¿Cómo funciona este ransomware a nivel técnico? Ha sido realizado por un grupo independiente sin seguir las directrices de las grandes familias, y por tanto, todavía no está muy desarrollado. Al margen de las versiones analizadas por MalwareHunterTeam.

El programa está escrito en C# y necesita de .NET4 para ejecutarse. El ejecutable que lanza es creado “al vuelo” para cada usuario infectado, con un código ID único para cada víctima insertado.

Curiosamente, todas las variables están “incrustadas” en el código, y se crea del lado del servidor. Además, no sigue el patrón habitual del ransomware profesional, en el que se cifra cada fichero con una clave simétrica diferente y luego esta es cifrada con criptografía asimétrica.

Al contrario, todos los archivos se cifran con una misma clave simétrica. A partir de aquí, conocer la contraseña es cuestión de analizar el código del ejecutable.
La contraseña

Si se desensambla el código con ILSpy por ejemplo, se puede observar la línea que contiene la contraseña en base64. Una rápida decodificación  permitirá obtener la contraseña y los datos de vuelta.no parece un malware muy avanzado por ahora ni difundido.

De hecho, anteriormente la contraseña de sus primeras versiones era siempre “123456”.

Como se ha mencionado, la contraseña se supone (junto con el resto de variables) incrustada por el servidor en el momento de creación del ejecutable. Tras el análisis resulta ser un hash MD5 del que aún no se conoce a qué responde. El hash MD5 está triplemente codificado con base64 en el código.

El resultado de la decodificación es la contraseña que se puede introducir en el diálogo correspondiente para descifrar los datos sin necesidad de pagar.

El resto del código es a veces un despropósito, aunque parece que están trabajando día a día para mejorarlo. Por ejemplo, la sal en la función criptográfica no es aleatoria.

Esto, que en cualquier otra circunstancia permitiría un ataque por diccionario precomputado, realmente aquí no tiene mucho efecto (la contraseña no está en un diccionario, es un hash), pero da una idea del poco valor criptográfico que tiene este ransomware.

El código HTML

El código HTML que se le muestra a la víctima forma una parte muy importante de este malware. Está igualmente incrustado codificado en base64 en el código. En él se observa que se hace una comprobación usando la API de Blockchain.info (mal usada, encierra entre comillas el wallet) para saber si se ha realizado el pago y si la cadena de bloques ha validado el pago. Utiliza satoshis, que son una fracción de un bitcoin.

Si es así, despliegan unas URLs ocultas en JavaScript que se supone dan acceso al código de descifrado, y alojadas en la red Tor. Esta protección (usando una clase “hide“) es absurda. Al acceder a ellas, lo cierto es que no hemos podido ver ningún código de descifrado. Suponemos que por estar aún en pruebas.

El plan amigo

Lo que más ha llamado la atención es el “nasty way” para descifrar los archivos. Se supone que si se envía a dos conocidos el enlace ejecutable y estos pagan, se te dará el código de desbloqueo. Muy inteligente para obtener una rápida expansión, pero creemos que falso.

El código no contiene ninguna instrucción para comprobar que esto ocurre automáticamente. A no ser que toda la inteligencia corra del lado del servidor (Dudoso) no se puede garantizar (ni  evidenciado técnicamente que ocurra) que esto sea así y por tanto tiene muchas más posibilidades de tratarse de un simple truco para esparcir más el malware.

De hecho, los ejecutables generados no contienen información sobre quién los ha recomendado en su interior, solo el hecho de ser creados bajo una URL que sí contiene el ID de la víctima inicial… pero observando toda la trama del sistema, su mala programación, las promesas no cumplidas (cuentas atrás amenazantes que finalmente no borran nada…), lo inestable de su infraestructura y “artesanía” en general, la navaja de Ockham nos inclina a pensar que todo es falso, y no existe ningún mecanismo para controlar esto. 

Fuente:www.elevenpaths.com

#HackNic

Shadow77

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *