[![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/adaptixc2-post-exploitation-framework/)
* [Spanish (LATAM)](https://unit42.paloaltonetworks.com/es-la/adaptixc2-post-exploitation-framework/)
* [French](https://unit42.paloaltonetworks.com/fr/adaptixc2-post-exploitation-framework/)
* [Japanese](https://unit42.paloaltonetworks.com/ja/adaptixc2-post-exploitation-framework/)
* [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/)

# AdaptixC2: un nuevo marco de código abierto utilizado en ataques reales

![Clock Icon](https://unit42.paloaltonetworks.com/wp-content/themes/unit42-v6/dist/images/icons/icon-clock.svg) 16 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 Threat Prevention](https://unit42.paloaltonetworks.com/es-la/product-category/advanced-threat-prevention-es-la/ "Advanced Threat Prevention")[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")[Cloud-Delivered Security Services](https://unit42.paloaltonetworks.com/es-la/product-category/cloud-delivered-security-services-es-la/ "Cloud-Delivered Security Services")[Cortex](https://unit42.paloaltonetworks.com/es-la/product-category/cortex-es-la/ "Cortex")[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:
  
  * [Ofek Lahiani](https://unit42.paloaltonetworks.com/es-la/author/ofek-lahiani/)
  * [Itay Cohen](https://unit42.paloaltonetworks.com/es-la/author/itay-cohen/)

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

* ![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:
  
  * [C2](https://unit42.paloaltonetworks.com/es-la/tag/c2-es-la/)
  * [DLL](https://unit42.paloaltonetworks.com/es-la/tag/dll-es-la/)
  * [Open source](https://unit42.paloaltonetworks.com/es-la/tag/open-source-es-la/)
  * [Pentest tool](https://unit42.paloaltonetworks.com/es-la/tag/pentest-tool-es-la/)
  * [Phishing](https://unit42.paloaltonetworks.com/es-la/tag/phishing-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/adaptixc2-post-exploitation-framework/?pdf=download&lg=es-la&_wpnonce=7faf0ddf08 "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/adaptixc2-post-exploitation-framework/?pdf=print&lg=es-la&_wpnonce=7faf0ddf08 "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=AdaptixC2:%20un%20nuevo%20marco%20de%20código%20abierto%20utilizado%20en%20ataques%20reales&body=Check%20out%20this%20article%20https%3A%2F%2Funit42.paloaltonetworks.com%2Fes-la%2Fadaptixc2-post-exploitation-framework%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%2Fadaptixc2-post-exploitation-framework%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%2Fadaptixc2-post-exploitation-framework%2F&title=AdaptixC2:%20un%20nuevo%20marco%20de%20código%20abierto%20utilizado%20en%20ataques%20reales "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%2Fadaptixc2-post-exploitation-framework%2F&text=AdaptixC2:%20un%20nuevo%20marco%20de%20código%20abierto%20utilizado%20en%20ataques%20reales "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%2Fadaptixc2-post-exploitation-framework%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=AdaptixC2:%20un%20nuevo%20marco%20de%20código%20abierto%20utilizado%20en%20ataques%20reales%20https%3A%2F%2Funit42.paloaltonetworks.com%2Fes-la%2Fadaptixc2-post-exploitation-framework%2F "Share in Mastodon")

## Resumen ejecutivo

A principios de mayo de 2025, los investigadores de Unit 42 observaron que AdaptixC2 se utilizó para infectar varios sistemas.

AdaptixC2 es un marco de emulación adversaria y postexplotación de código abierto recientemente identificado, creado para los evaluadores de infiltraciones, que los actores de amenazas están utilizando en sus campañas. A diferencia de muchos marcos C2 conocidos, AdaptixC2 ha pasado prácticamente desapercibido. Hay poca documentación pública disponible que demuestre su uso en ataques reales. Nuestra investigación analiza lo que AdaptixC2 puede hacer, ayudando a los equipos de seguridad a defenderse contra él.

AdaptixC2 es un marco versátil para la explotación posterior. Los actores de amenazas lo utilizan para ejecutar comandos, transferir archivos y realizar la exfiltración de datos en sistemas comprometidos. Al ser de código abierto, los actores de amenazas pueden personalizarlo y adaptarlo fácilmente a sus objetivos específicos. Esto lo convierte en una herramienta muy flexible y peligrosa.

La aparición de AdaptixC2 como herramienta utilizada por los actores de amenazas pone de relieve una tendencia creciente entre los atacantes a utilizar marcos personalizables para evadir la detección.

Los clientes de Palo Alto Networks están mejor protegidos frente a las amenazas descritas en este artículo gracias a los siguientes productos:

* [Seguridad DNS avanzada](https://docs.paloaltonetworks.com/dns-security)
* [Prevención de amenazas avanzada](https://docs.paloaltonetworks.com/advanced-threat-prevention/administration)
* [URL Filtering avanzado](https://docs.paloaltonetworks.com/advanced-url-filtering/administration)
* [WildFire avanzado](https://docs.paloaltonetworks.com/wildfire)
* [Cortex XDR](https://docs-cortex.paloaltonetworks.com/p/XDR) y [XSIAM](https://docs-cortex.paloaltonetworks.com/p/XSIAM)

Si cree que puede haber resultado vulnerado o tiene un problema urgente, póngase en contacto con el equipo de respuesta ante incidentes de [Unit 42](https://start.paloaltonetworks.com/contact-unit42.html).

| **Temas relacionados con Unit 42** | [**Pentesting Tools**](https://unit42.paloaltonetworks.com/es-la/tag/pentest-tool-es-la/), **[C2](https://unit42.paloaltonetworks.com/es-la/tag/c2-es-la/)** |
|------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------|

## Análisis técnico del marco adversarial AdaptixC2

AdaptixC2 es un marco C2 de código abierto que recientemente hemos visto utilizado en varios ataques reales.

Identificamos dos infecciones por AdaptixC2. En un caso se utilizaron técnicas de ingeniería social. Consideramos muy probable que en el otro se utilizaran herramientas de generación de código basadas en IA.

### **Funcionalidad de AdaptixC2**

AdaptixC2 es una herramienta de equipo rojo que se puede utilizar para realizar acciones adversarias y que se puede ampliar para personalizarla. Si esto fuera utilizado por un actor de amenazas, podría controlar de forma integral las máquinas afectadas para ejecutar [una amplia gama de acciones](https://adaptix-framework.gitbook.io/adaptix-framework/extenders/agents/beacon#commands). Estas incluyen:

* Manipulación del sistema de archivos
* Listado de directorios
* Creación, modificación y eliminación de archivos y carpetas
* Enumeración de procesos en ejecución
* Terminación de aplicaciones específicas
* Ejecución de nuevos programas

Los actores de amenazas utilizan estas capacidades para establecer y mantener un punto de apoyo en un entorno, explorar más a fondo el sistema comprometido y moverse lateralmente dentro de la red.

Para facilitar la comunicación encubierta y eludir las restricciones de red, el marco admite sofisticadas capacidades de tunelización, incluida la funcionalidad de proxy SOCKS4/5 y el reenvío de puertos. Esto permite a los atacantes mantener los canales de comunicación incluso si la red está muy protegida.

AdaptixC2 está diseñado para ser modular, y utiliza "extensores" que actúan como complementos tanto para los oyentes como para los agentes. Esto permite a los hackers crear cargas útiles personalizadas y formas de evitar la detección específicas para el sistema que están atacando. AdaptixC2 también es compatible con los archivos Beacon Object Files (BOF), que permiten a los atacantes ejecutar pequeños programas personalizados escritos en C directamente dentro del proceso del agente para evadir la detección.

Los agentes de baliza de AdaptixC2 están equipados con comandos específicos para transferir datos de forma rápida y secreta. Estos agentes son compatibles con las arquitecturas x86 y x64, y se pueden generar en varios formatos, entre los que se incluyen:

* Ejecutables independientes (EXE)
* Bibliotecas de vínculos dinámicos (DLL)
* Ejecutables de servicio
* Shellcode sin procesar

Los atacantes pueden utilizar el marco AdaptixC2 para robar datos de la red comprometida. Esta funcionalidad de exfiltración de datos permite configurar el tamaño de los fragmentos para la descarga y carga de archivos, ya que la detección basada en la red tiende a considerar los segmentos más pequeños como menos sospechosos.

La interfaz AdaptixC2 muestra los agentes y sesiones vinculados en una vista gráfica. En la Figura 1 se muestra la perspectiva de un atacante sobre cómo avanzan los ataques en varias etapas y qué rutas hay disponibles para moverse por una red objetivo.
![Captura de pantalla del servidor AdaptixC2. En la interfaz se muestran varias ventanas de activos y scripts abiertas, así como una cadena de ataque representada mediante iconos de firewalls y computadoras.](https://unit42.paloaltonetworks.com/wp-content/uploads/2025/09/word-image-519367-157437-1.png) Figura 1. Vista gráfica: servidor AdaptixC2. Fuente: [AdaptixC2 GitHub](https://github.com/Adaptix-Framework/AdaptixC2).

AdaptixC2 también cuenta con funciones que ayudan al atacante a mantener la seguridad operativa (OpSec). Entre ellos se incluyen parámetros que los ayudan a mezclarse con el tráfico normal de la red:

* KillDate: establece una fecha para que la baliza deje de funcionar.
* WorkingTime: configura la baliza para que solo esté activa durante determinadas horas.

Además, los actores de amenazas pueden modificar y mejorar el agente con técnicas personalizadas de ofuscación, antianálisis y evasión, lo que lo convierte en una amenaza en constante evolución.

### **Configuración**

​La configuración de AdaptixC2 está cifrada y admite tres tipos principales de balizas a través de estructuras de perfil especializadas:

* [BEACON\_HTTP](https://adaptix-framework.gitbook.io/adaptix-framework/extenders/listeners/beacon-http) para la comunicación basada en web
* BEACON\_SMB para la comunicación mediante canalización con nombre
* BEACON\_TCP para conexiones TCP directas

El perfil HTTP es la variante de baliza más común y contiene parámetros típicos de comunicación web, tales como:

* Servidores
* Puertos
* Configuración SSL
* Métodos HTTP
* URI
* Encabezados
* Cadenas de agente de usuario

El perfil SMB utiliza canalizaciones con nombre de Windows cuando HTTP puede estar bloqueado o supervisado. El perfil TCP se utiliza para crear conexiones directas de socket con la opción de anteponer datos para el ocultamiento básico del protocolo.

AdaptixC2 incluye una configuración predeterminada integrada que muestra los parámetros de implementación típicos. El perfil HTTP predeterminado apunta a 172.16.196.1:4443 y utiliza comunicación HTTPS, con un método POST al punto final /uri.php y el parámetro X-Beacon-Id para la identificación de balizas.

En la Figura 2 se muestra cómo configurar la baliza.
![Captura de pantalla de la interfaz de configuración de Beacon, donde se muestran las pestañas de configuración principal, encabezados HTTP, página de error y carga útil. En la pestaña seleccionada se muestran los campos para configurar el host y el puerto, las direcciones de devolución de llamada, la clave SSL y otros ajustes de red.](https://unit42.paloaltonetworks.com/wp-content/uploads/2025/09/word-image-522925-157437-2.png) Figura 2. Interfaz de usuario del generador HTTP Beacon. Fuente: [Documentación de AdaptixC2](https://adaptix-framework.gitbook.io/adaptix-framework/extenders/listeners/beacon-http).

Después de hacer clic en "Crear", el generador de balizas cifra la configuración con RC4 y, a continuación, la integra en la baliza compilada. La configuración cifrada se almacena de la siguiente manera:

* 4 bytes: Tamaño de la configuración (entero de 32 bits)
* N bytes: Datos de configuración cifrados con RC4
* 16 bytes: Clave de cifrado RC4

El siguiente código es la lógica de extracción de claves, tomada de [AgentConfig.cpp](https://github.com/Adaptix-Framework/AdaptixC2/blob/main/Extenders/agent_beacon/src_beacon/beacon/AgentConfig.cpp):  
ULONG profileSize = packer-\>Unpack32(); this-\>encrypt\_key = (PBYTE) MemAllocLocal(16); memcpy(this-\>encrypt\_key, packer-\>data() + 4 + profileSize, 16); DecryptRC4(packer-\>data()+4, profileSize, this-\>encrypt\_key, 16);

|---------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 | ULONG profileSize = packer-\>Unpack32(); this-\>encrypt\_key = (PBYTE) MemAllocLocal(16); memcpy(this-\>encrypt\_key, packer-\>data() + 4 + profileSize, 16); DecryptRC4(packer-\>data()+4, profileSize, this-\>encrypt\_key, 16); |

#### Extracción de la configuración de muestras malintencionadas

Dado que el cifrado es sencillo y predecible, los defensores pueden desarrollar un extractor que extraiga automáticamente las configuraciones de las muestras. Esta herramienta de extracción debería funcionar de la misma manera que la baliza carga sus propias configuraciones.

El extractor localiza la configuración en la sección .rdata del archivo PE. A continuación, extrae el tamaño (los primeros cuatro bytes), el bloque de datos cifrados y la clave RC4 (los últimos 16 bytes). Después de utilizar la clave RC4 integrada para descifrar los datos, analiza la configuración del texto sin formato descomprimiendo los siguientes campos:

* Tipo de agente
* Indicador SSL
* Número de servidores
* Servidores/puertos
* Parámetros HTTP
* Ajustes de sincronización

Utilizando este método, hemos creado una herramienta capaz de procesar muestras AdaptixC2 y obtener sus configuraciones integradas. El código completo del extractor es compatible con la variante BEACON\_HTTP. Esta herramienta se proporciona en la sección [Ejemplo de extractor de configuración](#post-157437-_heading=h.ki0v3wxdin0x). Los investigadores pueden utilizar este extractor para analizar muestras de AdaptixC2 o adaptar el código para otras variantes.

A continuación se muestra la configuración predeterminada integrada de la baliza.  
{ "agent\_type": 3192652105, "use\_ssl": true, "servers\_count": 1, "servers": \["172.16.196.1"\], "ports": \[4443\], "http\_method": "POST", "uri": "/uri.php", "parameter": "X-Beacon-Id", "user\_agent": "Mozilla/5.0 (Windows NT 6.2; rv:20.0) Gecko/20121202 Firefox/20.0", "http\_headers": "\\r\\n", "ans\_pre\_size": 26, "ans\_size": 47, "kill\_date": 0, "working\_time": 0, "sleep\_delay": 2, "jitter\_delay": 0, "listener\_type": 0, "download\_chunk\_size": 102400 }

|-------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | { "agent\_type": 3192652105, "use\_ssl": true, "servers\_count": 1, "servers": \["172.16.196.1"\], "ports": \[4443\], "http\_method": "POST", "uri": "/uri.php", "parameter": "X-Beacon-Id", "user\_agent": "Mozilla/5.0 (Windows NT 6.2; rv:20.0) Gecko/20121202 Firefox/20.0", "http\_headers": "\\r\\n", "ans\_pre\_size": 26, "ans\_size": 47, "kill\_date": 0, "working\_time": 0, "sleep\_delay": 2, "jitter\_delay": 0, "listener\_type": 0, "download\_chunk\_size": 102400 } |

## Escenarios de AdaptixC2

### **Situación 1: el falso servicio de asistencia técnica provoca la infección por AdaptixC2**

En mayo de 2025, investigamos varios incidentes en los que los actores de amenazas instalaron balizas AdaptixC2. En algunos casos, observamos que los actores de amenazas utilizaban el mismo vector de ataque, como se muestra en la Figura 3.
![Ilustración sobre el proceso 'Una llamada falsa al servicio de asistencia conduce a AdaptixC2'. La secuencia incluye: una llamada falsa al servicio de asistencia, una computadora que ejecuta Quick Assist, un archivo de script llamado update.ps1, la descarga de shellcode desde Google Drive, el descifrado y la carga de shellcode en la memoria, y una calavera dentro de un error que representa la baliza AdaptixC2.](https://unit42.paloaltonetworks.com/wp-content/uploads/2025/09/es-LA_Fake-help-desk-support-leads-to-AdaptixC2.pptx-2-786x234.png) Figura 3. Vector de ataque de la instalación de AdaptixC2 en el equipo de la víctima. Fuente: [Publicación en X Unit 42](https://x.com/Unit42_Intel/status/1925206262184026156).

#### Compromiso inicial

Los actores de amenazas se aprovecharon de la confianza en Microsoft Teams para engañar a las personas y que les dieran acceso a los sistemas de la empresa. En un caso, los atacantes utilizaron [ataques de phishing](https://www.paloaltonetworks.com/cyberpedia/what-is-phishing) para suplantar al personal de soporte informático (con asuntos como "Asistencia técnica (externa) | Microsoft Teams"). Esto convenció a los empleados para iniciar sesiones legítimas de asistencia remota mediante herramientas como Quick Assist [Remote Monitoring and Management (RMM)](https://www.manageengine.com/remote-monitoring-management/what-is-rmm.html).

Los actores de amenazas suelen abusarde productos legítimos con fines malintencionados. Esto no implica necesariamente que el producto legítimo que se está utilizando indebidamente tenga algún defecto o sea malintencionado.

Informe [global de respuesta ante incidentes de Unit 42 de 2025: La edición sobre ingeniería social](https://unit42.paloaltonetworks.com/es-la/2025-unit-42-global-incident-response-report-social-engineering-edition/) señaló que las técnicas de ingeniería social como esta son el vector de acceso inicial más frecuente para los ataques que observamos. Este acceso inicial proporciona a los atacantes un punto de apoyo dentro del sistema objetivo, sin tener que eludir las defensas perimetrales, como los firewalls y los sistemas de detección de intrusiones.

#### Implementación y persistencia de AdaptixC2 mediante la ejecución de shellcode

Los atacantes implementaron la baliza AdaptixC2 con un cargador PowerShell de varias etapas que descarga una carga útil codificada y cifrada desde un enlace a un servicio legítimo.

Una vez descargado, el script de PowerShell descifra la carga útil mediante una clave XOR simple. En lugar de escribir la carga útil descifrada en el disco, lo que facilitaría su detección, el script aprovecha las capacidades de .NET para asignar memoria dentro del propio proceso de PowerShell. A continuación, el script copia la carga útil descifrada, que en realidad es shellcode, en esta región de memoria asignada. Este enfoque [sin archivos](https://www.paloaltonetworks.com/cyberpedia/what-are-fileless-malware-attacks) reduce significativamente la huella del atacante en el sistema.
![Captura de pantalla donde se muestra el código de un entorno de desarrollo de software, con texto principalmente en colores verde y blanco sobre un fondo oscuro. El código incluye varias funciones de programación y elementos sintácticos.](https://unit42.paloaltonetworks.com/wp-content/uploads/2025/09/word-image-527788-157437-4.png) Figura 4. Script de PowerShell para descargar y ejecutar shellcode.

El script utiliza una técnica denominada "invocación dinámica" para ejecutar el shellcode directamente desde la memoria. Para ello, utiliza el método [GetDelegateForFunctionPointer](https://learn.microsoft.com/en-us/dotnet/api/system.runtime.interopservices.marshal.getdelegateforfunctionpointer?view=net-8.0), que crea dinámicamente un delegado (un puntero de función seguro para el tipo) que apunta al comienzo del shellcode en la memoria. A continuación, el script llama a este delegado como si fuera una función normal, y ejecuta el shellcode de forma efectiva sin escribir un archivo ejecutable en el disco. Para garantizar que el proceso malicioso se inicie automáticamente después de reiniciar el sistema, el script crea un acceso directo en la carpeta de inicio. En la Figura 4 se muestra el script de PowerShell.
![En una captura de pantalla se muestra un script de PowerShell sobre un fondo azul, que incluye comandos para crear un elemento de inicio en Windows y gestionar errores.](https://unit42.paloaltonetworks.com/wp-content/uploads/2025/09/word-image-530764-157437-5.png) Figura 5. Script de PowerShell para instalar la baliza AdaptixC2.

La variante de la baliza cargada en este ataque tenía la siguiente configuración:  
{ "agent\_type": 3192652105, "use\_ssl": true, "servers\_count": 1, "servers": \[ "tech-system\[.\]online" \], "ports": \[ 443 \], "http\_method": "POST", "uri": "/endpoint/api", "parameter": "X-App-Id", "user\_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.6167.160 Safari/537.36", "http\_headers": "\\r\\n", "ans\_pre\_size": 26, "ans\_size": 47, "kill\_date": 0, "working\_time": 0, "sleep\_delay": 4, "jitter\_delay": 0, "listener\_type": 0, "download\_chunk\_size": 102400 }

|-------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | { "agent\_type": 3192652105, "use\_ssl": true, "servers\_count": 1, "servers": \[ "tech-system\[.\]online" \], "ports": \[ 443 \], "http\_method": "POST", "uri": "/endpoint/api", "parameter": "X-App-Id", "user\_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.6167.160 Safari/537.36", "http\_headers": "\\r\\n", "ans\_pre\_size": 26, "ans\_size": 47, "kill\_date": 0, "working\_time": 0, "sleep\_delay": 4, "jitter\_delay": 0, "listener\_type": 0, "download\_chunk\_size": 102400 } |

#### Actividad posterior a la explotación y contención

Después de la implementación exitosa de AdaptixC2, los atacantes empezaron a hacer reconocimiento, con herramientas de línea de comandos para juntar información sobre los sistemas y la red que habían sido comprometidos. Esto incluía comandos de detección como nltest.exe, whoami.exe e ipconfig.exe.

A continuación, la baliza estableció comunicación con un servidor remoto, lo que permitió a los actores de amenazas obtener C2 en la máquina infectada.

### **Situación 2: infección relacionada con un script generado por IA**

En otro caso, los actores de amenazas implementaron un script de PowerShell diseñado para implementar balizas AdaptixC2. [Evaluamos con un alto grado de confianza](#post-157437-_heading=h.8fqfqmvrq38f) que este script fue generado por IA. Esta implementación se realizó tanto mediante la inyección de shellcode en memoria como a través de un mecanismo de persistencia basado en el [secuestro de DLL](https://unit42.paloaltonetworks.com/dll-hijacking-techniques/). El script, que se muestra en la Figura 5, se centra en permanecer oculto en el sistema afectado para proporcionar a los hackers un punto de apoyo sólido.
![Captura de pantalla de una pantalla de computadora donde se muestra código con resaltado de sintaxis. El código fue generado por IA.](https://unit42.paloaltonetworks.com/wp-content/uploads/2025/09/word-image-533093-157437-6.png) Figura 6. Instalador de PowerShell generado por IA para AdaptixC2.

#### Análisis detallado del PowerShell generado por IA

* **Descarga y decodificación del shellcode:** el script descarga una carga útil de shellcode codificada en Base64 desde un servidor remoto con el método [Invoke-RestMethod](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/invoke-restmethod?view=powershell-7.5). A continuación, se decodifica el contenido descargado.
* **Asignación de memoria, copia de shellcode y cambio de la protección de memoria:** el script asigna un bloque de memoria no gestionada. A continuación, el shellcode AdaptixC2 se copia en la memoria asignada y cambia los atributos de protección de memoria de la región de memoria asignada mediante [VirtualProtect](https://learn.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-virtualprotect) a 0x40 ([PAGE\_EXECUTE\_READWRITE](https://learn.microsoft.com/en-us/windows/win32/memory/memory-protection-constants)). Esto permite la ejecución del shellcode.
* **Ejecución de shellcode mediante invocación dinámica:** como en el caso anterior, el atacante utilizó GetDelegateForFunctionPointer para crear una instancia delegada que apunta al comienzo del shellcode en la memoria. A continuación, el atacante utilizó el método Invoke() para ejecutar el shellcode, lanzando la baliza en memoria.
* **Persistencia del secuestro de DLL:** El script apunta al directorio APPDATA\\Microsoft\\Windows\\Templates para el secuestro de DLL, a través del archivo msimg32.dll. Este DLL también *es* una versión de baliza.
* **Persistencia mediante la clave de ejecución del registro:** El script crea una entrada de registro en la [clave de ejecución](https://attack.mitre.org/techniques/T1547/001/) denominada "Updater", con un comando PowerShell que ejecuta el script loader.ps1. Esto garantiza que el script loader.ps1 se ejecute cada vez que el usuario inicie sesión, para ejecutar la baliza.

#### Generación de scripts con IA

La estructura y composición de este script de PowerShell sugiere claramente que el atacante utilizó[generación asistida por IA](https://www.paloaltonetworks.com/blog/2025/05/unit-42-develops-agentic-ai-attack-framework/). Los siguientes elementos estilísticos se observan comúnmente en el código generado por herramientas de IA:

* Comentarios detallados y numerados:
  * "# === \[1\] Descargar y decodificar el shellcode ==="
* Iconos de marca de verificación en el mensaje de salida:
  * Escribir salida "\[✔\] Persistencia establecida mediante la clave Run y secuestro de DLL. DLL colocada en $templatesPath"

Evaluamos con un alto grado de confianza que el código se generó con la ayuda de la IA. Esto se basa en los factores anteriores, así como en las pruebas recopiladas del servidor del atacante y los resultados extraídos de dos detectores de IA independientes.

Las herramientas de IA sin las [medidas de seguridad adecuadas](https://unit42.paloaltonetworks.com/es-la/comparing-llm-guardrails-across-genai-platforms/) pueden permitir a los atacantes desarrollar rápidamente código malintencionado, lo que facilita la ejecución de operaciones en redes infectadas.

### **Similitudes entre los casos**

En ambos incidentes se observó un patrón constante:

* Cargadores basados en PowerShell
  * Los actores de amenazas utilizaron estos cargadores para implementar la baliza AdaptixC2, dando prioridad al acceso sigiloso y persistente.
* Descargar una carga útil desde un servidor remoto y ejecutarla en la memoria.
  * El uso de un recurso legítimo ayudó a los atacantes a pasar desapercibidos, al minimizar los rastros detectables en el disco.
* Basándose en las capacidades de .NET para la asignación de memoria y la invocación dinámica.
  * Los actores de amenazas aprovecharon las funcionalidades integradas del sistema, como el método GetDelegateForFunctionPointer, para ejecutar shellcode, con el fin de ganar en eficiencia y sigilo.
* Prevención de la eliminación de balizas mediante mecanismos de persistencia
  * Mientras que el primer script dependía únicamente de un acceso directo en la carpeta de inicio para su persistencia, el segundo añadía el secuestro de DLL.
  * Esto proporciona a los atacantes más formas de permanecer en el sistema comprometido.
* Uso de convenciones de nomenclatura similares para script y claves de ejecución
  * En un caso, los atacantes denominaron el script malicioso update.ps1. En otro, la clave de ejecución para la persistencia se denominó Updater.
  * Esta denominación ayuda a que los scripts y las claves se mezclen con los procesos legítimos del sistema.

## Aumento de la prevalencia del marco AdaptixC2

Nuestra telemetría e inteligencia de amenazas muestran que AdaptixC2 se está volviendo más común. Seguimos identificando nuevos servidores AdaptixC2, lo que sugiere que más actores de amenazas están adoptando este marco como parte de su kit de herramientas de ataque.

Esta tendencia va más allá de las situaciones típicas posteriores a la explotación. Por ejemplo, los atacantes implementaron el ransomware Fog junto con AdaptixC2 en un reciente [ataque a una institución financiera en Asia](https://www.security.com/threat-intelligence/fog-ransomware-attack). Esto demuestra que AdaptixC2 es versátil y puede utilizarse con otras herramientas malintencionadas, como el ransomware, para alcanzar objetivos más amplios.

## Conclusión

AdaptixC2 es una amenaza adaptable, como lo demuestra su creciente popularidad entre los actores de amenazas y la complejidad de sus técnicas de implementación. La modularidad del marco, combinada con el potencial de la generación de código asistida por IA, podría permitir a los actores de amenazas evolucionar rápidamente sus tácticas. Los equipos de seguridad deben permanecer al tanto de las capacidades de AdaptixC2 y adaptar de forma proactiva sus defensas para contrarrestar esta amenaza.

Los clientes de Palo Alto Networks están mejor protegidos frente a las amenazas mencionadas gracias a los siguientes productos y servicios:

* [URL Filtering avanzado](https://docs.paloaltonetworks.com/advanced-url-filtering/administration) y[Seguridad DNS avanzada](https://docs.paloaltonetworks.com/dns-security) identifican como malintencionados los dominios y URL conocidos asociados con esta actividad.
* La [prevención de amenazas avanzada](https://docs.paloaltonetworks.com/advanced-threat-prevention/administration) cuenta con una detección integrada basada en aprendizaje automático que puede detectar exploits en tiempo real.
* Los modelos de aprendizaje automático y las técnicas de análisis de [Advanced WildFire](https://docs.paloaltonetworks.com/wildfire) se han revisado y actualizado a la luz de los indicadores compartidos en esta investigación.
* [Cortex XDR](https://docs-cortex.paloaltonetworks.com/p/XDR) y [XSIAM](https://docs-cortex.paloaltonetworks.com/p/XSIAM) ayudan a prevenir el malware mediante el uso del [motor de prevención de malware](https://docs-cortex.paloaltonetworks.com/r/Cortex-XDR/Cortex-XDR-4.x-Documentation/Endpoint-protection). Este enfoque combina varias capas de protección diseñadas para evitar que el malware conocido y desconocido cause daños a sus endpoints. Las técnicas de mitigación que emplea el motor de prevención de malware varían según el tipo de endpoint.

Si cree que puede haber resultado vulnerado o tiene un problema urgente, póngase en contacto con el [equipo de respuesta ante 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 Oriente Medio: +31.20.299.3130
* Asia: +65.6983.8730
* Japón: +81.50.1790.0200
* Australia: +61.2.4062.7950
* India: 00080005045107

Palo Alto Networks ha compartido estos resultados con nuestros compañeros de Cyber Threat Alliance (CTA). Los miembros de CTA utilizan esta inteligencia para implementar rápidamente medidas de protección para sus clientes y desarticular sistemáticamente a los ciberdelincuentes. Obtenga más información sobre [Cyber Threat Alliance](https://www.cyberthreatalliance.org).

## Indicadores de vulneración

|------------------------------------------------------------------|----------|-------------------------------------------------------|
| **Valor**                                                        | **Tipo** | **Descripción**                                       |
| bdb1b9e37f6467b5f98d151a43f280f319bacf18198b22f55722292a832933ab | SHA256   | Script de PowerShell que instala una baliza AdaptixC2 |
| 83AC38FB389A56A6BD5EB39ABF2AD81FAB84A7382DA296A855F62F3CDD9D629D | SHA256   | Script de PowerShell que instala una baliza AdaptixC2 |
| 19c174f74b9de744502cdf47512ff10bba58248aa79a872ad64c23398e19580b | SHA256   | Script de PowerShell que instala una baliza AdaptixC2 |
| 750b29ca6d52a55d0ba8f13e297244ee8d1b96066a9944f4aac88598ae000f41 | SHA256   | Script de PowerShell que instala una baliza AdaptixC2 |
| b81aa37867f0ec772951ac30a5616db4d23ea49f7fd1a07bb1f1f45e304fc625 | SHA256   | Baliza AdaptixC2 como DLL                             |
| df0d4ba2e0799f337daac2b0ad7a64d80b7bcd68b7b57d2a26e47b2f520cc260 | SHA256   | Baliza AdaptixC2 como EXE                             |
| AD96A3DAB7F201DD7C9938DCF70D6921849F92C1A20A84A28B28D11F40F0FB06 | SHA256   | Shellcode que instala la baliza AdaptixC2             |
| tech-system\[.\]online                                           | Dominio  | Dominio AdaptixC2                                     |
| protoflint\[.\]com                                               | Dominio  | Dominio AdaptixC2                                     |
| novelumbsasa\[.\]art                                             | Dominio  | Dominio AdaptixC2                                     |
| picasosoftai\[.\]shop                                            | Dominio  | Dominio AdaptixC2                                     |
| dtt.alux\[.\]cc                                                  | Dominio  | Dominio AdaptixC2                                     |
| moldostonesupplies\[.\]pro                                       | Dominio  | Dominio AdaptixC2                                     |
| x6iye\[.\]site                                                   | Dominio  | Dominio AdaptixC2                                     |
| buenohuy\[.\]live                                                | Dominio  | Dominio AdaptixC2                                     |
| firetrue\[.\]live                                                | Dominio  | Dominio AdaptixC2                                     |
| lokipoki\[.\]live                                                | Dominio  | Dominio AdaptixC2                                     |
| veryspec\[.\]live                                                | Dominio  | Dominio AdaptixC2                                     |
| mautau\[.\]live                                                  | Dominio  | Dominio AdaptixC2                                     |
| muatay\[.\]live                                                  | Dominio  | Dominio AdaptixC2                                     |
| nicepliced\[.\]live                                              | Dominio  | Dominio AdaptixC2                                     |
| nissi\[.\]bg                                                     | Dominio  | Dominio AdaptixC2                                     |
| express1solutions\[.\]com                                        | Dominio  | Dominio AdaptixC2                                     |
| iorestore\[.\]com                                                | Dominio  | Dominio AdaptixC2                                     |
| doamin\[.\]cc                                                    | Dominio  | Dominio AdaptixC2                                     |
| regonalone\[.\]com                                               | Dominio  | Dominio AdaptixC2                                     |

## Reglas de Yara

Los defensores pueden utilizar estas reglas de Yara para comprobar la presencia de balizas AdaptixC2 en las máquinas.

#### Baliza AdaptixC2 HTTP/SMB/TCP

rule u42\_hacktool\_beacon\_adaptixC2 { meta: description = "Detects AdaptixC2 beacon via basic functions" reference = "https://github.com/Adaptix-Framework/AdaptixC2" strings: $FileTimeToUnixTimestamp = {D1 65 F8 83 7D F4 1F 7E 17 8B 55 E4} $Proxyfire\_RecvProxy = {B9 FC FF 0F 00 E8 6A 04 00 00} $timeCalc1 = {8D 82 A0 05 00 00 89 44 24 3C EB 07} $timeCalc2 = {FF D2 0F B7 44 24 28 66 3B} $b64\_encoded\_size = {83 C0 01 39 45 18 7E 22 8B 45 E4 C1 E0 08 89 C1} $manage = {C6 44 24 5F 00 48 8B 45 10 48 8B 00} condition: any of them }

|-------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | rule u42\_hacktool\_beacon\_adaptixC2 { meta: description = "Detects AdaptixC2 beacon via basic functions" reference = "https://github.com/Adaptix-Framework/AdaptixC2" strings: $FileTimeToUnixTimestamp = {D1 65 F8 83 7D F4 1F 7E 17 8B 55 E4} $Proxyfire\_RecvProxy = {B9 FC FF 0F 00 E8 6A 04 00 00} $timeCalc1 = {8D 82 A0 05 00 00 89 44 24 3C EB 07} $timeCalc2 = {FF D2 0F B7 44 24 28 66 3B} $b64\_encoded\_size = {83 C0 01 39 45 18 7E 22 8B 45 E4 C1 E0 08 89 C1} $manage = {C6 44 24 5F 00 48 8B 45 10 48 8B 00} condition: any of them } |

#### Baliza AdaptixC2 Go

rule u42\_hacktool\_beacon\_adaptixC2 { meta: description = "Detects AdaptixC2 beacon via basic functions" reference = "https://github.com/Adaptix-Framework/AdaptixC2" strings: $FileTimeToUnixTimestamp = {D1 65 F8 83 7D F4 1F 7E 17 8B 55 E4} $Proxyfire\_RecvProxy = {B9 FC FF 0F 00 E8 6A 04 00 00} $timeCalc1 = {8D 82 A0 05 00 00 89 44 24 3C EB 07} $timeCalc2 = {FF D2 0F B7 44 24 28 66 3B} $b64\_encoded\_size = {83 C0 01 39 45 18 7E 22 8B 45 E4 C1 E0 08 89 C1} $manage = {C6 44 24 5F 00 48 8B 45 10 48 8B 00} condition: any of them }

|-------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | rule u42\_hacktool\_beacon\_adaptixC2 { meta: description = "Detects AdaptixC2 beacon via basic functions" reference = "https://github.com/Adaptix-Framework/AdaptixC2" strings: $FileTimeToUnixTimestamp = {D1 65 F8 83 7D F4 1F 7E 17 8B 55 E4} $Proxyfire\_RecvProxy = {B9 FC FF 0F 00 E8 6A 04 00 00} $timeCalc1 = {8D 82 A0 05 00 00 89 44 24 3C EB 07} $timeCalc2 = {FF D2 0F B7 44 24 28 66 3B} $b64\_encoded\_size = {83 C0 01 39 45 18 7E 22 8B 45 E4 C1 E0 08 89 C1} $manage = {C6 44 24 5F 00 48 8B 45 10 48 8B 00} condition: any of them } |

#### AdaptixC2 Go Beacon

rule u42\_hacktool\_beaconGo\_adaptixC2 { meta: description = "Detects AdaptixC2 beacon in GO via basic functions" reference = "https://github.com/Adaptix-Framework/AdaptixC2/tree/a7401fa3fdbc7ae6b632c40570292f844e40ff40/Extenders/agent\_gopher" strings: $GetProcesses = {E8 96 4D E1 FF E8 96 4D E1 FF E8 96 4D E1 FF} $ConnRead = {0F 8E BD 00 00 00 4C 89 44 24 30 4C 89 54 24 40} $normalizedPath = {48 85 C9 74 0A 31 C0 31 DB 48 83 C4 38 5D C3 90 0F 1F 40 00} $Linux\_GetOsVersion = {48 8D 05 51 D6 10 00 BB 0F 00 00 00} $Mac\_GetOsVersion = {48 8D 05 AE 5A 0A 00 BB 30 00 00 00} condition: any of them }

|-------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | rule u42\_hacktool\_beaconGo\_adaptixC2 { meta: description = "Detects AdaptixC2 beacon in GO via basic functions" reference = "https://github.com/Adaptix-Framework/AdaptixC2/tree/a7401fa3fdbc7ae6b632c40570292f844e40ff40/Extenders/agent\_gopher" strings: $GetProcesses = {E8 96 4D E1 FF E8 96 4D E1 FF E8 96 4D E1 FF} $ConnRead = {0F 8E BD 00 00 00 4C 89 44 24 30 4C 89 54 24 40} $normalizedPath = {48 85 C9 74 0A 31 C0 31 DB 48 83 C4 38 5D C3 90 0F 1F 40 00} $Linux\_GetOsVersion = {48 8D 05 51 D6 10 00 BB 0F 00 00 00} $Mac\_GetOsVersion = {48 8D 05 AE 5A 0A 00 BB 30 00 00 00} condition: any of them } |

#### Cargador AdaptixC2

rule u42\_hacktool\_adaptixC2\_loader { meta: description = "Detects AdaptixC2 shellcode loader via API Hashing" reference = "https://github.com/Adaptix-Framework/AdaptixC2/blob/main/Extenders/agent\_beacon/src\_beacon/beacon/ApiDefines.h" strings: $hash\_NtFlushInstructionCache = { 9E 65 A1 91 } $hash\_VirtualAlloc = { 76 63 CE 63 } $hash\_GetProcAddress = { DE 2A 4F 18 } $hash\_LoadLibraryA = { FA D0 59 11} $Calc\_Func\_resolve\_ApiFuncs = {06 00 00 0F B6 11 48 FF C1 85 D2 74 14 44 8D 42} condition: ( $hash\_NtFlushInstructionCache and $hash\_VirtualAlloc and $hash\_GetProcAddress and $hash\_LoadLibraryA ) or ( $Calc\_Func\_resolve\_ApiFuncs ) }

|-------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | rule u42\_hacktool\_adaptixC2\_loader { meta: description = "Detects AdaptixC2 shellcode loader via API Hashing" reference = "https://github.com/Adaptix-Framework/AdaptixC2/blob/main/Extenders/agent\_beacon/src\_beacon/beacon/ApiDefines.h" strings: $hash\_NtFlushInstructionCache = { 9E 65 A1 91 } $hash\_VirtualAlloc = { 76 63 CE 63 } $hash\_GetProcAddress = { DE 2A 4F 18 } $hash\_LoadLibraryA = { FA D0 59 11} $Calc\_Func\_resolve\_ApiFuncs = {06 00 00 0F B6 11 48 FF C1 85 D2 74 14 44 8D 42} condition: ( $hash\_NtFlushInstructionCache and $hash\_VirtualAlloc and $hash\_GetProcAddress and $hash\_LoadLibraryA ) or ( $Calc\_Func\_resolve\_ApiFuncs ) } |

## Normas de caza

* **Descripción de la consulta**: La siguiente consulta XQL busca actividades de phishing realizadas a través de la aplicación Teams que conducen a la ejecución de RMM. Estos atributos suelen ser el objetivo de los atacantes para implementar balizas AdaptixC2.
* **Notas de la investigación** : Comience por comprobar el título de la sesión de usuario. Busque la ejecución de la herramienta RMM y la creación de procesos secundarios o archivos mediante la herramienta RMM. Busque alertas o ejecuciones sospechosas, como cmd o PowerShell, por parte del usuario comprometido (actor\_effective\_username).

config case\_sensitive = false | dataset=xdr\_data | fields \_time as TeamsTime ,event\_type,agent\_hostname,actor\_effective\_username,event\_sub\_type, title, actor\_process\_image\_name as teams\_image\_name, actor\_process\_image\_sha256 , actor\_process\_image\_command\_line, agent\_hostname, \_time, action\_process\_image\_name, agent\_os\_type, agent\_id | filter agent\_os\_type = ENUM.AGENT\_OS\_WINDOWS and event\_type = ENUM.USER\_SESSION and teams\_image\_name in ("ms-teams.exe","updater.exe") and ((title contains "(external)" and title not contains "Chat |" ) and (title contains "help" )) | join type = inner ( dataset=xdr\_data | fields \_time as RmmStartTime ,agent\_os\_type , action\_file\_extension , event\_type,agent\_hostname,actor\_effective\_username,event\_sub\_type, actor\_process\_image\_name , action\_process\_image\_path, agent\_hostname, action\_process\_image\_name, agent\_id, event\_id | filter agent\_os\_type = ENUM.AGENT\_OS\_WINDOWS and (event\_type=ENUM.PROCESS and event\_sub\_type = ENUM.PROCESS\_START and action\_process\_image\_name in ("\*quickassist.exe","\*anydesk.exe","\*screenconnect.\*.exe","\*logmein.exe")) ) as rmm rmm.agent\_id = agent\_id and rmm.actor\_effective\_username = actor\_effective\_username and (timestamp\_diff(rmm.RmmStartTime,TeamsTime , "MINUTE") \< 10 and timestamp\_diff(rmm.RmmStartTime,TeamsTime , "MINUTE") \>= 0) | comp values(TeamsTime) as \_time ,values(RmmStartTime) as RmmStartTime, values(teams\_image\_name) as teams\_image\_name, values(action\_process\_image\_path) as action\_process\_image\_name, values(actor\_process\_image\_name) as ActorProcess, count(Title) as CountOfTitle by title,actor\_effective\_username,agent\_hostname , agent\_id, event\_id | filter (array\_length(action\_process\_image\_name)\>0)

|-------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | config case\_sensitive = false | dataset=xdr\_data | fields \_time as TeamsTime ,event\_type,agent\_hostname,actor\_effective\_username,event\_sub\_type, title, actor\_process\_image\_name as teams\_image\_name, actor\_process\_image\_sha256 , actor\_process\_image\_command\_line, agent\_hostname, \_time, action\_process\_image\_name, agent\_os\_type, agent\_id | filter agent\_os\_type = ENUM.AGENT\_OS\_WINDOWS and event\_type = ENUM.USER\_SESSION and teams\_image\_name in ("ms-teams.exe","updater.exe") and ((title contains "(external)" and title not contains "Chat |" ) and (title contains "help" )) | join type = inner ( dataset=xdr\_data | fields \_time as RmmStartTime ,agent\_os\_type , action\_file\_extension , event\_type,agent\_hostname,actor\_effective\_username,event\_sub\_type, actor\_process\_image\_name , action\_process\_image\_path, agent\_hostname, action\_process\_image\_name, agent\_id, event\_id | filter agent\_os\_type = ENUM.AGENT\_OS\_WINDOWS and (event\_type=ENUM.PROCESS and event\_sub\_type = ENUM.PROCESS\_START and action\_process\_image\_name in ("\*quickassist.exe","\*anydesk.exe","\*screenconnect.\*.exe","\*logmein.exe")) ) as rmm rmm.agent\_id = agent\_id and rmm.actor\_effective\_username = actor\_effective\_username and (timestamp\_diff(rmm.RmmStartTime,TeamsTime , "MINUTE") \< 10 and timestamp\_diff(rmm.RmmStartTime,TeamsTime , "MINUTE") \>= 0) | comp values(TeamsTime) as \_time ,values(RmmStartTime) as RmmStartTime, values(teams\_image\_name) as teams\_image\_name, values(action\_process\_image\_path) as action\_process\_image\_name, values(actor\_process\_image\_name) as ActorProcess, count(Title) as CountOfTitle by title,actor\_effective\_username,agent\_hostname , agent\_id, event\_id | filter (array\_length(action\_process\_image\_name)\>0) |

## Ejemplo de extractor de configuración

El siguiente código es un ejemplo de un extractor de configuraciones que extrae configuraciones de archivos de balizas HTTP.  
import struct import json import sys from typing import Dict, Any from malduck import procmempe, rc4, int32, enhex class ConfigParser: def **init**(self, data: bytes): self.data = data self.offset = 0 def unpack32(self) -\> int: value = struct.unpack('\<I', self.data\[self.offset:self.offset + 4\])\[0\] self.offset += 4 return value def unpack16(self) -\> int: """Unpack a 16-bit unsigned integer (little-endian)""" value = struct.unpack('\<H', self.data\[self.offset:self.offset + 2\])\[0\] self.offset += 2 return value def unpack8(self) -\> int: """Unpack an 8-bit unsigned integer""" value = self.data\[self.offset\] self.offset += 1 return value def unpack\_string(self) -\> str: """Unpack a length-prefixed string""" length = self.unpack32() string\_data = self.data\[self.offset:self.offset + length\] self.offset += length if string\_data and string\_data\[-1\] == 0: string\_data = string\_data\[:-1\] return string\_data.decode('utf-8', errors='replace') def unpack\_bytes(self, length: int) -\> bytes: """Unpack a fixed number of bytes""" data = self.data\[self.offset:self.offset + length\] self.offset += length return data def parse\_beacon\_http\_config(data: bytes) -\> Dict\[str, Any\]: """Parse BEACON\_HTTP configuration from raw bytes""" parser = ConfigParser(data) config = {} try: # Parse agent type config\['agent\_type'\] = parser.unpack32() # Parse HTTP profile config\['use\_ssl'\] = bool(parser.unpack8()) config\['servers\_count'\] = parser.unpack32() # Parse servers and ports config\['servers'\] = \[\] config\['ports'\] = \[\] for i in range(config\['servers\_count'\]): server = parser.unpack\_string() port = parser.unpack32() config\['servers'\].append(server) config\['ports'\].append(port) # Parse HTTP settings config\['http\_method'\] = parser.unpack\_string() config\['uri'\] = parser.unpack\_string() config\['parameter'\] = parser.unpack\_string() config\['user\_agent'\] = parser.unpack\_string() config\['http\_headers'\] = parser.unpack\_string() # Parse answer sizes config\['ans\_pre\_size'\] = parser.unpack32() ans\_size\_raw = parser.unpack32() config\['ans\_size'\] = ans\_size\_raw + config\['ans\_pre\_size'\] # Parse timing settings config\['kill\_date'\] = parser.unpack32() config\['working\_time'\] = parser.unpack32() config\['sleep\_delay'\] = parser.unpack32() config\['jitter\_delay'\] = parser.unpack32() # Default values from constructor config\['listener\_type'\] = 0 config\['download\_chunk\_size'\] = 0x19000 return config except Exception as e: print(f"Failed to parse configuration: {e}") raise def parse\_config(data: bytes, beacon\_type: str = "BEACON\_HTTP") -\> Dict\[str, Any\]: """Main entry point for parsing beacon configurations""" if beacon\_type == "BEACON\_HTTP": return parse\_beacon\_http\_config(data) else: raise NotImplementedError(f"Parser for {beacon\_type} not implemented") if **name** == "**main**": if len(sys.argv) \< 2: print("Usage: python extractor.py \<path\_to\_config\_file\>") sys.exit(1) passed\_arg = sys.argv\[1\] try: sample = procmempe.from\_file(passed\_arg) rdata\_section = sample.pe.section(".rdata") config\_structure = sample.readp(rdata\_section.PointerToRawData, rdata\_section.SizeOfRawData) config\_size = int32(config\_structure) encrypted\_config = config\_structure\[4:config\_size+4\] rc4\_key = config\_structure\[config\_size + 4 : config\_size + 4 + 16\] except Exception as e: print(f"Error reading file or extracting configuration: {e}") print("Using provided encrypted configuration bytes directly.") try: config\_structure = bytes.fromhex(passed\_arg) config\_size = int32(config\_structure) encrypted\_config = config\_structure\[4:config\_size+4\] rc4\_key = config\_structure\[config\_size + 4 : config\_size + 4 + 16\] except Exception as e: print(f"Failed to process provided argument as configuration bytes: {e}") sys.exit(1) try: decrypted\_config = rc4(rc4\_key, encrypted\_config) print(f"Decrypted configuration size: {len(decrypted\_config)} bytes") print(f"Decrypted configuration content: {decrypted\_config}") print("Decrypted configuration (hex): %s", enhex(decrypted\_config)) config = parse\_config(decrypted\_config) print("Parsed configuration:") print(json.dumps(config, indent=2)) except Exception as e: print(f"Error parsing configuration: {e}")

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 | import struct import json import sys from typing import Dict, Any from malduck import procmempe, rc4, int32, enhex class ConfigParser: def **init**(self, data: bytes): self.data = data self.offset = 0 def unpack32(self) -\> int: value = struct.unpack('\<I', self.data\[self.offset:self.offset + 4\])\[0\] self.offset += 4 return value def unpack16(self) -\> int: """Unpack a 16-bit unsigned integer (little-endian)""" value = struct.unpack('\<H', self.data\[self.offset:self.offset + 2\])\[0\] self.offset += 2 return value def unpack8(self) -\> int: """Unpack an 8-bit unsigned integer""" value = self.data\[self.offset\] self.offset += 1 return value def unpack\_string(self) -\> str: """Unpack a length-prefixed string""" length = self.unpack32() string\_data = self.data\[self.offset:self.offset + length\] self.offset += length if string\_data and string\_data\[-1\] == 0: string\_data = string\_data\[:-1\] return string\_data.decode('utf-8', errors='replace') def unpack\_bytes(self, length: int) -\> bytes: """Unpack a fixed number of bytes""" data = self.data\[self.offset:self.offset + length\] self.offset += length return data def parse\_beacon\_http\_config(data: bytes) -\> Dict\[str, Any\]: """Parse BEACON\_HTTP configuration from raw bytes""" parser = ConfigParser(data) config = {} try: # Parse agent type config\['agent\_type'\] = parser.unpack32() # Parse HTTP profile config\['use\_ssl'\] = bool(parser.unpack8()) config\['servers\_count'\] = parser.unpack32() # Parse servers and ports config\['servers'\] = \[\] config\['ports'\] = \[\] for i in range(config\['servers\_count'\]): server = parser.unpack\_string() port = parser.unpack32() config\['servers'\].append(server) config\['ports'\].append(port) # Parse HTTP settings config\['http\_method'\] = parser.unpack\_string() config\['uri'\] = parser.unpack\_string() config\['parameter'\] = parser.unpack\_string() config\['user\_agent'\] = parser.unpack\_string() config\['http\_headers'\] = parser.unpack\_string() # Parse answer sizes config\['ans\_pre\_size'\] = parser.unpack32() ans\_size\_raw = parser.unpack32() config\['ans\_size'\] = ans\_size\_raw + config\['ans\_pre\_size'\] # Parse timing settings config\['kill\_date'\] = parser.unpack32() config\['working\_time'\] = parser.unpack32() config\['sleep\_delay'\] = parser.unpack32() config\['jitter\_delay'\] = parser.unpack32() # Default values from constructor config\['listener\_type'\] = 0 config\['download\_chunk\_size'\] = 0x19000 return config except Exception as e: print(f"Failed to parse configuration: {e}") raise def parse\_config(data: bytes, beacon\_type: str = "BEACON\_HTTP") -\> Dict\[str, Any\]: """Main entry point for parsing beacon configurations""" if beacon\_type == "BEACON\_HTTP": return parse\_beacon\_http\_config(data) else: raise NotImplementedError(f"Parser for {beacon\_type} not implemented") if **name** == "**main**": if len(sys.argv) \< 2: print("Usage: python extractor.py \<path\_to\_config\_file\>") sys.exit(1) passed\_arg = sys.argv\[1\] try: sample = procmempe.from\_file(passed\_arg) rdata\_section = sample.pe.section(".rdata") config\_structure = sample.readp(rdata\_section.PointerToRawData, rdata\_section.SizeOfRawData) config\_size = int32(config\_structure) encrypted\_config = config\_structure\[4:config\_size+4\] rc4\_key = config\_structure\[config\_size + 4 : config\_size + 4 + 16\] except Exception as e: print(f"Error reading file or extracting configuration: {e}") print("Using provided encrypted configuration bytes directly.") try: config\_structure = bytes.fromhex(passed\_arg) config\_size = int32(config\_structure) encrypted\_config = config\_structure\[4:config\_size+4\] rc4\_key = config\_structure\[config\_size + 4 : config\_size + 4 + 16\] except Exception as e: print(f"Failed to process provided argument as configuration bytes: {e}") sys.exit(1) try: decrypted\_config = rc4(rc4\_key, encrypted\_config) print(f"Decrypted configuration size: {len(decrypted\_config)} bytes") print(f"Decrypted configuration content: {decrypted\_config}") print("Decrypted configuration (hex): %s", enhex(decrypted\_config)) config = parse\_config(decrypted\_config) print("Parsed configuration:") print(json.dumps(config, indent=2)) except Exception as e: print(f"Error parsing configuration: {e}") |

## Recursos adicionales

* [AdaptixC2:](https://github.com/Adaptix-Framework/AdaptixC2) GitHub
* [Fog Ransomware: Conjunto de herramientas inusuales utilizadas en un ataque reciente:](https://www.security.com/threat-intelligence/fog-ransomware-attack) [Symantec](https://www.security.com/)
* [Informe de respuesta ante incidentes de Unit 42 de 2025: Edición de ingeniería social:](https://unit42.paloaltonetworks.com/es-la/2025-unit-42-global-incident-response-report-social-engineering-edition/) Unit 42
* [Qué es el phishing:](https://www.paloaltonetworks.com/cyberpedia/what-is-phishing) Palo Alto Networks
* [Qué es RMM:](https://www.manageengine.com/remote-monitoring-management/what-is-rmm.html) ManageEngine
* [Qué son los ataques de malware sin archivo:](https://www.paloaltonetworks.com/cyberpedia/what-are-fileless-malware-attacks) Palo Alto Networks
* [Técnicas de secuestro de DLL:](https://unit42.paloaltonetworks.com/dll-hijacking-techniques/) Unit 42
* [Unit 42 desarrolla un marco de ataque de IA autónoma:](https://www.paloaltonetworks.com/blog/2025/05/unit-42-develops-agentic-ai-attack-framework/) Palo Alto Networks
* [Método Marshal.GetDelegateForFunctionPointer:](https://learn.microsoft.com/en-us/dotnet/api/system.runtime.interopservices.marshal.getdelegateforfunctionpointer?view=net-8.0) Microsoft Docs
* [Invoke-RestMethod (PowerShell):](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/invoke-restmethod?view=powershell-7.5) Microsoft Docs
* [Función VirtualProtect:](https://learn.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-virtualprotect) Microsoft Docs
* [Constantes de protección de memoria:](https://learn.microsoft.com/en-us/windows/win32/memory/memory-protection-constants) Microsoft Docs
* [MITRE ATT\&CK T1547.001:](https://attack.mitre.org/techniques/T1547/001/) MITRE
  Volver al principio

### Etiquetas

* [C2](https://unit42.paloaltonetworks.com/es-la/tag/c2-es-la/ "C2")
* [DLL](https://unit42.paloaltonetworks.com/es-la/tag/dll-es-la/ "DLL")
* [Open source](https://unit42.paloaltonetworks.com/es-la/tag/open-source-es-la/ "open source")
* [Pentest tool](https://unit42.paloaltonetworks.com/es-la/tag/pentest-tool-es-la/ "pentest tool")
* [Phishing](https://unit42.paloaltonetworks.com/es-la/tag/phishing-es-la/ "phishing")  
  [Threat Research Center](https://unit42.paloaltonetworks.com/es-la/ "Threat Research") [Siguiente:Técnica de reutilización del espacio de nombres del modelo: mal uso de un aspecto fundamental de la cadena de suministro de la IA](https://unit42.paloaltonetworks.com/es-la/model-namespace-reuse/ "Técnica de reutilización del espacio de nombres del modelo: mal uso de un aspecto fundamental de la cadena de suministro de la IA")

### ÍNDICE

* 

### Artículos relacionados

* [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/ "article - table of contents")
* [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/ "article - table of contents")
* [Las Campañas de la Sombra: Al Descubierto el Espionaje Global](https://unit42.paloaltonetworks.com/es-la/shadow-campaigns-uncovering-global-espionage/ "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 SLOW#TEMPEST campaign. Digital artwork depicting a malware alert symbol on a computer screen, with background of blurred programming code in blue and red colors.](https://unit42.paloaltonetworks.com/wp-content/uploads/2025/07/07_Malware_Category_1920x900-786x368.jpg)  
  [Investigación de amenazas](https://unit42.paloaltonetworks.com/es-la/category/threat-research-es-la/) 2 de Enero de 2026 [#### VVS Discord Stealer utiliza Pyarmor para ofuscación y evasión de detección](https://unit42.paloaltonetworks.com/es-la/vvs-stealer/)

* [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")  
  [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/vvs-stealer/ "VVS Discord Stealer utiliza Pyarmor para ofuscación y evasión de detección")  
  ![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)
