Wanacrypt tiene unas capacidades parecidas a los gusanos y esto quiere decir que intenta propagarse por la red. Para ello hace uso del exploit de Eternalblue (MS17-010) con intención de propagarse hacia todas las maquinas que no tengan parcheada esta vulnerabilidad.
Índice de contenidos
¿Como funciona el ransomware Wanacrypt?
Algo que llama la atención de este ransomware es que no solo busca dentro de la red local de la maquina afectada, sino que además procede a escanear direcciones IP públicas en internet.
Todas estas acciones son realizadas por el servicio que el propio ramsonware instala tras su ejecución. Una vez el servicio es instalado y ejecutado se crean 2 hilos los cuales se encargan del proceso de replicación hacia otros sistemas.
En el análisis han realizado expertos en la materia han podido observar cómo utiliza exactamente el mismo código utilizado por la NSA. La única diferencia es que no tienen necesidad de utilizar el exploit de DoublePulsar ya que su intención es simplemente inyectarse en el proceso LSASS (Local Security Authority Subsystem Service).
Para los que no sepáis que es LSASS es el proceso que hace que los protocolos de seguridad de Windows funcionen correctamente por ello este proceso deberá ejecutarse siempre. Como podemos saber el código del payload de EternalBlue no ha sido alterado.
Si se compara con análisis ya existentes se puede ver como es idéntico opcode a opcode…
¿Qué es un opcode?
Un opcode o código de operación, es un fragmento de una instrucción de lenguaje de máquina que especifica la operación a ser realizada.
Seguimos…
Y este ransomware realiza las mismas llamadas a las funciones para finalmente inyectar las librerías .dll enviada en el proceso LSASS y ejecutar su función “PlayGame” con la que inician de nuevo el proceso de infección en la maquina atacada.
[irp]
Al hacerse uso de un exploit con código de kernel todas las operaciones realizadas por el malware disponen de los privilegios de SYSTEM o del sistema.
Antes de comenzar el cifrado del equipo, el ransomware verifica la existencia de dos mutex en el sistema. Un mutex es un algoritmos de exclusión mutua, esto sirve para que dos procesos de un programa no accedan sus secciones criticas (que son un fragmento de código donde puede modificarse un recurso compartido).
En caso de existir estos dos mutex no realiza cifrado alguno:
‘Global\MsWinZonesCacheCounterMutexA’
‘Global\MsWinZonesCacheCounterMutexW’
El ransomware por su parte genera una clave única aleatoria por cada fichero cifrado. Esta clave es 128bits y emplea el algoritmo de cifrado AES, esta clave se guarda cifrada con una clave RSA pública en una cabecera personalizada que el ransomware añade en todos los ficheros cifrados.
El descifrado de los archivos sólo es posible si se dispone de la clave privada RSA correspondiente a la clave pública empleada para cifrar la clave AES usada en los ficheros.
La clave aleatoria AES es generada con la función de Windows “CryptGenRandom” por el momento no contiene ninguna vulnerabilidad o debilidad conocidas, con lo que actualmente no es posible desarrollar ninguna herramienta para descifrar estos ficheros sin conocer la clave privada RSA utilizada durante el ataque.
¿Como funciona el ransomware Wanacrypt?
Para poder llevar a cabo todo este proceso el ransomware crea varios hilos de ejecución en el ordenador y empieza a realizar el siguiente proceso para llevar a cabo el cifrado de los documentos:
- Lee el archivo original y lo copia añadiéndole la extexión .wnryt
- Crea una clave AES 128 aleatoria
- Cifra el fichero copiado con AES
- Añade una cabecera con la clave AES cifrada con la clave
publica RSA que lleva la muestra. - Sobrescribe el fichero original con esta copia cifrada
- Finalmente renombra el fichero original con la extensión .wnry
- Por cada directorio que el ransomware ha terminado de cifrar, genera los mismo dos ficheros:
@Please_Read_Me@.txt
@WanaDecryptor@.exe
Te recomendamos la lectura las principales razones para utilizar Windows Defender en Windows 10.