De Señuelos Fiscales al Abuso de NinjaOne RMM
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Una campaña activa de phishing está apuntando a organizaciones brasileñas imitando procesos comerciales comunes como documentación fiscal y manejo de quejas. En lugar de desplegar malware convencional, los atacantes entregan un agente legítimo de Monitoreo y Gestión Remota (RMM) de NinjaOne configurado para acceso controlado por el adversario. Al confiar en software empresarial de confianza, la operación es capaz de evitar muchas defensas tradicionales basadas en malware.
Investigación
Investigadores de Cato CTRL descubrieron la campaña a través del análisis de páginas de phishing en portugués y una cadena de redireccionamiento que utilizaba infraestructura alojada en Google. Su investigación expuso varias medidas anti-análisis, incluidas geolocalización enfocada en Brasil, huellas dactilares del navegador y lógica de detección de sandbox. Un pivote basado en una imagen de fondo reutilizada con tema de la Tierra también ayudó a vincular la actividad a dominios adicionales controlados por atacantes.
Mitigación
Las organizaciones deben imponer controles estrictos sobre la instalación de herramientas de Monitoreo y Gestión Remota no autorizadas. Los equipos de seguridad deben mejorar el monitoreo para despliegues de software inesperados y verificar cuidadosamente las solicitudes vinculadas a registros fiscales u otros documentos relacionados con el negocio. Bloquear los dominios maliciosos conocidos y fortalecer la seguridad del correo electrónico para detectar cadenas de redireccionamiento de phishing puede reducir aún más la exposición.
Respuesta
Si se detecta esta actividad, los equipos de seguridad deben aislar los puntos finales afectados inmediatamente para detener el acceso continuo a través del agente RMM. Los investigadores deben determinar cómo se inició la instalación de NinjaOne y revisar los registros de auditoría para acciones administrativas no autorizadas. También puede ser necesaria la coordinación con proveedores de gestión de puntos finales para identificar y desactivar perfiles de gestión comprometidos.
graph TB %% Sección de definición de clases classDef action fill:#99ccff classDef evasion fill:#ff99cc classDef tool fill:#cccccc classDef execution fill:#ccffcc classDef operator fill:#ff9900 %% Definición de nodos %% Fase de acceso inicial action_phishing[«<b>Acción</b> – <b>T1566.002 Phishing: Enlace de Spearphishing</b><br/>El atacante envía correos electrónicos con enlaces<br/>ocultos detrás de una cadena de redirección<br/>mediante bc.googleusercontent.com.»] class action_phishing action %% Fase de evasión y controles de ejecución evasion_geofencing[«<b>Acción</b> – <b>T1665 Ocultar Infraestructura</b><br/>Uso de geofencing para restringir la entrega<br/>de la carga útil a rangos específicos<br/>de direcciones IP brasileñas.»] class evasion_geofencing evasion evasion_keying[«<b>Acción</b> – <b>T1480.001 Controles de Ejecución: Clave Ambiental</b><br/>La infraestructura utiliza controles ambientales<br/>para garantizar que la ejecución ocurra<br/>solamente en sistemas objetivo.»] class evasion_keying evasion evasion_browser[«<b>Acción</b> – <b>T1217 Descubrimiento de Información del Navegador</b><br/>El portal de phishing recopila información<br/>del navegador para facilitar la evasión.»] class evasion_browser evasion evasion_sandbox[«<b>Acción</b> – <b>T1497.002 Evasión de Virtualización/Sandbox: Comprobaciones basadas en actividad del usuario</b><br/>Comprueba frameworks de automatización como<br/>Selenium o Puppeteer y valida la presencia<br/>humana mediante movimiento del ratón.»] class evasion_sandbox evasion op_check((«AND»)) class op_check operator %% Fase de ejecución op_validation((«AND»)) class op_validation operator action_user_exec[«<b>Acción</b> – <b>T1204.002 Ejecución del Usuario: Archivo Malicioso</b><br/>La víctima es manipulada mediante ingeniería social<br/>para descargar un archivo que aparenta ser<br/>un documento empresarial.»] class action_user_exec execution tool_rmm_installer[«<b>Herramienta</b> – <b>Nombre</b>: Instalador NinjaOne RMM<br/><b>Descripción</b>: Un instalador legítimo de agente RMM<br/>(por ejemplo, NinjaOne-Agent-DocumentoFiscal)<br/>utilizado para ocultar la intención maliciosa.»] class tool_rmm_installer tool %% Fase de persistencia y control action_software_ext[«<b>Acción</b> – <b>T1176 Extensiones de Software</b><br/>Instalación del agente RMM para<br/>ampliar las capacidades del sistema.»] class action_software_ext execution tool_remote_access[«<b>Herramienta</b> – <b>T1219 Herramientas de Acceso Remoto</b><br/>Uso del agente RMM instalado para<br/>mantener control y comando persistente,<br/>realizar reconocimiento y ejecutar comandos.»] class tool_remote_access tool %% Conexiones %% Flujo inicial action_phishing –>|conduce_a| evasion_geofencing evasion_geofencing –>|conduce_a| evasion_keying evasion_keying –>|conduce_a| op_check %% Rama lógica de evasión op_check –>|comprueba| evasion_browser op_check –>|comprueba| evasion_sandbox evasion_browser –>|conduce_a| op_validation evasion_sandbox –>|conduce_a| op_validation %% Flujo de ejecución op_validation –>|si_es_legítimo| action_user_exec action_user_exec –>|descarga| tool_rmm_installer tool_rmm_installer –>|facilita| action_software_ext action_software_ext –>|habilita| tool_remote_access
Flujo de Ataque
Ejecución de Simulación
Prerequisito: El Chequeo de Pre-vuelo de Telemetría y Línea Base debe haber pasado.
Razonamiento: Esta sección detalla la ejecución precisa de la técnica del adversario (TTP) diseñada para activar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente los TTPs identificados y apuntar a generar la telemetría exacta esperada por la lógica de detección. Ejemplos abstractos o no relacionados llevarán a un diagnóstico erróneo.
-
Narrativa del Ataque y Comandos: Un adversario está llevando a cabo una campaña de spearphishing dirigida contra usuarios brasileños. El atacante envía un correo electrónico con el asunto «Documento Fiscal» que contiene un enlace a un sitio malicioso alojado en
sefaz.services. El enlace redirige a través de ungoogleusercontent.comURL para finalmente entregar una carga útil del agente RMM de NinjaOne. Esta simulación inyectará una entrada de registro sintética en el flujo del proxy que imita esta secuencia específica para validar la regla Sigma. -
Script de Prueba de Regresión:
# Script de Python para simular la inyección de una entrada de registro de proxy maliciosa import datetime def generate_malicious_log(): timestamp = datetime.datetime.utcnow().isoformat() # Imita la lógica de 'selection_domains' y 'selection_url' log_entry = { "timestamp": timestamp, "src_ip": "192.168.1.50", "dest_ip": "104.21.45.12", "url": "https://storage.googleapis.com/googleusercontent.com/payloads/malware.exe", "domain": "sefaz.services", "subject": "Documento Fiscal - Urgente", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)" } print(f"INYECTANDO REGISTRO DE PROXY SINTÉTICO: {log_entry}") # En un escenario real, esto se enviaría a un endpoint syslog o sería ingerido vía API return log_entry if __name__ == "__main__": generate_malicious_log() -
Comandos de Limpieza:
# No se realizan cambios persistentes en el sistema; # Si los registros fueron enviados a un SIEM en vivo, eliminar la entrada de prueba específica vía API de SIEM. echo "Simulación completa. No se requiere limpieza del host."