Silver Fox - ABCDoor Backdoor (Kaspersky Securelist)
Fuente: Silver Fox uses the new ABCDoor backdoor to target organizations in Russia and India
Resumen Ejecutivo
Silver Fox (APT) despliega una campana de phishing fiscal contra organizaciones en Rusia e India, entregando ValleyRAT y un nuevo backdoor Python llamado ABCDoor. Más de 1.600 correos maliciosos registrados entre enero y febrero 2026.
Campana de Phishing
- Diciembre 2025: Ola contra India - emails suplantando el Indian Tax Service (ITD/GST)
- Enero 2026: Ola contra Rusia - emails suplantando el Servicio Federal de Impuestos (FNS)
- Método: PDF con enlaces a archivos ZIP que contienen loaders, o adjuntos RAR con ejecutablesdisfrazados
IOCs de distribución:
abc.haijing88[.]com- servidor de distribución de PDFs y archivos- Dominio de C2:
mcagov[.]cc,roldco[.]com
Cadena de Ataque
Email phishing -> PDF con enlace -> ZIP/RAR -> RustSL Loader -> Shellcode -> ValleyRAT Online Module -> Login Module -> Plugins -> ABCDoor
Silver Fox RustSL Loader
- Versión modificada del loader público RustSL (GitHub, descripción en chino)
- 8 métodos de cifrado de payload, 13 métodos de allocación, 12 detecciones de sandbox/VM, 13 métodos de ejecución
- Modulo steganography.rs: desencriptación custom XOR-based del payload
- Modulo guard.rs: geofencing por pais (India, Indonesia, Sudfrica, Rusia, Camboya, Japon)
- Phantom Persistence: técnica que intercepta señal de apagado y fuerza reinicio para persistencia
- Verifica pais via:
ip-api.com,ipwho.is,ipinfo.io,ipapi.co,www.geoplugin.net
Formato de payload cifrado:
- Marcadores
<RSL_START>/<RSL_END> - SHA256 hash del payload, XOR multi-paso con clave
RSL_STEG_2025_KEY - Codificaciones: Base64, Base32, Hex, urlsafe_base64
ValleyRAT (Winos 4.0)
- C2:
207.56.138[.]28:6666 - Configuración en registro:
HKCU:\Console\0(x86),HKCU:\Console\1(x64) - Plugins custom
baoliu86.dll/baoliu86.dll_bindescargan y ejecutan ABCDoor - PDB path:
C:\Users\Administrator\Desktop\bat\Release\winos4.0.pdb(“test plugin”)
ABCDoor Backdoor (Nuevo)
Backdoor Python previamente no documentado, compilado con Cython 3.0.7.
Persistencia:
- Registry:
HKCU\Software\Microsoft\Windows\CurrentVersión\Run\AppClient - Task Scheduler: tarea “AppClient” ejecutandose cada minuto
- Se instala en
C:\ProgramData\Tailscale(disfrazado como VPN Tailscale)
Comunicaciones:
- asyncio + Socket.IO sobre HTTPS
- C2 addresses con subdominio
abc.caracteristico
Clases principales:
- MainManager: conexión C2 y autorización
- MessageManager: registro y ejecución de handlers
- AutoStartManager: persistencia
- ClientManager: actualización y eliminación
- SystemInfoManager: recopilación de datos, screenshots
- RemoteControlManager: control remoto (raton/teclado via pynput), grabación de pantalla (ffmpeg + DDA API)
- FileManager: operaciones filesystem
- ClipboardManager: exfiltración de portapapeles
- CryptoManager: cifrado DPAPI (funciones asimetricas sin implementar)
Sin shell remota ni ejecución arbitraria de comandos. Alternativas:
- Emulación de doble clic + broadcast de pantalla
os.startfilepara ejecutar archivos con handler por defecto
Artefactos detectables:
HKCU\Software\CarEmu:FirstInstallTime- timestamp de instalación%LOCALAPPDATA%\applogs\device.log- ID de victima%LOCALAPPDATA%\applogs\exception_logs.zip- logs de excepciones%TEMP%\tmpXXXXXXXX\update.zip- actualizaciones- Named object:
python(<pid>): AppClientABC
Versiones de ABCDoor:
| Versión | Fecha (UTC) | Cambios clave |
|---|---|---|
| 121 | 2024-12-19 | Funcionalidad minima, GDI en ffmpeg, persistencia en registro |
| 143 | 2025-02-04 | Task scheduler, OOP, portapapeles, gestion de procesos, cifrado asimetrico |
| 152 | 2025-04-01 | DPAPI, subida de archivos por chunks |
| 154 | 2025-05-09 | Canales de instalación, emulación de combinaciones de teclas |
| 156 | 2025-08-11 | Log de tiempo de instalación en registro |
| 157 | 2025-08-28 | DDA source en ffmpeg para multi-monitor |
| 157 | 2025-09-23 | Compilado con Cython 3.0.7 (antes 3.0.12) |
Evolución de Distribución
- Feb-Mar 2025: Stagers en C++ y Go
- Mayo-Agosto 2025: TinyURL redirects + URLs con canales (
channel=jiqi_0819,whatsapp_0826,dianhua-0903) - Noviembre 2025: JS loader entregado via SFX archives dentro de ZIPs
- SFX instala NodeJS 22.19.0 si no está presente, ejecuta
run.deobfuscated.obf.js - Log en chino en cada paso
Victims
- Sectores: industrial, consulting, retail, transporte
- Paises target: India, Rusia, Indonesia, Sudfrica, Camboya, Japon
- Mayor número de ataques: India, Rusia, Indonesia
Indicadores de Compromiso (IOCs)
C2 de ABCDoor:
45.118.133[.]203:5000abc.fetish-friends[.]comabc.3mkorealtd[.]comabc.sudsmama[.]comabc.woopami[.]comabc.ilptour[.]comabc.petitechanson[.]comabc.doublemobile[.]com
C2 de loader ABCDoor: mcagov[.]cc, roldco[.]com C2 de VNC malicioso: vnc.kcii2[.]com Servidor de distribución: abc.haijing88[.]com
ValleyRAT C2: 108.187.37[.]85, 108.187.42[.]63, 207.56.138[.]28
IPs adicionales: 108.187.41[.]221, 154.82.81[.]192, 139.180.128[.]251, 192.229.115[.]229, 207.56.119[.]216, 192.163.167[.]14, 45.192.219[.]60, 192.238.205[.]47, 45.32.108[.]178, 57.133.212[.]106, 154.82.81[.]205
Detección Blue Team
Reglas de detección sugeridas:
- Monitorear
cmd.exeejecutando descarga e instalación silenciosa de Node.js (nodejs_dist_url_amsi) - Alertar sobre accesos a servicios de detección de IP desde procesos no-navegador (
access_to_ip_detection_services_from_nonbrowsers) - Detectar modificación de
UserInitMprLogonScriptenHKCU\Environment(persistence_via_environment) - Buscar tareas programadas “AppClient” con ejecución cada minuto
- Buscar
pythonw.exe -m appclienten procesos - Verificar
HKCU\Software\CarEmupara marcas de instalación de ABCDoor - Alertar sobre
%LOCALAPPDATA%\applogs\device.logcomo artefacto - Monitorear conexiones a dominios con subdominio
abc.y puertos 5000
Análisis Forense - Puntos Clave
- Phishing fiscal como vector: explotan la urgencia percibida de comunicaciones de autoridades fiscales
- PDF con enlace para evadir gateways de email (sin código malicioso en el adjunto)
- Cadena multi-stage: loader → shellcode → RAT → backdoor, con segmentación de infraestructura
- Living off the land: usa
pythonw.exe,ffmpeg.exe,schtasks,reg add, PowerShell - TTPs consistentes con APT chino: geofencing, multi-VM evasión, cifrado custom, PDB paths en chino
- Evolución continua: ABCDoor paso de v121 (dic 2024) a v157 (sep 2025) con mejoras iterativas
Guía de Estudio: Silver Fox - ABCDoor Backdoor
Nota previa
Este documento acompana la nota forense publicada por Kaspersky Securelist el 30 de abril de 2026. Su propósito es deconstruir el caso para un candidato CySA+, asumiendo conocimientos solidos de redes y sistemas operativos pero sin experiencia previa en análisis de amenazas avanzadas.
- CONCEPTO BASE: Los componentes explicados sin jerga
RustSL Loader
Definición: Es el “portero” del ataque. Un programa escrito en Rust cuyo único trabajo es descargar, desencriptar y ejecutar el siguiente paso de la cadena sin que el antivirus ni el usuario se den cuenta.
Analogia: Imagina un mensajero que lleva un cofre cerrado con multiples candados. Su misión es abrir cada candado en el orden correcto, entregar lo que hay dentro a la persona indicada, y no dejar rastro de que paso por ahi. Si algun candado no se abre (porque detecta que está en un laboratorio de análisis), el mensajero se da la vuelta y se va sin hacer nada.
ValleyRAT (Winos 4.0)
Definición: Es un “caballo de Troya” comercial. Un troyano de acceso remoto (RAT) ya conocido y utilizado por multiples grupos, que permite al atacante controlar el ordenador victima a distancia: ver la pantalla, mover el raton, ejecutar modulos adicionales y robar configuraciones.
Analogia: Es como si alguien instalara una aplicación de teleasistencia (tipo TeamViewer) en tu ordenador sin que lo supieras, pero en lugar de un técnico de soporte, al otro lado hay un atacante que puede hacer lo que quiera.
ABCDoor Backdoor
Definición: Es el “residente permanente”. Un backdoor (puerta trasera) escrito en Python y compilado con Cython, que se instala en el sistema, se esconde disfrazado de aplicación legitima (Tailscale VPN) y mantiene una comunicación constante con el servidor del atacante para recibir ordenes: capturar pantalla, copiar archivos, controlar el raton y teclado, entre otras.
Analogia: Si ValleyRAT es el técnico que entra a instalar la camara oculta, ABCDoor es la camara oculta misma: permanece encendida 24/7, envía grabaciones al exterior y es difícil de encontrar porque esta disfrazada de un dispositivo normal de la casa.
Relación entre los tres
RustSL Loader --> (entrega y lanza) --> ValleyRAT
ValleyRAT --> (descarga modulos) --> ABCDoor
ABCDoor --> (se instala y opera) --> Acceso persistente
No son tres ataques independientes. Son tres eslabones de una misma cadena. RustSL abre la puerta, ValleyRAT entra y monta el campamento, y ABCDoor es el agente definitivo que se queda a vivir allí.
2. CADENA DE ATAQUE PASO A PASO
Paso 1: El correo de phishing
Que ocurre: La victima recibe un correo electrónico que aparenta provenir de la autoridad fiscal de su pais. En India suplanta al Indian Tax Service (ITD/GST). En Rusia suplanta al Servicio Federal de Impuestos (FNS). El correo contiene un PDF adjunto o un enlace a un PDF.
Por qué lo hacen así:
- Los correos fiscales generan urgencia. La gente teme problemas con Hacienda y tiende a actuar rápido sin pensar.
- Usar un PDF (en vez de un ejecutable) es deliberado: los gateways de email revisan archivos ejecutables con mucha más intensidad que los PDF. Un PDF con un enlace dentro es más fácil de pasar por los filtros que un .exe adjunto.
Que debes entender para el CySA+: El phishing sigue siendo el vector de acceso inicial más común. Aquí el atacante no necesita explotar una vulnerabilidad técnica: explota la psicologia humana (ingenieria social).
Paso 2: El PDF con enlace
Que ocurre: Cuando la victima abre el PDF, este contiene un enlace que lleva a un servidor controlado por el atacante. El servidor devuelve un archivo ZIP o RAR comprimido.
Por qué lo hacen así:
- Separar el correo del payload malicioso en dos pasos dificulta el análisis automatizado. El escaner de email ve un PDF inocuo. El enlace solo se activa cuando alguien hace clic manualmente.
- El archivo comprimido (ZIP/RAR) puede cifrar el contenido, lo que evita que los antivirus lo analicen sin la contraseña. Esto se denomina “password-protected archive” y es una evasión clasica.
Servidor de distribución identificado: abc.haijing88[.]com
Paso 3: RustSL Loader ejecuta el shellcode
Que ocurre: El archivo comprimido contiene un ejecutable disfrazado (por ejemplo, con icono de PDF o documento de oficina). Este ejecutable es el RustSL Loader. Al ejecutarse:
- Comprueba si está en un sandbox o maquina virtual. RustSL tiene 12 métodos distintos de detección. Si detecta un entorno de análisis, se detiene y no ejecuta nada. Esto evita que los investigadores lo estudien fácilmente.
- Verifica el pais de la victima. Consulta servicios de geolocalización IP (
ip-api.com,ipinfo.io, etc.) y solo continua si el pais es India, Indonesia, Sudfrica, Rusia, Camboya o Japon. - Desencripta el payload oculto. El payload esta embebido en el propio loader usando steganografia y cifrado XOR con la clave
RSL_STEG_2025_KEY. Los marcadores<RSL_START>y<RSL_END>delimitan el contenido cifrado. - Ejecuta el shellcode en memoria. El shellcode se carga directamente en memoria RAM (fileless), lo que significa que no se escribe ningun archivo adicional en disco. Esto dificulta enormemente la detección por antivirus tradicionales.
Por qué lo hacen así:
- La detección de sandbox/VM es la primera línea de defensa del atacante contra los analistas. Si el malware detecta que lo están estudiando, simplemente no se ejecuta.
- El geofencing evita que el malware se propague a paises no deseados (por ejemplo, China, donde están los propios atacantes), reduciendo el riesgo de que se investigue.
- La ejecución en memoria (fileless) es una de las técnicas más dificiles de detectar porque no hay un archivo en disco que analizar.
Técnica especial - Phantom Persistence: Antes de ejecutar el shellcode, RustSL intercepta la señal de apagado del sistema operativo. Si el usuario intenta apagar el ordenador, fuerza un reinicio en su lugar. Esto garantiza que el proceso de instalación no se interrumpa.
Paso 4: ValleyRAT se instala
Que ocurre: El shellcode descarga e instala ValleyRAT (Winos 4.0). ValleyRAT:
- Se registra en el sistema operativo, almacenando su configuración en el registro de Windows:
HKCU:\Console\0para sistemas de 32 bits,HKCU:\Console\1para 64 bits. - Se conecta a su servidor de mando y control (C2):
207.56.138[.]28:6666 - Descarga modulos adicionales (plugins). Los modulos criticos aquí son
baoliu86.dll/baoliu86.dll_bin(nombres en chino).
Por qué lo hacen así:
- ValleyRAT es un RAT conocido y probado. Los atacantes no necesitan desarrollar toda la funcionalidad desde cero. Reutilizar herramientas existentes es eficiente.
- Los plugins permiten modularidad: el atacante solo descarga lo que necesita en cada momento, reduciendo la huella en el sistema y dificultando el análisis estático.
- Almacenar configuración en claves de registro aparentemente normales (
HKCU:\Console) es una técnica de ocultación: un analista que no conozca el truco no revisara esa clave.
Paso 5: ABCDoor se despliega
Que ocurre: Los plugins de ValleyRAT descargan y ejecutan el backdoor ABCDoor. La instalación de ABCDoor es meticuloosa:
- Se instala en
C:\ProgramData\Tailscale, disfrazandose como el software VPN legítimo Tailscale. Un usuario o administrador que vea esa carpeta pensara que es software normal. - Configura persistencia por dos vias simultaneas:
- Clave de registro:
HKCU\Software\Microsoft\Windows\CurrentVersión\Run\AppClient(se ejecuta cada vez que el usuario inicia sesión). - Tarea programada: tarea “AppClient” en el Programador de Tareas que se ejecuta cada minuto. Si la persistencia por registro falla, la tarea programada lo relanza.
- Se ejecuta con
pythonw.exe(Python sin ventana visible). El usuario no ve nada en pantalla.
Por qué lo hacen así:
- Doble persistencia (registro + tarea programada) es redundancia. Si un SOC elimina una, la otra sigue funcionando.
- Ejecutarse cada minuto es agresivo, pero garantiza que si algo interrumpe el proceso, el tiempo muerto es máximo 60 segundos.
- Disfrazarse de Tailscale es ingenieria social contra los administradores. Tailscale es una VPN legítima que muchas empresas usan, así que no levanta sospechas en una inspección visual.
Paso 6: Comunicación C2 y operación
Que ocurre: ABCDoor establece comunicación con su servidor de mando y control usando Socket.IO sobre HTTPS. Los dominios C2 tienen una caracteristica notable: todos usan el subdominio abc.:
abc.fetish-friends[.]comabc.3mkorealtd[.]comabc.sudsmama[.]comabc.woopami[.]com- Y otros…
Una vez conectado, el operador puede:
- Capturar pantalla: ABCDoor usa
ffmpeg.execon la API DDA (Desktop Duplication API) para grabar la pantalla. Soporta multiples monitores (desde versión 157). - Controlar raton y teclado: Usa la libreria
pynputpara emular acciones del usuario. Esto permite que el atacante interactue con la interfaz grafica como si estuviera sentado frente al ordenador. - Gestionar archivos: Puede listar, copiar, subir y descargar archivos del sistema victima.
- Exfiltrar portapapeles: El modulo ClipboardManager roba todo lo que el usuario copia (contraseñas, datos bancarios, etc.).
- Ejecutar archivos: Aunque no tiene shell remota (no puede escribir comandos en un terminal), usa
os.startfilepara abrir cualquier archivo con su aplicación por defecto, y emula doble clic para interactuar con la interfaz grafica.
Por qué no tiene shell remota: Esto es notable. La falta de shell remota sugiere que ABCDoor esta disenado para operaciones donde el atacante prefiere interactuar visualmente con el escritorio de la victima (posiblemente para operaciones bancarias o para acceder a aplicaciones empresariales que requieren GUI), en lugar de ejecutar comandos técnicos. Esto es común en amenazas orientadas al fraude financiero.
Por qué lo hacen así:
- HTTPS (puerto 443 o 5000 con TLS) dificulta distinguir el tráfico C2 del tráfico web normal.
- Socket.IO permite comunicación bidireccional en tiempo real (el servidor puede enviar ordenes espontaneamente, sin esperar a que el cliente pregunte).
- Multiples dominios C2 proporcionan resiliencia: si uno cae, se conecta a otro.
Paso 7: Persistencia a largo plazo y actualizaciones
Que ocurre: ABCDoor se actualiza a si mismo descargando update.zip desde el C2 a la carpeta %TEMP%\tmpXXXXXXXX\. Mantiene un registro de instalación en HKCU\Software\CarEmu:FirstInstallTime y logs en %LOCALAPPDATA%\applogs\.
Por qué lo hacen así:
- La capacidad de actualización permite al atacante mejorar el backdoor sin necesidad de reinfectar. Esto extiende la vida útil del compromiso.
- Los timestamps de instalación ayudan al atacante a gestionar su inventario de victimas.
Resumen visual de la cadena
FASE 1 - ENTREGA
Correo phishing (suplantacion fiscal)
|
v
PDF con enlace (evasion de gateway email)
|
v
ZIP/RAR protegido con contrasena (evasion de antivirus)
FASE 2 - EJECUCION INICIAL
RustSL Loader (.exe disfrazado)
|-- Deteccion de sandbox/VM (12 metodos)
|-- Geofencing (6 paises)
|-- Desencriptacion XOR + steganografia
|-- Phantom Persistence (anti-apagado)
v
Shellcode en memoria (fileless)
FASE 3 - ESTABLECIMIENTO
ValleyRAT / Winos 4.0
|-- Registro en HKCU:\Console
|-- C2: puerto 6666
|-- Plugins: descarga modular
v
ABCDoor Backdoor (Python/Cython)
|-- Disfrazado como Tailscale
|-- Doble persistencia (registro + tarea)
|-- C2 via Socket.IO/HTTPS
FASE 4 - OPERACION
Captura de pantalla (ffmpeg + DDA)
Control remoto (pynput: raton/teclado)
Exfiltracion de archivos y portapapeles
Actualizaciones desde C2
3. MAPEADO A OBJETIVOS CySA+ (CS0-003)
Dominios del examen cubiertos
| Dominio CySA+ | Tema | Como se cubre en este caso |
|---|---|---|
| Domain 1: Security Operations (25%) | 1.1 - Análisis de datos de seguridad | Análisis de IOCs, tráfico de red C2, artefactos de registro |
| 1.2 - Monitoreo de entornos | Detección de persistencia anomala, tareas programadas sospechosas | |
| 1.3 - Configuración de herramientas SIEM/SOAR | Reglas de detección sugeridas en la nota | |
| 1.5 - Conceptos de amenazas e inteligencia | APT, TTPs, MITRE ATT&CK mapping, campanas de phishing | |
| Domain 2: Vulnerability Management (22%) | 2.1 - Gestion de vulnerabilidades | Uso de técnicas de evasión (no CVEs, pero conceptos de superficie de ataque) |
| 2.3 - Análisis de vulnerabilidades | Evaluación de técnicas de evasión del loader | |
| Domain 3: Incident Response & DFIR (22%) | 3.1 - Procedimientos de respuesta a incidentes | Contención, erradicación y lecciones aprendidas de una infección APT |
| 3.2 - Análisis forense digital | Análisis de artefactos: registro, tareas programadas, filesystem, red | |
| 3.3 - Análisis de datos para investigación | Correlación de IOCs, timeline reconstruction | |
| Domain 4: Reporting (16%) | 4.1 - Comunicar hallazgos | Redacción de informes de incidente para audiencia técnica y no técnica |
| Domain 5: Security Architecture (15%) | 5.1 - Hardening | Recomendaciones para prevenir este tipo de ataque |
| 5.2 - Infraestructura de seguridad | Arquitectura de detección (SIEM, EDR, NDR) para capturar estos TTPs |
Mapping a MITRE ATT&CK (complementario al CySA+)
| TTP | Técnica ATT&CK | Uso en este caso |
|---|---|---|
| Vector inicial | T1566.002 - Spearphishing Link | PDF con enlace |
| Ejecución | T1204.002 - Malicious File | Usuario abre el ejecutable del ZIP |
| Persistencia | T1053.005 - Scheduled Task | Tarea “AppClient” cada minuto |
| Persistencia | T1547.001 - Registry Run Key | HKCU…\Run\AppClient |
| Evasión | T1497.001 - System Checks (VM) | 12 métodos de detección de sandbox |
| Evasión | T1027 - Obfuscated Files | XOR, steganografia, multiples codificaciones |
| Descubrimiento | T1614.001 - Geolocation | Verificación de pais via servicios IP |
| C2 | T1071.001 - Web Protocols (HTTPS) | Socket.IO sobre HTTPS |
| Exfiltración | T1115 - Clipboard Data | ClipboardManager |
| Recopilación | T1113 - Screen Capture | ffmpeg + DDA |
Preguntas tipo examen
Pregunta 1: Un analista del SOC detecta que un proceso pythonw.exe esta realizando conexiones salientes a abc.woopami[.]com por el puerto 5000. Además, existe una tarea programada llamada “AppClient” ejecutandose cada minuto. Cual es la acción más apropiada como paso inmediato?
A) Agregar el dominio a la lista blanca de DNS y monitorizar B) Aislar el host de la red inmediatamente y comenzar la respuesta a incidentes C) Desinstalar Python del sistema afectado D) Reiniciar el sistema para eliminar el proceso de memoria
Respuesta: B. El patron descrito (proceso Python sin ventana conectandose a un dominio con subdominio abc. por un puerto no estándar, con persistencia via tarea programada) indica compromiso activo por un backdoor (ABCDoor). La prioridad es contener la amenaza aislando el host. La opción A es inaceptable porque es un indicador malicioso confirmado. La opción C no elimina el malware (se reinstalaria via la persistencia). La opción D no elimina la persistencia (la tarea programada y el registro lo relanzarian).
Pregunta 2: Durante la investigación de un incidente, se encuentra la clave de registro HKCU\Software\CarEmu:FirstInstallTime con un valor de timestamp. También se observan archivos en %LOCALAPPDATA%\applogs\. Que fase del ciclo de vida del incidente corresponde a este análisis?
A) Contención B) Erradicación C) Identificación D) Recuperación
Respuesta: C. El análisis de artefactos del registro y el filesystem para determinar cuándo se instalo el malware, que hace, y como opera corresponde a la fase de identificación (o detección y análisis). La contención sería aislar el host. La erradicación sería eliminar el malware. La restauración sería restaurar el sistema a un estado limpio.
Pregunta 3: Un correo phishing con un PDF adjunto que contiene un enlace a un archivo ZIP protegido con contraseña evada el filtro de email corporativo. Que principio de defensa en profundidad fallo más criticamente?
A) El firewall de red no bloqueo el tráfico al servidor C2 B) El gateway de email no analizo el contenido del enlace dentro del PDF ni el archivo comprimido protegido C) El sistema IDS no detecto la conexión de salida D) El EDR no bloqueo la ejecución del loader
Respuesta: B. El punto de fallo más crítico fue el gateway de seguridad de email, que no aplico sandboxing al contenido del PDF (para extraer y analizar enlaces) ni pudo inspeccionar el archivo ZIP cifrado con contraseña. Esto permitio que el payload llegara al buzon del usuario. Aunque A, C y D son controles relevantes, son defensas posteriores. El fallo primario está en la primera línea de defensa ante phishing.
Pregunta 4: Silver Fox utiliza un loader que verifica el pais de la victima consultando servicios como ip-api.com antes de ejecutar el payload. Un analista en un SOC de una empresa con sede en Espana quiere confirmar si la campana afecta a su organización. Que indica el geofencing del loader sobre la probabilidad de infección?
A) Es muy probable que el malware se ejecute, ya que los servicios de geolocalización son faciles de falsificar B) Es poco probable que el malware se ejecute en Espana, ya que el geofencing solo permite India, Indonesia, Sudfrica, Rusia, Camboya y Japon C) El geofencing no tiene impacto real ya que el loader siempre se ejecuta después de la comprobación D) Espana estaria protegida solo si usa IPv6, ya que los servicios de geolocalización no soportan IPv4
Respuesta: B. El loader RustSL tiene un modulo guard.rs que implementa geofencing estricto. Solo permite la ejecución en los paises especificados (India, Indonesia, Sudfrica, Rusia, Camboya, Japon). Si el sistema de la victima se geolocaliza fuera de esos paises, el loader no ejecuta el payload. Espana no está en la lista, por lo que la probabilidad de infección es baja (aunque no nula, ya que una VPN o proxy podría cambiar la geolocalización). La afirmación A es incorrecta: el atacante no quiere que se falsifique, el geofencing es una restricción intencional. C es factualmente incorrecto: el loader aborta si la verificación falla. D es completamente irrelevante.
Pregunta 5: Durante la erradicación de una infección por ABCDoor, el equipo elimina la clave de registro Run\AppClient pero no elimina la tarea programada “AppClient”. Además, no limpia el directorio C:\ProgramData\Tailscale. Que resultado es el más probable?
A) El sistema estara limpio, ya que la clave de registro es el único mecanismo de persistencia B) El malware se reejecutara en menos de 60 segundos debido a la tarea programada pendiente C) El sistema tendra un error crítico por la eliminación parcial de la persistencia D) El sistema estara seguro porque la carpeta Tailscale no contiene código ejecutable
Respuesta: B. ABCDoor implementa persistencia redundante: clave de registro Run (ejecución al inicio de sesión) Y tarea programada (ejecución cada minuto). Si solo se elimina una, la otra sigue funcionando. La tarea programada “AppClient” reejecutaria el backdoor en máximo 60 segundos. Además, el directorio C:\ProgramData\Tailscale contiene los archivos del backdoor, por lo que sin eliminarlo, el código malicioso sigue presente en disco. La erradicación debe ser completa y eliminar todos los mecanismos de persistencia y todos los artefactos.
4. Detección Práctica: Artefactos e IOCs
4.1 Registro de Windows
4.1.1 Persistencia principal de ABCDoor
Artefacto: HKCU\Software\Microsoft\Windows\CurrentVersión\Run\AppClient
Donde se encuentra: HKEY_CURRENT_USER, sección Run. Esta es una de las claves más comunes para persistencia de malware.
Como buscarlo:
# Metodo directo - PowerShell
Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" | Select-Object AppClient
# Metodo general - buscar TODOS los valores Run sospechosos
Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" |
Format-List *
# Via reg.exe (util en sistemas sin PowerShell o en scripts de respuesta)
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v AppClientQue significaría encontrarlo: Infección activa o residual por ABCDoor. El valor debería contener la ruta al ejecutable en C:\ProgramData\Tailscale\ ejecutandose con pythonw.exe.
Busqueda proactiva con SIEM/EDR:
# Pseudocodigo para regla EDR/SIEM
ALERT WHEN registry_modification(
key_path CONTAINS "CurrentVersion\Run",
value_name == "AppClient",
value_data CONTAINS "pythonw.exe"
)
4.1.2 Configuración de ValleyRAT
Artefacto: HKCU:\Console\0 (x86) y HKCU:\Console\1 (x64)
Donde se encuentra: HKEY_CURRENT_USER\Console. Estas claves normalmente contienen configuración de la ventana de consola (colores, tamaño, etc.). ValleyRAT almacena su configuración cifrada aquí.
Como buscarlo:
# Revisar el contenido de ambas claves
Get-ItemProperty -Path "HKCU:\Console\0" -ErrorAction SilentlyContinue
Get-ItemProperty -Path "HKCU:\Console\1" -ErrorAction SilentlyContinue
# Buscar valores inusuales (los valores legitimos son tipicamente DWORDs pequenos)
# Un blob grande de datos binarios es sospechoso
reg query "HKCU\Console\0" /s
reg query "HKCU\Console\1" /sQue significaría encontrarlo: Presencia de ValleyRAT. Un sistema normal tendra pocos valores (FontSize, FaceName, etc.). Si hay valores con nombres aleatorios o blobs binarios grandes, es indicador de compromiso.
Advertencia: No elimine estas claves sin confirmación, ya que los valores legitimos de consola también se almacenan aquí. Compare con un sistema limpio de referencia.
4.1.3 Marca de instalación de ABCDoor
Artefacto: HKCU\Software\CarEmu:FirstInstallTime
Donde se encuentra: HKEY_CURRENT_USER\Software\CarEmu. Una clave completamente personal, creada por el malware.
Como buscarlo:
# Busqueda directa
Get-Item -Path "HKCU:\Software\CarEmu" -ErrorAction SilentlyContinue
Get-ItemProperty -Path "HKCU:\Software\CarEmu" -ErrorAction SilentlyContinue
# En investigacion masiva (via EDR o script remoto)
reg query "HKCU\Software\CarEmu" /sQue significaría encontrarlo: Confirmación definitiva de infección por ABCDoor. La clave “CarEmu” no tiene razon de existir en un sistema normal. El valor FirstInstallTime indica cuándo se instalo el backdoor, lo cual es crucial para la reconstrucción de la línea temporal del incidente.
Para la respuesta a incidentes: Documente el valor del timestamp inmediatamente. Determine que eventos (accesos a archivos, conexiones de red, otros compromisos) ocurrieron después de esa fecha.
4.2 Filesystem
4.2.1 Directorio de instalación de ABCDoor
Artefacto: C:\ProgramData\Tailscale\
Donde se encuentra: %ProgramData% es una carpeta oculta por defecto en Windows, destinada a datos de aplicaciones para todos los usuarios. ABCDoor se instala aquí disfrazado como el software VPN Tailscale.
Como buscarlo:
# Listar contenido del directorio
Get-ChildItem -Path "C:\ProgramData\Tailscale" -Recurse -Force
# Verificar si Tailscale esta realmente instalado en el sistema
Get-Package -Name "*Tailscale*" -ErrorAction SilentlyContinue
Get-Service -Name "*Tailscale*" -ErrorAction SilentlyContinue
# Buscar procesos que se ejecuten desde esta ruta
Get-Process | Where-Object { $_.Path -like "*ProgramData\Tailscale*" }
# CMD alternativo
dir /a /s "C:\ProgramData\Tailscale\"Que significaría encontrarlo:
- Si Tailscale está instalado via el instalador oficial, los archivos estaran en
C:\Program Files\Tailscale\o gestionados por el servicio de Windows, NO enC:\ProgramData\Tailscale\. Encontrar un ejecutable Python en esta ruta es altamente sospechoso. - Busque archivos
.pyc,.pyd,pythonw.exeo cualquier ejecutable que no coincida con los binarios oficiales de Tailscale. - Compare los hashes SHA256 de los archivos encontrados con los hashes oficiales de Tailscale.
4.2.2 Logs del dispositivo
Artefacto: %LOCALAPPDATA%\applogs\device.log
Donde se encuentra: Dentro del perfil del usuario afectado. device.log contiene el identificador único de la victima asignado por el C2.
Como buscarlo:
# Busqueda directa
Get-Content -Path "$env:LOCALAPPDATA\applogs\device.log" -ErrorAction SilentlyContinue
# Busqueda en todos los perfiles de usuario (requiere admin)
Get-ChildItem -Path "C:\Users\*\AppData\Local\applogs\device.log" -ErrorAction SilentlyContinue
# Busqueda con dir (CMD)
dir /s /b "C:\Users\*\AppData\Local\applogs\*"Que significaría encontrarlo: Confirmación de infección. El contenido del log revela el ID de victima que el atacante usa para gestionar sus objetivos.
4.2.3 Logs de excepciones
Artefacto: %LOCALAPPDATA%\applogs\exception_logs.zip
Donde se encuentra: Junto al device.log. Contiene errores del backdoor que pueden revelar versión, modulos cargados y configuración.
Como buscarlo:
Get-ChildItem -Path "C:\Users\*\AppData\Local\applogs\exception_logs*" -RecurseQue significaría encontrarlo: El contenido de los logs de excepciones puede contener paths internos, versiones de modulos y errores de conexión que ayudan a entender la configuración del atacante. Es evidencia forense valiosa.
4.2.4 Archivos de actualización
Artefacto: %TEMP%\tmpXXXXXXXX\update.zip
Donde se encuentra: Carpeta temporal del usuario. El nombre tmp seguido de 8 caracteres aleatorios.
Como buscarlo:
# Buscar carpetas tmp sospechosas en TEMP
Get-ChildItem -Path "$env:TEMP\tmp*" -Directory |
Get-ChildItem -Filter "update.zip" -Recurse
# Busqueda masiva
Get-ChildItem -Path "C:\Users\*\AppData\Local\Temp\*\update.zip" -Recurse
# Busqueda por nombre
where /r C:\Users update.zipQue significaría encontrarlo: Evidencia de que el backdoor ha sido actualizado. El contenido del ZIP puede revelar nuevas funcionalidades o configuraciones desplegadas por el atacante.
4.3 Red
4.3.1 Conexiones C2 de ABCDoor
Artefactos (dominios):
| Dominio | Tipo |
|---|---|
abc.fetish-friends[.]com | C2 primario |
abc.3mkorealtd[.]com | C2 |
abc.sudsmama[.]com | C2 |
abc.woopami[.]com | C2 |
abc.ilptour[.]com | C2 |
abc.petitechanson[.]com | C2 |
abc.doublemobile[.]com | C2 |
IP C2 directa: 45.118.133[.]203:5000
Patron caracteristico: Subdominio abc. + puerto 5000
Como buscar en el tráfico:
# En logs DNS (SIEM o servidor DNS)
# Buscar cualquier subdominio "abc." a dominios no reconocidos
SELECT * FROM dns_logs
WHERE subdomain = 'abc'
AND domain NOT IN (lista_blanca_empresarial)
# En proxy/firewall logs - buscar conexiones al puerto 5000
SELECT * FROM firewall_logs
WHERE dest_port = 5000
AND protocol = 'TCP'
# En Wireshark (captura en curso o pcap)
# Filtro DNS
dns.qry.name contains "abc."
# Filtro conexiones al puerto 5000
tcp.dstport == 5000
# Con netstat en el host
netstat -anob | findstr ":5000"Que significaría encontrarlo: Conexiones activas desde un host interno a un C2 de ABCDoor. El puerto 5000 no es un puerto estándar (HTTP=80, HTTPS=443), lo que lo hace fácilmente distinguible si se monitoriza.
Regla IDS/SIEM sugerida (pseudocodigo Snort/Sigma):
# Sigma rule
title: Potential ABCDoor C2 Communication
status: experimental
logsource:
category: dns_query
detection:
selection:
QueryName|startswith: 'abc.'
QueryName|endswith:
- 'fetish-friends.com'
- '3mkorealtd.com'
- 'sudsmama.com'
- 'woopami.com'
- 'ilptour.com'
- 'petitechanson.com'
- 'doublemobile.com'
condition: selection
level: high4.3.2 Conexiones C2 de ValleyRAT
Artefactos:
| IP | Puerto |
|---|---|
108.187.37[.]85 | 6666 |
108.187.42[.]63 | 6666 |
207.56.138[.]28 | 6666 |
Patron: Puerto 6666
Como buscar:
# En firewall logs
SELECT * FROM firewall_logs
WHERE dest_port = 6666
# En netstat del host
netstat -anob | findstr "6666"
# Wireshark
tcp.dstport == 6666
# Bloqueo inmediato via firewall
netsh advfirewall firewall add rule name="Block_ValleyRAT_C2" dir=out action=block remoteip=108.187.37.85,108.187.42.63,207.56.138.28Que significaría encontrarlo: Conexión a un C2 conocido de ValleyRAT. El puerto 6666 es notable y no tiene uso legítimo común en entornos empresariales.
4.3.3 Servicios de geolocalización
Artefacto: Conexiones a servicios de detección de IP desde procesos que no son navegadores.
Servicios consultados por RustSL:
ip-api.comipwho.isipinfo.ioipapi.cowww.geoplugin.net
Como buscar:
# En logs de proxy
SELECT * FROM proxy_logs
WHERE url CONTAINS ('ip-api.com' OR 'ipwho.is' OR 'ipinfo.io' OR 'ipapi.co' OR 'geoplugin.net')
AND user_agent NOT LIKE '%Mozilla%' -- Excluir navegadores
# En EDR - procesos no navegador accediendo a estos servicios
SELECT process_name, destination_ip, url FROM network_connections
WHERE destination_domain IN ('ip-api.com','ipwho.is','ipinfo.io','ipapi.co','www.geoplugin.net')
AND process_name NOT IN ('chrome.exe','firefox.exe','msedge.exe','iexplore.exe','opera.exe','brave.exe')Que significaría encontrarlo: Un proceso distinto al navegador consultando servicios de geolocalización es un patron clasico de malware que realiza geofencing. Esto es un indicador de compromiso de alta confianza cuando se combina con otros artefactos.
4.3.4 Servidor de distribución y otros
Artefactos:
| Dominio/IP | Función |
|---|---|
abc.haijing88[.]com | Distribución de PDFs y archivos |
mcagov[.]cc | Loader C2 |
roldco[.]com | Loader C2 |
vnc.kcii2[.]com | VNC malicioso |
IPs adicionales sospechosas:
108.187.41[.]221
154.82.81[.]192
139.180.128[.]251
192.229.115[.]229
207.56.119[.]216
192.163.167[.]14
45.192.219[.]60
192.238.205[.]47
45.32.108[.]178
57.133.212[.]106
154.82.81[.]205
Acción recomendada: Bloquear todos estos dominios e IPs en el firewall perimetral, el proxy y el DNS. Anadir a la lista de bloqueo del SIEM para alertas retroactivas.
4.4 Procesos
4.4.1 Proceso principal de ABCDoor
Artefacto: pythonw.exe -m appclient
Donde se ve: Administrador de Tareas, tasklist, EDR, SIEM.
Como buscar:
# Buscar procesos pythonw.exe
Get-Process -Name "pythonw" -ErrorAction SilentlyContinue |
Select-Object Id, ProcessName, Path, StartTime
# Buscar la linea de comandos completa (requiere admin)
Get-CimInstance Win32_Process -Filter "Name='pythonw.exe'" |
Select-Object ProcessId, CommandLine, CreationDate
# Buscar objetos nombrados del malware (muy especifico)
# ABCDoor crea un named object: "python(<pid>): AppClientABC"
# Esto es detectable via herramientas de analisis de objetos del kernel
# CMD
tasklist /v /fi "imagename eq pythonw.exe"
wmic process where "name='pythonw.exe'" get ProcessId,CommandLineQue significaría encontrarlo: Infección activa. pythonw.exe es la versión de Python sin ventana. Si se ejecuta con -m appclient y no pertenece a ninguna aplicación legítima conocida, es el backdoor operativo.
Regla EDR sugerida:
ALERT WHEN process(
name == "pythonw.exe",
command_line CONTAINS "-m appclient",
parent_process NOT IN ["explorer.exe","cmd.exe","powershell.exe"]
) -> SEVERITY: CRITICAL
4.4.2 Instalación silenciosa de Node.js
Artefacto: cmd.exe ejecutando la descarga e instalación silenciosa de NodeJS 22.19.0
Por qué es relevante: La nota indica que en las variantes más recientes (noviembre 2025+), el vector de entrega usa un archivo SFX (auto-extraible) que instala Node.js si no está presente, y luego ejecuta un script JavaScript ofuscado.
Como buscar:
# Buscar instalaciones recientes de Node.js via WMI
Get-CimInstance Win32_Product | Where-Object { $_.Name -like "*Node*" }
# Buscar el proceso node.exe con un script sospechoso
Get-CimInstance Win32_Process -Filter "Name='node.exe'" |
Select-Object ProcessId, CommandLine, CreationDate
# Buscar evidencia de instalacion silenciosa en logs de aplicacion
Get-WinEvent -FilterHashtable @{LogName='Application'; ProviderName='MsiInstaller'} |
Where-Object { $_.Message -like "*Node*" }Que significaría encontrarlo: Si Node.js se instala en un servidor o estación de trabajo donde normalmente no se usa, y además se instalo via línea de comandos de forma silenciosa, es un indicador fuerte de compromiso.
4.5 Resumen rápido de busqueda
| Que buscar | Donde | Comando clave | Gravedad si se encuentra |
|---|---|---|---|
HKCU...\Run\AppClient | Registro | reg query HKCU...\Run | Crítica |
HKCU\Software\CarEmu | Registro | reg query "HKCU\Software\CarEmu" | Crítica |
C:\ProgramData\Tailscale\ (con Python) | Filesystem | dir /s C:\ProgramData\Tailscale | ALTA |
%LOCALAPPDATA%\applogs\device.log | Filesystem | dir C:\Users*\AppData\Local\applogs | Crítica |
| Tarea “AppClient” cada minuto | Tareas programadas | schtasks /query /tn AppClient | Crítica |
pythonw.exe -m appclient | Procesos | wmic process where name=pythonw.exe | Crítica |
| Conexiones a puerto 5000 (subdominio abc.) | Red | netstat -anob findstr :5000 | ALTA |
| Conexiones a puerto 6666 | Red | netstat -anob findstr :6666 | ALTA |
Consultas DNS a *.abc.* | Logs DNS | Busqueda en SIEM | MEDIA-ALTA |
pythonw.exe accediendo a ip-api.com | Proxy/EDR | Busqueda en proxy logs | MEDIA |
5. PROFUNDIZAción: Áreas de estudio recomendadas
5.1 Técnicas de ejecución fileless y living-off-the-land (LOTL)
Por qué este caso lo requiere: RustSL ejecuta el shellcode en memoria sin escribir en disco. ABCDoor usa pythonw.exe, ffmpeg.exe, schtasks y reg add (todas herramientas legítimas del sistema) para realizar sus operaciones. Esto se conoce como “Living off the Land” y es extremadamente difícil de detectar con antivirus tradicionales.
Temas concretos:
- LOLBins (Living Off the Land Binaries): lista completa de
LOLBinsde Microsoft que el malware puede abusar (PowerShell, MSBuild, certutil, regsvr32, etc.) - Fileless malware: como funciona la inyección de procesos, reflective DLL injection y ejecución en memoria
- AMSI (Antimalware Scan Interface): como Windows intenta interceptar scripts maliciosos en memoria
Recurso: Proyecto LOLBAS (https://lolbas-project.github.io/) - Base de datos de binarios legítimos que pueden ser abusados.
5.2 Steganografia y ofuscación de payloads
Por qué este caso lo requiere: El payload de RustSL está oculto usando multiples capas de cifrado (XOR con clave fija RSL_STEG_2025_KEY), codificaciones (Base64, Base32, Hex) y marcadores custom (<RSL_START>, <RSL_END>). Entender estos métodos es clave para el análisis de malware y para escribir reglas de detección.
Temas concretos:
- Steganografia digital: como se oculta información dentro de imagenes, archivos de audio, o en este caso, dentro del propio ejecutable
- Técnicas de ofuscación: XOR, Base64, encoding en cadenas, packers y crypters
- Análisis estático vs dinámico: cuando cada técnica es necesaria
Recurso: “Practical Malware Analysis” de Michael Sikorski y Andrew Honig - Capitulos sobre ofuscación y empaquetado. También el curso gratuito de ANY.RUN sobre análisis de malware.
5.3 Respuesta a incidentes para amenazas APT (persistencia avanzada)
Por qué este caso lo requiere: ABCDoor usa persistencia redundante (registro + tarea programada cada minuto), se reinstala automáticamente, y el operador puede actualizar el backdoor a distancia. Una erradicación incompleta (como eliminar solo la clave de registro) resulta en reinfección inmediata.
Temas concretos:
- Ciclo completo de respuesta a incidentes (NIST SP 800-61): preparación, detección, contención, erradicación, recuperación, lecciones aprendidas
- Caza de amenazas (Threat Hunting): como buscar persistencia anomala proactivamente antes de que se active una alerta
- Cadenas de persistencia de Windows: todas las vias donde un atacante puede establecer auto-ejecución (Run keys, tareas programadas, servicios, WMI, COM hijacking, etc.)
Recurso: NIST SP 800-61r2 (Computer Security Incident Handling Guide). También “The Art of Memory Forensics” para análisis forense avanzado de malware en memoria.
5.4 Análisis de tráfico C2 y patron de comunicación
Por qué este caso lo requiere: ABCDoor usa Socket.IO sobre HTTPS, lo que significa que el tráfico esta cifrado. Sin embargo, hay patrones detectables: el subdominio abc. consistente, el uso de un puerto no estándar (5000), y el patron de comunicación bidireccional.
Temas concretos:
- Detección de C2 basada en tráfico: JA3/JA3S fingerprints, beaconing analysis (comunicaciones periodicas), dominios generados algoritmicamente (DGA)
- Análisis de tráfico cifrado sin descifrar: metadatos como volumen, timing, SNI (Server Name Indication), y certificados TLS
- Herramientas: Zeek (antes Bro), Suricata, RITA (Real Intelligence Threat Analytics), NetworkMiner
Recurso: Curso de Security Onion como plataforma gratuita de análisis de red. Blog de Active Countermeasures sobre hunting de C2 con tráfico cifrado.
5.5 (Bonus) Geolocalización y evasión de análisis
Por qué este caso lo requiere: RustSL consulta 5 servicios de geolocalización IP y tiene 12 métodos de detección de sandbox/VM. Entender estas técnicas es fundamental tanto para el análisis ofensivo (simular un entorno de evasión en un lab) como para el defensivo (configurar entornos de análisis que no sean detectados).
Temas concretos:
- Anti-sandbox y anti-VM: cuales son los indicadores que el malware busca (MAC addresses de VMware/VirtualBox, artefactos de herramientas de análisis, timings de ejecución, dispositivos de hardware simulados)
- Configuración de laboratorios de análisis de malware: como hacer que una VM parezca un sistema real (VMware hardening, eliminar artefactos de virtualización)
Recurso: Documentación de REMnux y FLARE-VM como distribuciones especializadas en análisis de malware. Guía de “VMware hardening” de ANY.RUN.
Referencia rápida final: Donde buscar cada artefacto
REGISTRO DE WINDOWS
├── HKCU\Software\Microsoft\Windows\CurrentVersion\Run\AppClient [CRITICO]
├── HKCU\Software\CarEmu\FirstInstallTime [CRITICO]
├── HKCU\Environment\UserInitMprLogonScript [CRITICO - persistencia alternativa]
├── HKCU\Console\0 (config ValleyRAT x86) [ALTA]
└── HKCU\Console\1 (config ValleyRAT x64) [ALTA]
FILESYSTEM
├── C:\ProgramData\Tailscale\ (directorio de instalacion) [CRITICO]
├── %LOCALAPPDATA%\applogs\device.log (ID de victima) [CRITICO]
├── %LOCALAPPDATA%\applogs\exception_logs.zip [ALTA]
└── %TEMP%\tmpXXXXXXXX\update.zip (actualizaciones) [ALTA]
TAREAS PROGRAMADAS
└── "AppClient" (ejecucion cada 60 segundos) [CRITICO]
PROCESOS
├── pythonw.exe -m appclient [CRITICO]
├── node.exe ejecutando JS ofuscado [ALTA]
└── Cualquier proceso desde C:\ProgramData\Tailscale\ [ALTA]
RED
├── Subdominios abc.* (puerto 5000) [ALTA]
├── IPs C2 ValleyRAT (puerto 6666) [ALTA]
├── Conexiones a servicios de geolocalizacion desde no-navegadores [MEDIA]
└── Dominios de distribucion: haijing88.com, mcagov.cc, roldco.com [ALTA]
Documento de estudio para preparación CySA+ basado en el análisis de Kaspersky Securelist sobre Silver Fox / ABCDoor (abril 2026). Los IOCs y TTPs aquí descritos son para propositos educativos y de defensa.