Se ha detectado una nueva campaña de malware basado en Python, que presenta capacidades de troyano de acceso remoto (RAT) para dar a sus operadores control sobre los sistemas vulnerados.
Este malware denominado PY#RATION, por los investigadores de Securonix, posee una gran cantidad de características y capacidades, incluida la exfiltración de datos y el registro de teclas. Es particularmente único porque utiliza el protocolo WebSocket para comunicarse con el servidor de comando y control (C2) y para extraer datos del host de la víctima, así como la forma en que evade la detección del antivirus y las medidas de seguridad de la red.
La ventaja de WebSockets es que el malware puede recibir y enviar datos simultáneamente, desde y hacia el C2 a través de una única conexión TCP, utilizando puertos que normalmente se dejan abiertos en redes como 80 y 443.
Los investigadores señalan que la RAT se está desarrollando activamente, ya que desde que se inició la campaña PY#RATION (agosto del 2022) se han visto varias versiones, actualmente se encuentra en la v1.6.0.
El malware se distribuye a través de una campaña de phishing, la cual utiliza archivos adjuntos ZIP protegidos con contraseña que contienen dos archivos (.lnk) disfrazados de imágenes, front.jpg.lnk y back.jpg.lnk.
Cuando se ejecutan estos archivos, se contacta con el servidor remoto para descargar dos archivos adicionales .txt (front.txt y back.txt), que posteriormente se renombran como archivos .bat (front.bat y back.bat) y se ejecutan sigilosamente en segundo plano, mientras que a la víctima se le muestra imágenes del anverso y reverso de una licencia de conducir.
Al iniciarse, el malware crea los directorios ‘Cortana’ y ‘Cortana/Setup’ en el directorio temporal del usuario y luego descarga, descomprime y ejecuta archivos adicionales desde esa ubicación.
La persistencia se establece agregando un archivo por lotes ‘CortanaAssist.bat’ en el directorio de inicio del usuario. El uso de Cortana tiene como objetivo disfrazar las entradas de malware como archivos del sistema.
Si comparamos la versión 1.0 (inicial – 14 MB) con la versión 1.6 (más reciente – 32 MB) se aprecia casi 1000 líneas de código adicionales y una capa de cifrado fernet, ayudando a que el malware no sea detectado por muchos motores de antivirus.
Entre las características vistas en la versión 1.6.0 de PY#RATION RAT se encuentran las siguientes:
- Realizar enumeración de red.
- Realizar transferencias de archivos desde el sistema comprometido al C2, o viceversa.
- Realizar registro de teclas.
- Ejecutar comandos de Shell.
- Realizar enumeración de host.
- Extraer contraseñas y cookies de los navegadores web.
- Robar datos del portapapeles.
- Detectar herramientas antivirus que se ejecutan en el host.
Los analistas notaron que los actores de amenazas usaron la misma dirección C2 («169[.]239.129.108») a lo largo de su campaña, desde la versión de malware 1.0 a la 1.6.0.
El malware PY#RATION no solo es difícil de detectar, al ser un binario compilado en Python lo hace extremadamente flexible, ya que se puede ejecutar en casi cualquier objetivo, incluidas las variantes de Windows, OSX y Linux. No es necesario instalar los paquetes de Python en el host, ya que todas las bibliotecas necesarias están incluidas en el propio ejecutable.
Securonix ha publicado algunos indicadores de compromiso para la campaña PY#RATION, entre los que podemos destacar:
Técnicas MITRE ATT&CK
Táctica | Técnica |
Acceso inicial | T1566.001: Anexo por Spearphishing |
Ejecución | T1204.002: Ejecución de usuario: archivo malicioso T1059.005: Intérprete de comandos y secuencias de comandos: Visual Basic T1059.006: Intérprete de comandos y secuencias de comandos: Python |
Persistencia | T1547.001: Ejecución de inicio automático de inicio o inicio de sesión: claves de ejecución del registro/carpeta de inicio |
Comando y control | T1071.001: Protocolos Web T1132.001: Codificación de datos: Codificación estándar T1105: Transferencia de herramienta de ingreso |
Recopilación | T1115: Datos del portapapeles T1185: Secuestro de sesión del navegador T1005: Datos del sistema local |
Acceso a Credenciales | T1555.003: Credenciales de almacenes de contraseñas: Credenciales de navegadores web |
Indicadores de compromiso
IoC basados en red |
api.realproheros[.]com |
install.realproheros[.]com |
archivos.secureway[.]diversión |
login.secureway[.]diversión |
api.safeit[.]com/install/log?error= |
169[.]239.129.108:5555 |
169[.]239.129.108:5555/cliente/config |
169[.]239.129.108:5555/socket.io/?transport=polling |
169[.]239.129.108:5555/socket.io/?transport=websocket |
Hashes de archivos analizados
Nombre del archivo | SHA256 |
documents.zip | 4d297ebe3b607eb88a6c30a74a0ad23272f44ffbcf2b49f72444048b78c6e1b4 |
front.jpg.lnk | 3b445be3da961379b11af1fee71fe4513e10832f77727b3a8bbe2eb7bd60b5c3 |
_front.jpg.lnk_ | fd78f398e7cc8ced62deba213e0218d780357bcf89e01b748f8ed1e252ac3b21 |
back.jpg.lnk | 4a32aa89a5250801c53d19370d98682e0561b642901bdd2987831bc983e0a544 |
Recomendaciones:
- Bloquear los indicadores de compromiso en los equipos de protección de nuestra red.
- Verificar la fuente de información de los correos entrantes.
- No descargar ni ejecutar programas sospechosos.
- En caso de haber sido comprometido, poner el dispositivo en cuarentena o formatearlo.
Referencias:
- https://www.bleepingcomputer.com/news/security/new-stealthy-python-rat-malware-targets-windows-in-attacks/
- https://www.securonix.com/blog/detecting-python-based-pyration-attack-campaign-with-securonix/
- https://www.securonix.com/blog/security-advisory-python-based-pyration-attack-campaign/
- https://thehackernews.com/2023/01/pyration-new-python-based-rat-utilizes.html