PowerShell

Durante una reciente intervención de respuesta a incidentes (IR), el equipo de la Unit 42 de PaloAlto identificó que la banda de ransomware Vice Society exfiltraba datos de una red víctima utilizando un script personalizado de Microsoft PowerShell (PS).

Desglosaron el script utilizado, explicando cómo funciona cada función para arrojar luz sobre este método de exfiltración de datos.

Las bandas de ransomware utilizan una plétora de métodos para robar datos de las redes de sus víctimas. Algunas utilizan herramientas externas, como FileZilla, WinSCP y rclone. Otras bandas utilizan métodos basados en binarios y scripts «Living off the Land» (LOLBAS), scripts PS que copian y pegan a través del Protocolo de Escritorio Remoto (RDP) y la API Win32 de Microsoft (por ejemplo, llamadas a Wininet.dll).

Los actores de amenazas (TA) que utilizan métodos de exfiltración de datos integrados, como LOLBAS, evitan la necesidad de utilizar herramientas externas que podrían ser marcadas por software de seguridad o mecanismos de detección de seguridad basados en humanos. Estos métodos también pueden ocultarse dentro del entorno operativo general, proporcionando subversión al actor de la amenaza.

En este caso, el script se recuperó del registro de eventos de Windows (WEL). En concreto, el script se recuperó de un evento ID 4104: Script Block Logging, que se encuentra en el proveedor WEL Microsoft-Windows-PowerShell/Operational.

Examinemos qué ocurre cuando se utiliza este script PS para automatizar la etapa de exfiltración de datos de un ataque de ransomware.

Por ejemplo, las secuencias de comandos PS se utilizan a menudo en un entorno Windows típico. Cuando las amenazas quieren ocultarse a plena vista, el código PS suele ser la solución.

Los investigadores de la Unidad 42 vieron cómo se ejecutaba el script utilizando el siguiente comando PS:

powershell.exe -ExecutionPolicy Bypass -file \[redacted_ip]\s$\w1.ps1

Esta invocación de script utiliza la dirección IP de un controlador de dominio (DC) local dentro de una ruta de Nombre Uniforme de Recurso (URN), que se muestra como [redacted_ip] arriba, especificando el recurso compartido s$ admin en el DC.

Tenga en cuenta que, dado que el script se despliega a través de uno de los DC del cliente, los equipos de destino podrían ser aquellos a los que el TA aún no ha obtenido acceso directamente. Como tal, cualquier punto final dentro de la red podría convertirse en un objetivo para el script. El ejecutable PS recibe el parámetro -ExecutionPolicy Bypass para saltarse cualquier restricción de la Política de Ejecución.

El script no requiere ningún argumento, ya que la responsabilidad de qué archivos copiar fuera de la red se deja en manos del propio script. Sí, has leído bien: El script está automatizado y, por tanto, elige qué datos deben ser exfiltrados.

•   Overview
•   Script Analysis
•   The Preamble
•   Work() Function
•   Show() Function
•   CreateJobLocal() Function
•   Fill() Function
•   Example HTTP Activity
•   Conclusion
•   Indicators of Compromise
•   Additional Resources
•   Appendix: Inclusions and Exclusions

Fuente y redacción: underc0de.org

Compartir