[![Logo](https://www.paloaltonetworks.com/wp-content/uploads/2021/07/PANW_Parent.png)](https://www.paloaltonetworks.com/)  
[![Unit42 Logo](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/unit42-logo-white.svg)](https://unit42.paloaltonetworks.com/es-la/)  
Menu

* [ATOMs](https://unit42.paloaltonetworks.com/atoms/)
* [Security Consulting](https://www.paloaltonetworks.com/unit42)
* [**Under Attack?**](https://start.paloaltonetworks.com/contact-unit42.html)  
  Spanish (LATAM)
* [English](https://unit42.paloaltonetworks.com/vvs-stealer/)
* [Spanish (LATAM)](https://unit42.paloaltonetworks.com/es-la/vvs-stealer/)
* [French](https://unit42.paloaltonetworks.com/fr/vvs-stealer/)
* [Japanese](https://unit42.paloaltonetworks.com/ja/vvs-stealer/)
* [Threat Research Center](https://unit42.paloaltonetworks.com/es-la/ "Threat Research")
* [Investigación de amenazas](https://unit42.paloaltonetworks.com/es-la/category/threat-research-es-la/ "Investigación de amenazas")
* [Malware](https://unit42.paloaltonetworks.com/es-la/category/threat-research-es-la/malware-es-la/ "Malware")  
  [Malware](https://unit42.paloaltonetworks.com/es-la/category/threat-research-es-la/malware-es-la/)

# VVS Discord Stealer utiliza Pyarmor para ofuscación y evasión de detección

![Clock Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-clock.svg) 13 lectura mínima  
Related Products  
[Advanced DNS Security](https://unit42.paloaltonetworks.com/es-la/product-category/advanced-dns-security-es-la/ "Advanced DNS Security")[Advanced URL Filtering](https://unit42.paloaltonetworks.com/es-la/product-category/advanced-url-filtering-es-la/ "Advanced URL Filtering")[Advanced WildFire](https://unit42.paloaltonetworks.com/es-la/product-category/advanced-wildfire-es-la/ "Advanced WildFire")[Cortex XDR](https://unit42.paloaltonetworks.com/es-la/product-category/cortex-xdr-es-la/ "Cortex XDR")[Cortex XSIAM](https://unit42.paloaltonetworks.com/es-la/product-category/cortex-xsiam-es-la/ "Cortex XSIAM")[![Unit 42 Incident Response icon](https://unit42.paloaltonetworks.com/wp-content/uploads/2025/05/unit42_RGB_logo_Icon_Color.png)Unit 42 Incident Response](https://unit42.paloaltonetworks.com/es-la/product-category/unit-42-incident-response-es-la/ "Unit 42 Incident Response")

* ![Profile Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-profile-grey.svg)  
  Por:
  
  * [Pranay Kumar Chhaparwal](https://unit42.paloaltonetworks.com/es-la/author/pranay-kumar-chhaparwal/)
  * [Lee Wei Yeong](https://unit42.paloaltonetworks.com/es-la/author/lee-wei-yeong/)

* ![Published Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-calendar-grey.svg)  
  Publicado:2 de Enero de 2026

* ![Tags Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-category.svg)  
  Categorías
  
  * [Investigación de amenazas](https://unit42.paloaltonetworks.com/es-la/category/threat-research-es-la/)
  * [Malware](https://unit42.paloaltonetworks.com/es-la/category/threat-research-es-la/malware-es-la/)

* ![Tags Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-tags-grey.svg)  
  Etiquetas:
  
  * [Discord](https://unit42.paloaltonetworks.com/es-la/tag/discord/)
  * [Infostealer](https://unit42.paloaltonetworks.com/es-la/tag/infostealer-es-la/)
  * [Python](https://unit42.paloaltonetworks.com/es-la/tag/python-es-la/)
  * [Telegram](https://unit42.paloaltonetworks.com/es-la/tag/telegram-es-la/)

* [![Download Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-download.svg)](https://unit42.paloaltonetworks.com/es-la/vvs-stealer/?pdf=download&lg=es-la&_wpnonce=0e33cfdd78 "Click here to download")

* [![Print Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-print.svg)](https://unit42.paloaltonetworks.com/es-la/vvs-stealer/?pdf=print&lg=es-la&_wpnonce=0e33cfdd78 "Click here to print")

Compartir![Down arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/down-arrow.svg)

* ![Link Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-share-link.svg)
* [![Link Email](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-sms.svg)](mailto:?subject=VVS%20Discord%20Stealer%20utiliza%20Pyarmor%20para%20ofuscación%20y%20evasión%20de%20detección&body=Check%20out%20this%20article%20https%3A%2F%2Funit42.paloaltonetworks.com%2Fes-la%2Fvvs-stealer%2F "Share in email")
* [![Facebook Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-fb-share.svg)](https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Funit42.paloaltonetworks.com%2Fes-la%2Fvvs-stealer%2F "Share in Facebook")
* [![LinkedIn Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-linkedin-share.svg)](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Funit42.paloaltonetworks.com%2Fes-la%2Fvvs-stealer%2F&title=VVS%20Discord%20Stealer%20utiliza%20Pyarmor%20para%20ofuscación%20y%20evasión%20de%20detección "Share in LinkedIn")
* [![Twitter Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-twitter-share.svg)](https://twitter.com/intent/tweet?url=https%3A%2F%2Funit42.paloaltonetworks.com%2Fes-la%2Fvvs-stealer%2F&text=VVS%20Discord%20Stealer%20utiliza%20Pyarmor%20para%20ofuscación%20y%20evasión%20de%20detección "Share in Twitter")
* [![Reddit Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-reddit-share.svg)](https://www.paloaltonetworks.com//www.reddit.com/submit?url=https%3A%2F%2Funit42.paloaltonetworks.com%2Fes-la%2Fvvs-stealer%2F&ts=markdown "Share in Reddit")
* [![Mastodon Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-mastodon-share.svg)](https://mastodon.social/share?text=VVS%20Discord%20Stealer%20utiliza%20Pyarmor%20para%20ofuscación%20y%20evasión%20de%20detección%20https%3A%2F%2Funit42.paloaltonetworks.com%2Fes-la%2Fvvs-stealer%2F "Share in Mastodon")

## Resumen Ejecutivo

Este artículo detalla nuestro análisis técnico de VVS stealer, también estilizado como VVS stealer, incluyendo el uso de ofuscación y evasión de detección por parte de sus distribuidores.

El *stealer* está escrito en Python y tiene como objetivo a los usuarios de Discord, exfiltrando información sensible como credenciales y tokens almacenados en cuentas de Discord. Este *stealer* estuvo en desarrollo activo y se comercializó para su venta en Telegram desde abril de 2025.

El código de VVS stealer está ofuscado mediante[Pyarmor](https://github.com/dashingsoft/pyarmor). Esta herramienta se utiliza para ofuscar scripts de Python con el fin de dificultar el análisis estático y la detección basada en firmas. Pyarmor puede usarse con fines legítimos y también aprovecharse para crear malware sigiloso.

Los autores de malware están aprovechando cada vez más técnicas de ofuscación avanzadas para evadir la detección de las herramientas de ciberseguridad, haciendo que su software malicioso sea más difícil de analizar y aplicar ingeniería inversa. Este artículo muestra cómo desofuscamos las muestras de VVS stealer para comprender mejor sus operaciones.

Debido a que Python es fácil de usar para los autores de malware y a la compleja ofuscación utilizada por esta amenaza, el resultado es una familia de malware altamente efectiva y sigilosa.

Los clientes de Palo Alto Networks están mejor protegidos a través de los siguientes productos y servicios:

* [Advanced WildFire](https://docs.paloaltonetworks.com/wildfire)
* [Advanced URL Filtering](https://docs.paloaltonetworks.com/advanced-url-filtering/administration) y[Advanced DNS Security](https://docs.paloaltonetworks.com/dns-security)
* [Cortex XDR](https://docs-cortex.paloaltonetworks.com/p/XDR) y[XSIAM](https://docs-cortex.paloaltonetworks.com/p/XSIAM) previenen las amenazas descritas en este artículo empleando el[Malware Prevention Engine](https://docs-cortex.paloaltonetworks.com/r/Cortex-XDR/Cortex-XDR-4.x-Documentation/Malware-protection) (Motor de Prevención de Malware).

Si cree que podría haber sido comprometido o tiene un asunto urgente, comuníquese con el[equipo de Respuesta a Incidentes de Unit 42](https://start.paloaltonetworks.com/contact-unit42.html).

|-----------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Temas relacionados de Unit 42** | [**Infostealer**](https://unit42.paloaltonetworks.com/es-la/tag/infostealer-es-la/)**,** [**Anti-analysis**](https://unit42.paloaltonetworks.com/tag/anti-analysis/)**, Discord, Pyarmor** |

## Introducción

Discord es una plataforma de mensajería social y comunicaciones que se ha convertido en un objetivo popular para el malware, como VVS stealer. VVS stealer está diseñado para robar la información de Discord y los datos del navegador de la víctima.

La Figura 1 muestra las capacidades anunciadas de VVS stealer, que incluyen:

* Robo de datos de Discord (tokens e información de la cuenta)
* Intercepción de sesiones activas de Discord mediante inyección
* Extracción de datos del navegador web (cookies, contraseñas, historial de navegación y detalles de autocompletado)

![Collage de capturas de pantalla de una computadora que muestra información sobre "VS Stealer en Telegram", describiendo su uso como herramienta de hacking, con una lista de características y detalles de precios. También se puede ver un enlace de contacto de Telegram para facilitar la comunicación.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/01/word-image-50784-170400-1.png) Figura 1. Anuncio de VVS stealer, enfocado en Telegram.

El *stealer* también logra persistencia instalándose automáticamente al inicio. Opera sigilosamente mostrando mensajes de error falsos y capturando capturas de pantalla. Para una investigación más profunda sobre la operación, consulte el artículo de DeepCode,[Investigating VVS $tealer: A Python-Based Discord Malware](https://decodecybercrime.com/investigating-vvs-tealer-a-python-based-discord-malware).

## Análisis Técnico

Esta sección analiza una muestra del malware VVS stealer protegida por Pyarmor con el siguiente hash SHA-256:

* c7e6591e5e021daa30f949a6f6e0699ef2935d2d7c06ea006e3b201c52666e07

La Figura 2 muestra un diagrama resumen que ilustra el flujo de trabajo completo del análisis de la muestra.
![Diagrama de flujo que muestra el proceso de extracción de bytecode de Python de un ejecutable de PyInstaller, su descompilación a código fuente de Python y el descifrado de bytecode de Pyarmor a ELF.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/01/word-image-55385-170400-2.png) Figura 2. Descripción general del flujo de trabajo para analizar la muestra de malware VVS stealer.

### **Paso Uno: Extracción desde el binario de PyInstaller**

La muestra que analizamos se distribuye como un paquete de[PyInstaller](https://pyinstaller.org). PyInstaller es una herramienta que empaqueta una aplicación Python y sus dependencias en un paquete para permitir la ejecución de una aplicación empaquetada sin instalar módulos adicionales.

Cualquier instalación estándar de PyInstaller incluye la utilidad integrada [pyi-archive\_viewer](https://pyinstaller.org/en/stable/advanced-topics.html). Utilizamos esta utilidad para extraer e inspeccionar los siguientes archivos de nuestra muestra:

* El archivo de *bytecode* de Python llamado vvs
* El archivo de biblioteca de vínculos dinámicos (DLL) del entorno de ejecución de Pyarmor llamado pyarmor\_runtime.pyd, ubicado en la subcarpeta pyarmor\_runtime\_007444
  * El archivo **init**.py adjunto dentro de esta misma subcarpeta, que incluye la siguiente información:
    * Versión de Pyarmor: 9.1.4 ([Pro](https://pyarmor.readthedocs.io/en/latest/licenses.html))
    * Número de licencia único: 007444
    * Marca de tiempo: 2025-04-27T11:04:52.523525
    * Nombre del producto: vvs
* Archivo DLL de Python 3.11 llamado python311.dll
  * La información de la versión del archivo indica que la versión de Python es 3.11.5

PyInstaller almacena el *bytecode* de Python (listado como 1.) en su forma cruda (*raw* ). Esta forma cruda se refiere a la secuencia de *bytecode* que comienza con el valor e3. El valor e3 es una combinación tanto de bandera (flag) como de tipo (type), combinada a través de la constante FLAG\_REF.

El tipo representado por el valor e3 se calcula como: type = e3 \& ~FLAG\_REF. Esto significa que el valor e3 es en realidad el tipo 0x63 (la letra c), también conocido como la constante de enumeración TYPE\_CODE. La implementación completa de esta derivación se puede encontrar en el[código base de CPython 3.11](https://github.com/python/cpython/blob/3.11/Python/marshal.c).

La Figura 3 a continuación muestra que este objeto de código serializado por el módulo[marshal](https://docs.python.org/3/library/marshal.html) está desnudo (*bare* ), le falta un encabezado acompañante de 16 bytes (marcado en azul). Para proporcionar suficiente contexto de Python y que el descompilador no rechace el archivo, necesitamos restaurar al menos uno de los valores del encabezado (el número mágico de Python 3.11.5 en formato *little-endian* de 4 bytes) antes de la descompilación, porque el descompilador de Python espera un archivo de *bytecode* de Python válido (.pyc) como entrada.
![Visualización de datos hexadecimales que muestra filas de códigos hex con algunos valores resaltados](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/01/word-image-57130-170400-3.jpeg) Figura 3. Archivo de bytecode de Python (.pyc) llamado vvs, con su encabezado restaurado.

Comenzamos nuestro análisis descompilando el archivo de bytecode de Python (.pyc) llamado vvs para recuperar su código fuente de Python equivalente (.py).

### Paso Dos: Descompilación a código fuente de Python

[Pycdc](https://github.com/zrax/pycdc) es un descompilador de bytecode de Python escrito en C++. Es parte del proyecto Decompyle++. Admite la descompilación de bytecode de Python 3.11 "de vuelta a código fuente de Python válido y legible por humanos". (Fuente:[GitHub](https://github.com/zrax/pycdc/blob/master/README.markdown)).[PyLingual](https://pylingual.io) es otro descompilador de bytecode de Python.

Después de clonar el repositorio de código y compilar el código base, el ejecutable generado se puede invocar de la siguiente manera para descompilar el bytecode de Python a código fuente de Python a través de Pycdc:

* pycdc.exe -c -v "3.11.5" "vvs.pyc" \> "vvs.py"

Esto producirá el código fuente de Python descompilado que se muestra en la Figura 4.
![Captura de pantalla de una línea de código Python que incluye una declaración de importación de una biblioteca llamada "pyarmor", con texto adicional oculto.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/01/word-image-59069-170400-4.jpeg) Figura 4. Código fuente de Python vvs descompilado.

Luego analizamos el último argumento de la función, que se puede extraer a través de[ast.NodeVisitor](https://docs.python.org/3/library/ast.html) de Python 3.

### **Paso Tres: Desentrañando la ofuscación de Pyarmor**

La carga útil (payload) comienza con el encabezado de Pyarmor que se muestra en la Figura 5.
![Una captura de pantalla que muestra una sección de código hexadecimal con caracteres ASCII en el lado derecho, incluida una cadena visible "PY00744...".](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/01/word-image-61006-170400-5.jpeg) Figura 5. Encabezado de Pyarmor, con campos particulares de interés resaltados.

La criptografía se realiza en todo momento utilizando el algoritmo Estándar de Cifrado Avanzado (AES) con una clave de 128 bits, operando en modo Contador (CTR) con un valor inicial de dos (es decir, AES-128-CTR). La Tabla 1 muestra el desglose de los campos.

|-------------------------------|-------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Desplazamientos (Offsets)** | **Valores**             | **Descripción**                                                                                                                                                                                               |
| 0x00 ... 0x07                 | PY007444                | Firma del archivo que contiene el número de licencia única                                                                                                                                                    |
| 0x09                          | 03                      | Versión mayor de Python                                                                                                                                                                                       |
| 0x0a                          | 0b                      | Versión menor de Python                                                                                                                                                                                       |
| 0x14                          | 09                      | Tipo de protección:  \* 09 si el[modo BCC](https://pyarmor.readthedocs.io/en/stable/topic/bccmode.html) de Pyarmor (explicado brevemente en la siguiente sección) está habilitado \* 08 en caso contrario |
| 0x1c ... 0x1f                 | 40 00 00 00             | Inicio del payload ELF, en formato little-endian                                                                                                                                                              |
| 0x24 ... 0x27                 | 12 c9 06 00             | Primeros cuatro bytes del nonce AES-128-CTR                                                                                                                                                                   |
| 0x2c ... 0x33                 | dc d2 98 a1 ea 11 fd f4 | Ocho bytes restantes del nonce AES-128-CTR                                                                                                                                                                    |
| 0x38 ... 0x3b                 | a0 7f 02 00             | Fin del payload ELF, en formato little-endian                                                                                                                                                                 |

*Tabla 1. Desglose de campos presentes en el encabezado de Pyarmor.*

Este mismo patrón (resaltado en amarillo) se repite una vez más después del final del *payload* ELF, para extraer y descifrar el *payload* de *bytecode* de Pyarmor.

#### Modo BCC

El modo BCC (probablemente una abreviatura de *ByteCode-to-Compilation* ) convierte la mayoría de las "funciones y métodos en los scripts a funciones C equivalentes. Esas funciones C se compilarán directamente a instrucciones de máquina, luego serán llamadas por los scripts ofuscados." (Fuente:[Documentación de Pyarmor](https://pyarmor.readthedocs.io/en/stable/topic/bccmode.html)).

El modo BCC se invoca de la siguiente manera: pyarmor gen --enable-bcc script.py.

Estas funciones C convertidas se almacenan en un archivo ELF separado, producido junto con el *bytecode* serializado (*marshaled*) por Pyarmor.

El mapeo de constantes de Python a funciones BCC se puede obtener utilizando esta[implementación](https://github.com/GDATAAdvancedAnalytics/Pyarmor-Tooling/blob/main/bcc_info.py). Por ejemplo, en el método de Python get\_encryption\_key(browser\_path), la constante **pyarmor\_bcc\_58580** se asigna a la función BCC bcc\_180, cuyo cuerpo de función se encuentra en el desplazamiento 0x4e70 del archivo ELF.

Haciendo referencia a[este análisis](https://cyber.wtf/2025/05/30/pyarmor-bcc-notes) del contenido del archivo ELF, especialmente la estructura bcc\_ftable, la Figura 6 muestra parte de la función BCC bcc\_180 descompilada:
![Captura de pantalla que muestra dos imágenes lado a lado de ejemplos complejos de código Python en una pantalla de computadora.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/01/word-image-63103-170400-6.png) Figura 6. Descompilación de la función BCC bcc\_180.

Podemos recuperar aproximadamente un equivalente del código original del método de Python get\_encryption\_key, como se muestra en la Figura 7.
![Captura de pantalla de código Python en un editor de texto, que muestra una función para recuperar la clave de descifrado para navegadores Chromium con sintaxis resaltada.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/01/word-image-65364-170400-7.png) Figura 7. Código Python equivalente del método get\_encryption\_key.

#### Formato de Bytecode Serializado (Marshaled)

El *bytecode* serializado de Pyarmor 9 difiere del *bytecode* estándar de Python 3.11 en varios aspectos. En primer lugar, el bit 0x20000000 se establece en el campo co\_flags para indicar que está ofuscado por Pyarmor. En segundo lugar, hay un campo de datos adicional, cuya longitud se denota por el valor de su primer byte.

Además, [deopt\_code()](https://github.com/python/cpython/blob/3.11/Objects/codeobject.c) debe estar deshabilitado para que la secuencia de *bytecode* se descifre con éxito. Discutiremos los parámetros criptográficos en una sección posterior de este artículo.

#### Estructura del Objeto de Código

Los objetos de código de Pyarmor están diseñados especialmente, en el sentido de que deben contener ciertos artefactos. Es común esperar encontrar la instrucción LOAD\_CONST __pyarmor\_enter_\*_\_ en el preámbulo y la instrucción LOAD\_CONST __pyarmor\_exit_\*_\_ en el cierre del desensamblado. Estas dos instrucciones envolverían el *bytecode* cifrado, como se muestra en la Tabla 2.

|---------------|----------------------------------------------------------------------------------------------------------------------------------------------|
| **Operación** | **Argumento**                                                                                                                                |
| ...                                                                                                                                                         ||
| LOAD\_CONST    | **pyarmor\_enter\_58592**                                                                                                                      |
| LOAD\_CONST    | \\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x05\\x00\\x00\\x20\\x16\\x0b\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00 |
| ... secuencia de bytecode cifrada (a examinar en la siguiente sección) ...                                                                                  ||
| LOAD\_CONST    | **pyarmor\_exit\_58593**                                                                                                                       |
| LOAD\_CONST    | \\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x05\\x00\\x00\\x20\\x16\\x0b\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00 |
| ...                                                                                                                                                         ||

Tabla 2. Instrucciones relacionadas con Pyarmor en el desensamblado de \<module\>.

Una vez descifrada la secuencia de *bytecode* cifrada, podría revelar cadenas cifradas o invocaciones de funciones BCC. Las cadenas cifradas (revisadas en una sección posterior de este artículo) están precedidas por una instrucción LOAD\_CONST __pyarmor\_assert_\*__. También existe la instrucción LOAD\_CONST __pyarmor\_bcc_\*__ para invocar una función BCC (revisada anteriormente en este artículo).

#### Cifrado del Objeto de Código

Las secuencias de *bytecode* entre el marcador de inicio (__pyarmor\_enter_\*__) y el marcador final (__pyarmor\_exit_\*__) están cifradas con AES-128-CTR. La clave AES asociada (273b1b1373cf25e054a61e2cb8a947b8)[se extrae de](https://github.com/Lil-House/Pyarmor-Static-Unpack-1shot/blob/main/helpers/runtime.py) la DLL del entorno de ejecución de Pyarmor vinculada al número de licencia único.

Por otro lado, la clave XOR del *nonce* AES correspondiente (2db99d18a0763ed70bbd6b3c) solo es específica para el *payload* de *bytecode* de Pyarmor, para lo cual[hay una implementación](https://github.com/Lil-House/Pyarmor-Static-Unpack-1shot/blob/main/pyc_module.cpp) de la lógica para extraer este valor. Esta clave se somete a XOR con los 12 bytes en el marcador final (__pyarmor\_exit_\*_\_) para producir el *nonce* AES correcto utilizado en el descifrado.

#### Cifrado de Cadenas

De manera similar, las constantes de cadena de más de ocho caracteres están cifradas con AES-128-CTR (conocido como["mixto" en la terminología de Pyarmor](https://pyarmor.readthedocs.io/en/latest/tutorial/obfuscation.html)). La clave AES asociada también es 273b1b1373cf25e054a61e2cb8a947b8, pero esta vez, el *nonce* AES correspondiente (692e767673e95c45a1e6876d)[se calcula desde](https://github.com/Lil-House/Pyarmor-Static-Unpack-1shot/blob/main/helpers/runtime.py) la DLL del entorno de ejecución de Pyarmor vinculada al número de licencia único.

Además, un valor de prefijo 0x81 denota que la constante de cadena está cifrada. De lo contrario, se utiliza un valor de prefijo 0x01 en su lugar.

Ahora que la protección de Pyarmor está desarmada, procederemos a cubrir algunas de las capacidades clave de VVS stealer en la siguiente sección.

## Capacidades del Malware

Con las capas de ofuscación de Pyarmor ---incluyendo el modo BCC y el cifrado de cadenas AES-128-CTR--- eliminadas con éxito, pudimos exponer la lógica de Python subyacente. Este código desofuscado reveló un *stealer* diseñado no solo para la exfiltración de datos, sino también para el secuestro activo de sesiones y la persistencia. La siguiente sección detalla las capacidades operativas específicas de VVS stealer que se descubrieron durante este análisis.

La muestra de malware expira después del 2026-10-31 23:59:59. Dejará de funcionar terminándose prematuramente.

La muestra de malware realiza todas las solicitudes HTTP enviando la cadena fija de User-Agent Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36.

Ahora proporcionaremos una descripción general de las principales capacidades del malware, tal como se anuncian en Telegram.

### **Datos de** Discord

La muestra de malware primero busca posibles tokens de Discord cifrados. Los tokens de Discord cifrados son cadenas que comienzan con el prefijo[dQw4w9WgXcQ:](<https://www.google.com/search?q=%5Bhttps://www.google.com/url%3Fq%3Dhttps://reddit.com/r/discordapp/comments/tyb1u0/discord_easter_egg_all_encrypted_discord_tokens%26sa%3DD%26source%3Deditors%26ust%3D1767729307221381%26usg%3DAOvVaw1v6XmOiCuDZvEnkMzWHc9A%5D(https://www.google.com/url%3Fq%3Dhttps://reddit.com/r/discordapp/comments/tyb1u0/discord_easter_egg_all_encrypted_discord_tokens%26sa%3DD%26source%3Deditors%26ust%3D1767729307221381%26usg%3DAOvVaw1v6XmOiCuDZvEnkMzWHc9A)>). La muestra de malware utiliza expresiones regulares para formar un patrón a partir de este prefijo de cadena. Luego utiliza este patrón para buscar dentro del contenido de archivos con las extensiones .ldb o .log, almacenados dentro del directorio[LevelDB](https://en.wikipedia.org/wiki/LevelDB).

A continuación, la muestra de malware descifra el valor encrypted\_key en el archivo Local State, a través de la[Interfaz de Programación de Aplicaciones de Protección de Datos (DPAPI)](https://en.wikipedia.org/wiki/Data_Protection_API). Con este valor encrypted\_key descifrado como parámetro de clave AES, la muestra de malware aplica el algoritmo AES, operando en modo Galois/Counter Mode (GCM), sobre los tokens de Discord cifrados para descifrarlos.

Luego, la muestra de malware utiliza los tokens de Discord descifrados para consultar varios puntos finales (*endpoints*) de la interfaz de programación de aplicaciones (API) de Discord para obtener información del usuario, incluyendo:

* Suscripción[Nitro](https://discord.com/nitro) (características Premium de Discord)
* Métodos de pago
* ID de usuario
* Nombre de usuario
* Correo electrónico
* Número de teléfono
* Amigos
* Gremios (*Guilds*)
* Estado de autenticación multifactor (MFA)
* Configuración regional (*Locale*)
* Estado de verificación
* Imagen de avatar
* Dirección IP (a través del servicio[ipify](https://ipify.org))
* Nombre de la computadora

Después de recopilar toda esta información, la muestra de malware procede a exfiltrarla en formato de Notación de Objetos de JavaScript (JSON). La exfiltración se realiza a través de solicitudes HTTP POST a los *endpoints* de webhook predefinidos (variable de entorno %WEBHOOK% y URL de respaldo codificadas).

Los *webhooks* son "una forma de bajo esfuerzo para publicar mensajes en canales de Discord. No requieren un usuario bot ni autenticación para usarse." (Fuente:[Portal de Desarrolladores de Discord](https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks)).

### **Inyección** en**Discord**

El código responsable de esta funcionalidad está en la clase Inj, probablemente una abreviatura de *Injection* (Inyección).

En esta clase, la muestra de malware primero elimina los procesos de la aplicación Discord en ejecución, si hay alguno ejecutándose. Luego descarga el *payload* de JavaScript (JS) desde un archivo remoto llamado injection-obf.js (el sufijo -obf probablemente significa una versión ofuscada del script), reemplazando la URL del *endpoint* del webhook y discord\_desktop\_core, dentro del directorio de la aplicación Discord. Este archivo JS está ofuscado por la[Herramienta de Ofuscación de JavaScript](https://obfuscator.io) y puede ser desofuscado a través del[Desofuscador de Obfuscator.io](https://obf-io.deobfuscate.io).

Algunas de las funcionalidades principales del código JS inyectado se destacan en las siguientes capturas de pantalla, comenzando con su configuración y fragmentos de código de exfiltración, que se muestran en la Figura 8.
![Captura de pantalla de un archivo de configuración de JavaScript que incluye URL y rutas relacionadas con una API de Discord y una puerta de enlace de autorización remota. El código se muestra en un editor de texto con resaltado de sintaxis](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/01/word-image-67161-170400-8.png) Figura 8. Configuración y exfiltración del JS inyectado.

La Figura 8 muestra el código JS inyectado responsable de establecer persistencia en la aplicación Discord, basado en el framework[Electron](https://electronjs.org). Este framework utiliza archivos de formato Atom Shell Archive ([ASAR](https://electronjs.org/docs/latest/tutorial/asar-archives)) para agrupar todo el código base de la aplicación en un solo archivo, como se muestra en la Figura 9.
![Captura de pantalla de un fragmento de código relacionado con una función de inicialización de software, que menciona rutas y configuración para "app.js", "index.js" y "discord.js". El código está escrito en JavaScript.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/01/word-image-69154-170400-9.png) Figura 9. Código JS inyectado para realizar persistencia.

La Figura 10 muestra el código JS inyectado responsable de monitorear el tráfico de red a través del[Protocolo de DevTools de Chrome](https://chromedevtools.github.io/devtools-protocol/tot/Network) (CDP).
![Captura de pantalla de código de software en un editor, que muestra una función de JavaScript relacionada con la red.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/01/word-image-71090-170400-10.png) Figura 10. Código JS inyectado para monitorear el tráfico de red.

La Figura 11 muestra funciones de utilidad de apoyo y *hooks* de eventos en el código JS inyectado. Los hooks de eventos son funciones de devolución de llamada (callbacks) que se ejecutan cuando el usuario de la aplicación Discord realiza una acción específica. Las acciones de interés son cuando el usuario ve sus códigos de respaldo, cambia su contraseña o agrega un método de pago. Las funciones callback vinculadas a estas acciones son capaces de recopilar la cuenta de usuario de Discord y la información de facturación.
![Captura de pantalla de un editor de código informático que muestra varias líneas de código JavaScript, que incluye funciones relacionadas con el manejo de datos de usuario y solicitudes de API.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/01/word-image-73100-170400-11.png) Figure 11. Injected JS code of utility functions and event hooks.

Posteriormente, la muestra de malware reinicia un proceso de aplicación Discord comprometido a través de Update.exe, lo cual hace con el modificador de línea de comandos --processStart.

### **Datos del Navegador Web**

La muestra de malware ataca una lista de aplicaciones de navegador web, incluyendo:

* Chrome
* Edge
* 7Star
* Amigo
* Brave
* CentBrowser
* Discord
* Epic Privacy Browser
* Iridium
* Kometa
* Lightcord
* Mozilla Firefox
* Opera
* Orbitum
* Sputnik
* Torch
* Uran
* Vivaldi
* Yandex

De estos objetivos, la muestra de malware extrae los siguientes datos, donde estén presentes:

* Autocompletado
* Cookies
* Historial
* Contraseñas

Una vez extraídos estos datos, la muestra de malware los prepara para la exfiltración comprimiéndolos en un solo archivo ZIP llamado \<USERNAME\>\_vault.zip. Luego exfiltra este archivo a través de solicitudes HTTP POST a los *endpoints* de *webhook* predefinidos, similar al proceso de exfiltración de datos de Discord.

### Persistencia en**el Inicio**

La muestra de malware se copia a sí misma en la carpeta %APPDATA%\\Microsoft\\Windows\\Start Menu\\Programs\\Startup para lograr persistencia en el inicio. El malware permanece en el dispositivo del usuario, permitiéndole continuar exfiltrando datos si, por ejemplo, el usuario intenta instalar una copia nueva de la aplicación Discord.

### Error**Falso**

La muestra de malware utiliza la API Win32, específicamente la función MessageBoxW en la biblioteca User32.dll, para mostrar un cuadro de mensaje modal sobre un error fatal falso que requiere reiniciar la computadora. Un cuadro de mensaje modal es una pequeña ventana de diálogo que requiere la interacción del usuario antes de que la aplicación pueda continuar, como se muestra en la Figura 12.
![Cuadro de diálogo de mensaje de error que muestra "Fatal Error" con el código de error 0x80070002 y una sugerencia para reiniciar la computadora. Hay un botón "OK" presente para confirmar.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/01/word-image-74945-170400-12.png) Figura 12. Un cuadro de mensaje falso que indica a la víctima que reinicie la computadora.

## Conclusión

VVS stealer demuestra cómo herramientas como Pyarmor, que pueden usarse con fines legítimos, también pueden aprovecharse para crear malware sigiloso destinado a secuestrar credenciales para plataformas populares como Discord. Su aparición señala la necesidad de que los defensores fortalezcan el monitoreo en torno al robo de credenciales y el abuso de cuentas.

### **Protección y Mitigación de Palo Alto Networks**

Los clientes de Palo Alto Networks están mejor protegidos contra las amenazas discutidas anteriormente a través de los siguientes productos:

Los modelos de aprendizaje automático y las técnicas de análisis de[Advanced WildFire](https://docs.paloaltonetworks.com/wildfire) han sido revisados y actualizados a la luz de los indicadores compartidos en esta investigación.

[Advanced URL Filtering](https://docs.paloaltonetworks.com/advanced-url-filtering/administration) y[Advanced DNS Security](https://docs.paloaltonetworks.com/dns-security) identifican los dominios y URL conocidos asociados con esta actividad como maliciosos.

[Cortex XDR](https://docs-cortex.paloaltonetworks.com/p/XDR) y[XSIAM](https://docs-cortex.paloaltonetworks.com/p/XSIAM) previenen las amenazas descritas en este artículo empleando el[Malware Prevention Engine](https://docs-cortex.paloaltonetworks.com/r/Cortex-XDR/Cortex-XDR-4.x-Documentation/Malware-protection). Este enfoque combina varias capas de protección, incluyendo[Advanced WildFire](https://docs.paloaltonetworks.com/wildfire), Protección contra Amenazas de Comportamiento (Behavioral Threat Protection) y el módulo de Análisis Local, para evitar que tanto el malware conocido como el desconocido causen daño a los *endpoints*.

Si cree que puede haber sido comprometido o tiene un asunto urgente, póngase en contacto con el[equipo de Respuesta a Incidentes de Unit 42](https://start.paloaltonetworks.com/contact-unit42.html) o llame al:

* Norteamérica: Llamada gratuita: +1 (866) 486-4842 (866.4.UNIT42)
* Reino Unido: +44.20.3743.3660
* Europa y Medio Oriente: +31.20.299.3130
* Asia: +65.6983.8730
* Japón: +81.50.1790.0200
* Australia: +61.2.4062.7950
* India: 000 800 050 45107
* Corea del Sur: +82.080.467.8774

Palo Alto Networks ha compartido estos hallazgos con nuestros miembros compañeros de la Cyber Threat Alliance (CTA). Los miembros de la CTA utilizan esta inteligencia para implementar rápidamente protecciones para sus clientes y para interrumpir sistemáticamente a los actores cibernéticos maliciosos. Obtenga más información sobre la[Cyber Threat Alliance](https://www.cyberthreatalliance.org).

## Indicadores de Compromiso

Hashes SHA-256 de muestras de malware:

* 307d9cefa7a3147eb78c69eded273e47c08df44c2004f839548963268d19dd87
* 7a1554383345f31f3482ba3729c1126af7c1d9376abb07ad3ee189660c166a2b
* c7e6591e5e021daa30f949a6f6e0699ef2935d2d7c06ea006e3b201c52666e07

URLs de webhook de Discord

* hxxps\[://\]ptb.discord\[.\]com/api/webhooks/1360401843963826236/TkFvXfHFXrBIKT3EaqekJefvdvt39XTAxeOIWECeSrBbNLKDR5yPcn75uIqKEzdfs9o2
* hxxps\[://\]ptb.discord\[.\]com/api/webhooks/1360259628440621087/YCo9eVnIBOYSMn8Xr6zX5C7AJF22z26WljaJk4zr6IiThnUrVyfWCZYs6JjSC12IC8c0

## Recursos Adicionales

* [Unpacking Pyarmor v8+ scripts](https://cyber.wtf/2025/02/12/unpacking-pyarmor-v8-scripts) -- Leonard Rapp y Hendrik Eckardt, G DATA Advanced Analytics GmbH
* [Obfuscated Malicious Python Scripts with PyArmor](https://isc.sans.edu/diary/31840) -- Xavier Mertens, SANS Internet Storm Center
  Volver al principio

### Etiquetas

* [Discord](https://unit42.paloaltonetworks.com/es-la/tag/discord/ "Discord")
* [Infostealer](https://unit42.paloaltonetworks.com/es-la/tag/infostealer-es-la/ "Infostealer")
* [Python](https://unit42.paloaltonetworks.com/es-la/tag/python-es-la/ "Python")
* [Telegram](https://unit42.paloaltonetworks.com/es-la/tag/telegram-es-la/ "Telegram")  
  [Threat Research Center](https://unit42.paloaltonetworks.com/es-la/ "Threat Research") [Siguiente:De lo lineal a lo complejo: una actualización del cifrado de RansomHouse](https://unit42.paloaltonetworks.com/es-la/ransomhouse-encryption-upgrade/ "De lo lineal a lo complejo: una actualización del cifrado de RansomHouse")

### ÍNDICE

* 

### Artículos relacionados

* [Armar a los protectores: ataque multifase de TeamPCP a la cadena de suministro dirigido contra la infraestructura de seguridad](https://unit42.paloaltonetworks.com/es-la/teampcp-supply-chain-attacks/ "article - table of contents")
* [Evolución de las ciberamenazas iraníes: de los wipers de MBR a la militarización de la identidad](https://unit42.paloaltonetworks.com/es-la/evolution-of-iran-cyber-threats/ "article - table of contents")
* [Ejecución remota de código con formatos y bibliotecas modernos de IA/ML](https://unit42.paloaltonetworks.com/es-la/rce-vulnerabilities-in-ai-python-libraries/ "article - table of contents")

## Relacionados Malware Recursos

![Pictorial representation of attackers using AI tools to target Latin American organizations. A vibrant cityscape with silhouettes of numerous people walking along a bustling street. The scene is illuminated by bright urban lights and digital-like particles, creating a dynamic and futuristic atmosphere.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/09/AdobeStock_768915868-2-1-786x373.jpg)  
[Investigación de amenazas](https://unit42.paloaltonetworks.com/es-la/category/threat-research-es-la/) 3 de Septiembre de 2026 [#### Los atacantes aprovechan el uso continuo de herramientas de IA para atacar organizaciones en América Latina](https://unit42.paloaltonetworks.com/es-la/ai-tool-use-targeting-latam-orgs/)

* [Agentic AI](https://unit42.paloaltonetworks.com/es-la/tag/agentic-ai-es-la/ "Agentic AI")

* [ChatGPT](https://unit42.paloaltonetworks.com/es-la/tag/chatgpt/ "ChatGPT")

* [CL-CRI-1131](https://unit42.paloaltonetworks.com/es-la/tag/cl-cri-1131/ "CL-CRI-1131")  
  [Leer ahora ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/es-la/ai-tool-use-targeting-latam-orgs/ "Los atacantes aprovechan el uso continuo de herramientas de IA para atacar organizaciones en América Latina")  
  ![Pictorial representation of the npm packages supply chain attack. Screen displaying code with a prominent alert symbol and the words 'VIRUS DETECTED' highlighted in red.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/04/05_Malware_Category_1920x900-786x368.jpg)  
  [Amenazas sofisticadas](https://unit42.paloaltonetworks.com/es-la/category/top-cyberthreats-es-la/) 2 de Junio de 2026 [#### El panorama de amenazas de npm: superficie de ataque y mitigaciones (Actualizado el 2 de junio)](https://unit42.paloaltonetworks.com/es-la/monitoring-npm-supply-chain-attacks/)

* [Credential Harvesting](https://unit42.paloaltonetworks.com/es-la/tag/credential-harvesting-es-la/ "Credential Harvesting")

* [GitHub](https://unit42.paloaltonetworks.com/es-la/tag/github-es-la/ "GitHub")

* [Npm packages](https://unit42.paloaltonetworks.com/es-la/tag/npm-packages/ "npm packages")  
  [Leer ahora ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/es-la/monitoring-npm-supply-chain-attacks/ "El panorama de amenazas de npm: superficie de ataque y mitigaciones (Actualizado el 2 de junio)")  
  ![Pictorial representation of Iran cyber attacks. Close-up of a person wearing glasses, with computer code reflected in the lenses.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/03/12_Security-Technology_Category_1920x900-786x368.jpg)  
  [Amenazas sofisticadas](https://unit42.paloaltonetworks.com/es-la/category/top-cyberthreats-es-la/) 17 de Abril de 2026 [#### Resumen sobre amenazas: aumento del riesgo cibernético relacionado con Irán en 2026 (actualizado el 17 de abril)](https://unit42.paloaltonetworks.com/es-la/iranian-cyberattacks-2026/)

* [APK](https://unit42.paloaltonetworks.com/es-la/tag/apk/ "APK")

* [DDoS attacks](https://unit42.paloaltonetworks.com/es-la/tag/ddos-attacks-es-la/ "DDoS attacks")

* [GenAI](https://unit42.paloaltonetworks.com/es-la/tag/genai-es-la/ "GenAI")  
  [Leer ahora ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/es-la/iranian-cyberattacks-2026/ "Resumen sobre amenazas: aumento del riesgo cibernético relacionado con Irán en 2026 (actualizado el 17 de abril)")  
  ![Pictorial representation of the supply chain attack compromising Axios. A giant eye made of glowing binary code.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/04/02_Security-Technology_Category_1920x900-786x368.jpg)  
  [Amenazas sofisticadas](https://unit42.paloaltonetworks.com/es-la/category/top-cyberthreats-es-la/) 1 de Abril de 2026 [#### Resumen sobre amenazas: impacto generalizado del ataque a la cadena de suministro de Axios](https://unit42.paloaltonetworks.com/es-la/axios-supply-chain-attack/)

* [API attacks](https://unit42.paloaltonetworks.com/es-la/tag/api-attacks-es-la/ "API attacks")

* [JavaScript](https://unit42.paloaltonetworks.com/es-la/tag/javascript-es-la/ "JavaScript")

* [PowerShell](https://unit42.paloaltonetworks.com/es-la/tag/powershell-es-la/ "PowerShell")  
  [Leer ahora ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/es-la/axios-supply-chain-attack/ "Resumen sobre amenazas: impacto generalizado del ataque a la cadena de suministro de Axios")  
  ![Pictorial representation of TeamPCP. Glowing code on a screen where several word such as Crime, Hackers, and Security are highlighted in a contrasting color.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/03/03_Cybercrime_Category_1920x900-786x368.jpg)  
  [Amenazas sofisticadas](https://unit42.paloaltonetworks.com/es-la/category/top-cyberthreats-es-la/) 31 de Marzo de 2026 [#### Armar a los protectores: ataque multifase de TeamPCP a la cadena de suministro dirigido contra la infraestructura de seguridad](https://unit42.paloaltonetworks.com/es-la/teampcp-supply-chain-attacks/)

* [CVE-2025-55182](https://unit42.paloaltonetworks.com/es-la/tag/cve-2025-55182-es-la/ "CVE-2025-55182")

* [GitHub](https://unit42.paloaltonetworks.com/es-la/tag/github-es-la/ "GitHub")

* [Infostealer](https://unit42.paloaltonetworks.com/es-la/tag/infostealer-es-la/ "Infostealer")  
  [Leer ahora ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/es-la/teampcp-supply-chain-attacks/ "Armar a los protectores: ataque multifase de TeamPCP a la cadena de suministro dirigido contra la infraestructura de seguridad")  
  ![Pictorial representation of phishing campaign. A blurred image focusing on a person typing on a laptop with lines of code visible on the screen, illuminated in blue and red lights, suggestive of intense coding or cyber activities.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/03/06_Malware_Category_1920x900-3-786x368.jpg)  
  [Investigación de amenazas](https://unit42.paloaltonetworks.com/es-la/category/threat-research-es-la/) 24 de Marzo de 2026 [#### Resumen sobre amenazas: plan de contratación que suplanta la identidad del equipo de adquisición de talentos de Palo Alto Networks](https://unit42.paloaltonetworks.com/es-la/phishing-attackers-pose-as-panw-recruiters/)

* [Email scam](https://unit42.paloaltonetworks.com/es-la/tag/email-scam/ "email scam")

* [Phishing](https://unit42.paloaltonetworks.com/es-la/tag/phishing-es-la/ "phishing")

* [Recruiter](https://unit42.paloaltonetworks.com/es-la/tag/recruiter/ "recruiter")  
  [Leer ahora ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/es-la/phishing-attackers-pose-as-panw-recruiters/ "Resumen sobre amenazas: plan de contratación que suplanta la identidad del equipo de adquisición de talentos de Palo Alto Networks")  
  ![Pictorial representation of Notepad++ supply chain compromise. A digital rendering of Earth from space, focusing on North and South America. The continents are illuminated in blue, with red lines and dots indicating data connections across various locations. Dark background highlights the vibrant network representation.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/02/11_Security-Technology_Category_1920x900-786x368.jpg)  
  [Amenazas sofisticadas](https://unit42.paloaltonetworks.com/es-la/category/top-cyberthreats-es-la/) 11 de Febrero de 2026 [#### Actores de amenazas de estados-nación explotan la cadena de suministro de Notepad++](https://unit42.paloaltonetworks.com/es-la/notepad-infrastructure-compromise/)

* [Backdoor](https://unit42.paloaltonetworks.com/es-la/tag/backdoor/ "backdoor")

* [Cobalt Strike](https://unit42.paloaltonetworks.com/es-la/tag/cobalt-strike/ "Cobalt Strike")

* [DLL Sideloading](https://unit42.paloaltonetworks.com/es-la/tag/dll-sideloading/ "DLL Sideloading")  
  [Leer ahora ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/es-la/notepad-infrastructure-compromise/ "Actores de amenazas de estados-nación explotan la cadena de suministro de Notepad++")  
  ![Pictorial representation of runtime assembly attacks. Digital artwork of a glowing, futuristic shield disintegrating into small particles, set against a dark blue, bokeh-effect background.](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/01/09_Business_email_compromise_Category_1920x900-786x368.jpg)  
  [Investigación de amenazas](https://unit42.paloaltonetworks.com/es-la/category/threat-research-es-la/) 22 de Enero de 2026 [#### La próxima frontera de los ataques de ensamblado en tiempo de ejecución: aprovechamiento de los LLM para generar JavaScript de phishing en tiempo real](https://unit42.paloaltonetworks.com/es-la/real-time-malicious-javascript-through-llms/)

* [API](https://unit42.paloaltonetworks.com/es-la/tag/api/ "API")

* [DeepSeek](https://unit42.paloaltonetworks.com/es-la/tag/deepseek/ "DeepSeek")

* [Google](https://unit42.paloaltonetworks.com/es-la/tag/google-es-la/ "Google")  
  [Leer ahora ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/es-la/real-time-malicious-javascript-through-llms/ "La próxima frontera de los ataques de ensamblado en tiempo de ejecución: aprovechamiento de los LLM para generar JavaScript de phishing en tiempo real")  
  ![Pictorial representation of APT Ashen Lepus. The silhouette of a hare and the Lepus constellation inside an orange abstract planet. Abstract, stylized cosmic setting with vibrant blue and purple shapes, representing space and distant planetary bodies.](https://unit42.paloaltonetworks.com/wp-content/uploads/2025/12/10-01-Ashen-Lepus-1920x900-1-786x368.png)  
  [Grupos de actores de amenazas](https://unit42.paloaltonetworks.com/es-la/category/threat-actor-groups-es-la/) 11 de Diciembre de 2025 [#### Ashen Lepus, afiliado a Hamás, ataca a entidades diplomáticas de Oriente Medio con el nuevo conjunto de malware AshTag](https://unit42.paloaltonetworks.com/es-la/hamas-affiliate-ashen-lepus-uses-new-malware-suite-ashtag/)

* [Ashen Lepus](https://unit42.paloaltonetworks.com/es-la/tag/ashen-lepus-es-la/ "Ashen Lepus")

* [Espionage](https://unit42.paloaltonetworks.com/es-la/tag/espionage-es-la/ "Espionage")

* [WIRTE](https://unit42.paloaltonetworks.com/es-la/tag/wirte-es-la/ "WIRTE")  
  [Leer ahora ![Right arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-right-arrow-withtail.svg)](https://unit42.paloaltonetworks.com/es-la/hamas-affiliate-ashen-lepus-uses-new-malware-suite-ashtag/ "Ashen Lepus, afiliado a Hamás, ataca a entidades diplomáticas de Oriente Medio con el nuevo conjunto de malware AshTag")

* ![Slider arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/slider-arrow-left.svg)

* ![Slider arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/slider-arrow-left.svg)  
  ![Close button](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/close-modal.svg) ![Enlarged Image]()  
  ![Newsletter](https://unit42.paloaltonetworks.com/wp-content/uploads/2026/03/unit42-footer-subscribe-desktop.png)  
  ![UNIT 42 Small Logo](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/palo-alto-logo-small.svg) Obtener actualizaciones de Unit 42

## Manténgase un paso adelante de las amenazas para estar tranquilo. Comuníquese con nosotros hoy mismo.

Your Email

Suscribirse para recibir actualizaciones por correo electrónico de todas las investigaciones de amenazas de Unit 42.  
Cuando envía este formulario, acepta nuestras [Condiciones de uso](https://www.paloaltonetworks.com/legal-notices/terms-of-use) y confirma nuestra [Declaración de privacidad](https://www.paloaltonetworks.com/legal-notices/privacy)

Este sitio está protegido por reCAPTCHA y se aplican la [Política de privacidad](https://policies.google.com/privacy) y los [Términos de servicio](https://policies.google.com/terms) de Google.

Invalid captcha!
Suscribirse ![Right Arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/right-arrow.svg) ![loader](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-loader.svg)  
{#footer} Productos y servicios

* [Plataforma de seguridad de la red con tecnología de IA](https://www.paloaltonetworks.lat/network-security)

* [IA segura por diseño](https://www.paloaltonetworks.lat/precision-ai-security/secure-ai-by-design)

* [Prisma AIRS](https://www.paloaltonetworks.lat/prisma/prisma-ai-runtime-security)

* [Seguridad de AI Access](https://www.paloaltonetworks.lat/sase/ai-access-security)

* [Servicios de seguridad entregados en la nube](https://www.paloaltonetworks.lat/network-security/security-subscriptions)

* [Threat Prevention avanzada](https://www.paloaltonetworks.lat/network-security/advanced-threat-prevention)

* [URL Filtering avanzado](https://www.paloaltonetworks.lat/network-security/advanced-url-filtering)

* [WildFire avanzado](https://www.paloaltonetworks.lat/network-security/advanced-wildfire)

* [Seguridad de DNS avanzada](https://www.paloaltonetworks.lat/network-security/advanced-dns-security)

* [Prevención de pérdida de datos empresariales](https://www.paloaltonetworks.lat/sase/enterprise-data-loss-prevention)

* [Seguridad de IoT empresarial](https://www.paloaltonetworks.lat/content/pan/es_LA/network-security/enterprise-iot-security)

* [Seguridad de IoT para dispositivos médicos](https://www.paloaltonetworks.lat/content/pan/es_LA/network-security/medical-iot-security)

* [Seguridad de OT industrial](https://www.paloaltonetworks.lat/content/pan/es_LA/network-security/industrial-ot-security)

* [Seguridad de SaaS](https://www.paloaltonetworks.lat/sase/saas-security)

* [Firewalls de nueva generación](https://www.paloaltonetworks.lat/network-security/next-generation-firewall)

* [Firewalls de hardware](https://www.paloaltonetworks.lat/network-security/hardware-firewall-innovations)

* [Firewalls de software](https://www.paloaltonetworks.lat/network-security/software-firewalls)

* [Strata Cloud Manager](https://www.paloaltonetworks.lat/network-security/strata-cloud-manager)

* [SD-WAN para NGFW](https://www.paloaltonetworks.lat/network-security/sd-wan-subscription)

* [PAN-OS](https://www.paloaltonetworks.lat/network-security/pan-os)

* [Panorama](https://www.paloaltonetworks.lat/network-security/panorama)

* [Perímetro de servicio de acceso seguro](https://www.paloaltonetworks.lat/sase)

* [Prisma SASE](https://www.paloaltonetworks.lat/sase)

* [Aceleración de aplicaciones](https://www.paloaltonetworks.lat/sase/app-acceleration)

* [Gestión autónoma de la experiencia digital](https://www.paloaltonetworks.lat/sase/adem)

* [Enterprise DLP](https://www.paloaltonetworks.lat/sase/enterprise-data-loss-prevention)

* [Prisma Access](https://www.paloaltonetworks.lat/sase/access)

* [Prisma Browser](https://www.paloaltonetworks.lat/sase/prisma-browser)

* [Prisma SD-WAN](https://www.paloaltonetworks.lat/sase/sd-wan)

* [Aislamiento del explorador remoto](https://www.paloaltonetworks.lat/sase/remote-browser-isolation)

* [Seguridad de SaaS](https://www.paloaltonetworks.lat/sase/saas-security)

* [Plataforma de operaciones de seguridad dirigida por IA](https://www.paloaltonetworks.lat/cortex)

* [Seguridad de nube](https://www.paloaltonetworks.lat/cortex/cloud)

* [Cortex Cloud](https://www.paloaltonetworks.lat/cortex/cloud)

* [Seguridad de las aplicaciones](https://www.paloaltonetworks.lat/cortex/cloud/application-security)

* [Postura de seguridad en la nube](https://www.paloaltonetworks.lat/cortex/cloud/cloud-posture-security)

* [Seguridad en tiempo de ejecución en la nube](https://www.paloaltonetworks.lat/cortex/cloud/runtime-security)

* [Prisma Cloud](https://www.paloaltonetworks.lat/prisma/cloud)

* [SOC impulsado por IA](https://www.paloaltonetworks.lat/cortex)

* [Cortex XSIAM](https://www.paloaltonetworks.lat/cortex/cortex-xsiam)

* [Cortex XDR](https://www.paloaltonetworks.lat/cortex/cortex-xdr)

* [Cortex XSOAR](https://www.paloaltonetworks.lat/cortex/cortex-xsoar)

* [Cortex Xpanse](https://www.paloaltonetworks.lat/cortex/cortex-xpanse)

* [Detección y respuesta gestionadas de Unit 42](https://www.paloaltonetworks.lat/cortex/managed-detection-and-response)

* [XSIAM gestionado](https://www.paloaltonetworks.lat/cortex/managed-xsiam)

* [Inteligencia de amenazas y respuesta ante incidentes](https://www.paloaltonetworks.lat/unit42)

* [Evaluaciones proactivas](https://www.paloaltonetworks.lat/unit42/assess)

* [Respuesta ante incidentes](https://www.paloaltonetworks.lat/unit42/respond)

* [Transforme su estrategia de seguridad](https://www.paloaltonetworks.lat/unit42/transform)

* [Descubra la inteligencia de amenazas](https://www.paloaltonetworks.lat/unit42/threat-intelligence-partners)  
  Empresa

* [Acerca de nosotros](https://www.paloaltonetworks.com/about-us)

* [Carreras](https://jobs.paloaltonetworks.com/en/)

* [Contáctenos](https://www.paloaltonetworks.com/company/contact-sales)

* [Responsabilidad corporativa](https://www.paloaltonetworks.com/about-us/corporate-responsibility)

* [Clientes](https://www.paloaltonetworks.lat/customers)

* [Relaciones con inversionistas](https://investors.paloaltonetworks.com/)

* [Ubicación](https://www.paloaltonetworks.com/about-us/locations)

* [Sala de prensa](https://www.paloaltonetworks.lat/company/newsroom)  
  Enlaces populares

* [Blog](https://www.paloaltonetworks.com/blog/)

* [Comunidades](https://www.paloaltonetworks.com/communities)

* [Biblioteca de contenido](https://www.paloaltonetworks.lat/resources)

* [Cyberpedia](https://www.paloaltonetworks.com/cyberpedia)

* [Centro de eventos](https://events.paloaltonetworks.com/)

* [Administrar preferencias de correo electrónico](https://start.paloaltonetworks.com/preference-center)

* [Productos A-Z](https://www.paloaltonetworks.com/products/products-a-z)

* [Certificaciones de productos](https://www.paloaltonetworks.com/legal-notices/trust-center/compliance)

* [Informar sobre una vulnerabilidad](https://www.paloaltonetworks.com/security-disclosure)

* [Mapa del sitio](https://www.paloaltonetworks.com/sitemap)

* [Documentos técnicos](https://docs.paloaltonetworks.com/)

* [Unit 42](https://unit42.paloaltonetworks.com/)

* [No vender ni compartir mi información personal](https://panwedd.exterro.net/portal/dsar.htm?target=panwedd)
  ![Palo Alto Networks Logo](https://www.paloaltonetworks.lat/etc/clientlibs/clean/imgs/pan-logo-dark.svg)

* [Privacidad](https://www.paloaltonetworks.com/legal-notices/privacy)

* [Centro de confianza](https://www.paloaltonetworks.com/legal-notices/trust-center)

* [Condiciones de uso](https://www.paloaltonetworks.com/legal-notices/terms-of-use)

* [Documentación](https://www.paloaltonetworks.com/legal)

Copyright © 2026 Palo Alto Networks. Todos los derechos reservados

* [![](https://www.paloaltonetworks.lat/etc/clientlibs/clean/imgs/social/youtube-black.svg)](https://www.youtube.com/user/paloaltonetworks)
* [![](https://www.paloaltonetworks.lat/etc/clientlibs/clean/imgs/social/twitter-x-black.svg)](https://twitter.com/PaloAltoNtwks)
* [![](https://www.paloaltonetworks.lat/etc/clientlibs/clean/imgs/social/facebook-black.svg)](https://www.facebook.com/PaloAltoNetworks/)
* [![](https://www.paloaltonetworks.lat/etc/clientlibs/clean/imgs/social/linkedin-black.svg)](https://www.linkedin.com/company/palo-alto-networks)
* [![](https://www.paloaltonetworks.lat/content/dam/pan/en_US/images/icons/podcast.svg)](https://unit42.paloaltonetworks.com/unit-42-threat-vector-podcast/)
* LA  
  Select your language  
  ![Play](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/player-play-icon.svg) ![Pause](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/player-pause-icon1.svg) ![Minimize](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-minimize.svg) ![Close button](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/close-modal.svg)

### Default Heading

Read the article ![Right Arrow](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/right-arrow.svg)  
Seekbar

![Play](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/player-play-icon.svg) ![Pause](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/player-pause-icon1.svg)  
![Volume](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-volume.svg)  
Volume
![Minimize](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-minimize.svg)
