De acuerdo a una investigación de Securonix, se ha identificado a partir de Agosto del 2022 se inició una nueva campaña de malware enfocada en Python rastreada con el nombre de PY#RATION, que corresponde a un RAT que permite el control remoto y su persistencia en el host afectado. Según los investigadores, emplea funciones similares y características de otros RATs, sin embargo, lo que lo hace único hasta el momento, es, el uso de websockets, tanto para la comunicación de comando y control (C2) y la exfiltración, así como también la forma en que evade la detección de los antivirus y las medidas de seguridad de la red.
Funcionalidades de PY#RATION
Cadena de ataque
Como la mayoría de las campañas de malware, inicia con un correo electrónico de phishing que contiene un archivo [.]zip adjunto malicioso llamado documents[.]zip que a su vez contiene dos archivos de acceso directo ([.]lnk) que hacen referencia a dos archivos que conectan al servidor C2 remoto, front.jpg([.]lnk) y back[.]jpg([.]lnk). Los accesos directos aparecen como un icono de imagen con un enlace para añadir validez al señuelo. Cuando se ejecuta el acceso directo, se contacta con el servidor remoto para descargar dos archivos adicionales al directorio temporal del usuario.
Ilustración 1: Cadena de Ataque de la campaña PY#RATION
Fuente: Securonix
De acuerdo a la ilustración anterior PY#RATION se ejecuta de acuerdo a tres etapas para lograr la infección completa.
Etapa 1
El usuario recibe en su correo el archivo [.]zip malicioso que contendrá dos archivos de extensión [.]lnk disfrazados de imagen con extensión [.]jpg, a los que el usuario ejecutarlos mediante un click, los archivos maliciosos front[.]bat y back[.]bat., como se muestran en ilustración a continuación:
Ilustración 2: Archivos front[.]jpg[.]lnk and front[.]bat
Etapa 2
En esta etapa una vez que los accesos directos son ejecutados por el usuario, se inicia un archivo por lotes que crea dos directorios temporales %tmp$, Cortana y Cortana/Setup, que a su vez vuelcan el contenido en otros archivos temporales en %tmp/CortanaDefault[.]bat, que comprueba la existencia de algunos archivos, y luego los descarga, posterior a ello se ocupa la utilidad de Microsoft certutil[.]exe para decodificar "unrar[.]cert" en el archivo exe "unrar.exe", que se ejecuta y extrae el contenido de "assist[.]rar" y luego de "setup[.]rar".
Posterior a la ejecución de los archivos extraídos se crean otros archivos en los temporales del usuario que asegurará la persistencia colocando un archivo con extensión [.]bat del asistente cuartana en el directorio del inicio del usuario local que se ejecutará cada vez que el usuario inicie su estación de trabajo.
Etapa 3
De acuerdo a los investigadores, python permite empaquetar ejecutables de windows usando herramientas automatizadas o librerías como pyinstaller o py2exe. El resultado es un binario empaquetado de gran tamaño, que en su última versión la 1.6.0 de 32 MB; contendrá todas las librerías de Python necesarias para que el código original se ejecute correctamente en cualquier sistema Windows.
En éste sentido, para esta etapa, el malware oculta el archivo ejecutable en una capa de cifrado Fernet, una librería de python utilizada para cifrar y autenticar datos, que ayuda a los atacantes a reducir la capacidad de las detecciones en los antivirus.
Ilustración 3: Muestra del código del malware con la encriptación Fernet.
Una vez ejecutadas para esta etapa todos los archivos correspondientes, se establece la comunicación con el servidor C2 aprovechando los websockets para establecer la comunicación con el servidor del atacante, esto debido a que el protocolo WebSocket funciona a través de una única conexión TCP, pero a diferencia de HTTP o HTTPS, utiliza un estándar API que mejora la conexión HTTP y funcionará normalmente a través de los puertos 80 o 443. Sin embargo, una vez que la conexión se ha actualizado, WebSockets puede permitir flujos de mensajes utilizando la comunicación full-duplex, que actualmente no está disponible a través de una conexión HTTP o HTTPS estándar; técnica poco común ya que requiere más tiempo de configuración para el servidor C2 remoto en comparación de otras técnicas más comúnmente empleadas por los ciberactores.
Finalmente una vez que los ciberactores logran establecer la comunicación con el C2 implantan otro ejecutable, que de acuerdo a la investigación de Securonix, parece ser una variante de otro malware Infostealer basado en Python, que captura y extrae datos locales del PC, incluidos almacenes de credenciales del navegador, carteras de criptomonedas y datos del usuario y del sistema.
Ilustración 4: Muestra del código de extracción de datos desde los navegadores
El Centro de Ciberinteligencia de Entel CyberSecure recomienda lo siguiente:
Tipo | Indicador |
---|---|
dominio | install.realproheros.com |
dominio | api.safeit.com |
dominio | safeit.com |
url | https://install.realprohero... |
url | https://install.realprohero... |
url | https://install.realprohero... |
url | https://install.realprohero... |
url | https://install.realprohero... |
url | https://install.realprohero... |
url | https://install.realprohero... |
url | https://api.safeit.com/inst... |
ip | 169.239.129.108 |