• ¿Cómo detectar comandos de PowerShell codificados con Log360?
  • ¿Qué son los comandos de PowerShell codificados?
  • Usos legítimos de los comandos de PowerShell codificados
  • Usos maliciosos de los comandos de PowerShell codificados
  • ¿Cómo funcionan los comandos de PowerShell?
  • ¿Cómo detectar comandos de PowerShell codificados utilizando Log360?
  • ¿Cómo funciona la detección de comandos de PowerShell codificados en Log360?
  • ¿Qué ocurre en Log360?
  • ¿Qué hacer cuando detecta que se está ejecutando un comando codificado?

¿Cómo detectar comandos de PowerShell codificados con Log360?

PowerShell, una versátil herramienta de automatización, suele ser explotada por los adversarios para ejecutar comandos, evadir la detección, ofuscar la actividad maliciosa, y descargar y ejecutar código de forma remota. Los atacantes suelen aprovechar PowerShell en los ataques de phishing, codificando comandos maliciosos dentro de los archivos adjuntos. Entre los métodos de abuso más comunes se encuentran: utilizar kits de herramientas de ataque, realizar actividades de codificación, descargar cargas útiles, cargar DLL maliciosas y facilitar la inyección de procesos. La flexibilidad de PowerShell lo convierte en una herramienta valiosa tanto para actividades legítimas como maliciosas, lo que supone un importante reto para la seguridad.

¿Qué son los comandos de PowerShell codificados?

Los comandos de PowerShell codificados son scripts o comandos de PowerShell que han sido transformados a un formato codificado. Esta transformación sirve para varios propósitos, como ofuscar el comando para dificultar que las partes no autorizadas entiendan su intención a simple vista y asegurar la transmisión del comando a través de las redes. Pero esta codificación de comandos también puede ser utilizada por los atacantes para codificar comandos maliciosos que impidan a los administradores comprender su verdadera intención.

Usos legítimos de los comandos de PowerShell codificados

  1. Automatización: Los administradores suelen codificar los comandos de PowerShell para automatizar de forma segura las tareas rutinarias, garantizando que se ejecuten sin intervención manual.
  2. Gestión de configuraciones: Los comandos codificados se utilizan para gestionar y configurar sistemas manteniendo protegidos los datos confidenciales.
  3. Transmisión segura: Codificar los comandos garantiza que se transmitan de forma segura a través de las redes, impidiendo su interceptación por partes no autorizadas.
  4. Programación de tareas: Programar tareas con comandos de PowerShell codificados garantiza que los scripts se ejecuten según lo previsto sin exponer su contenido.

Usos maliciosos de los comandos de PowerShell codificados

  1. Ofuscación por parte de los atacantes: Los atacantes pueden codificar los comandos de PowerShell para ofuscar su intención maliciosa y evitar ser detectados por las herramientas de seguridad. Esto hace que sea más difícil para los equipos de seguridad entender el propósito del comando de un vistazo.
  2. Entrega de carga útil: Los atacantes pueden utilizar comandos de PowerShell codificados para entregar y ejecutar cargas útiles maliciosas en los sistemas objetivo. Esto les permite ejecutar su malware discretamente.
  3. Técnicas de evasión: Al utilizar este comando preconfigurado, los atacantes pueden eludir las medidas de seguridad, dificultando a los defensores detectar y responder a sus actividades.

¿Cómo funcionan los comandos de PowerShell?

La forma más común de codificación que se utiliza para los comandos de PowerShell es la codificación Base64. Así es cómo funciona:

  1. Escribir el comando original: El atacante o administrador escribe un comando o script de PowerShell.
  2. Codificarlo: El comando o script se convierte en un hilo codificado en Base64. Este proceso transforma el texto legible en un hilo de caracteres que parecen garabatos a simple vista.
  3. Ejecutarlo: A continuación, el comando codificado se ejecuta utilizando PowerShell con un indicador especial que le dice a PowerShell que descodifique y ejecute el script. Esto suele hacerse con el parámetro -EncodedCommand.

¿Cómo detectar comandos de PowerShell codificados utilizando Log360?

Dado que PowerShell es una herramienta versátil que puede ser manipulada por los adversarios, Log360 ofrece varias reglas de correlación predefinidas que le ayudarán a supervisar las actividades de PowerShell. Una de las últimas incorporaciones en las reglas de rastreo de PowerShell es la regla de correlación predefinida que supervisa los comandos de PowerShell codificados de forma sospechosa. Veamos un ejemplo para entenderlo.

Ejemplo

Un atacante intenta ejecutar un comando de PowerShell codificado para descargar y ejecutar malware en el servidor de una empresa:

powershell.exe -EncodedCommand aGVsbG8gd29ybGQ=

Cuando un comando de PowerShell no sigue la directiva de ejecución y contiene codificación u ofuscación, suele indicar que existe una actividad maliciosa. Los atacantes utilizan estas técnicas para ocultar la verdadera intención de sus comandos y eludir las medidas de seguridad.

  • Comando legítimo: powershell.exe -ExecutionPolicy RemoteSigned -File script.ps1
  • Comando sospechoso: powershell.exe -EncodedCommand aGVsbG8gd29ybGQ=

El comando sospechoso utiliza -EncodedCommand para ocultar sus acciones, lo que podría indicar un intento de ejecutar código malicioso.

¿Cómo funciona la detección de comandos de PowerShell codificados en Log360?

La regla verifica dos cosas:

  1. Una comprobación de la directiva de ejecución: Busca comandos de PowerShell que no sigan la directiva de ejecución RemoteSigned. Esta directiva garantiza que los scripts procedentes de fuentes remotas (como Internet) deben estar firmados digitalmente para poder ejecutarse, lo que reduce el riesgo de ejecutar código no fiable.
  2. Detección de comandos codificados:: Identifica los comandos de PowerShell que contienen hilos específicos como -e, -en, -enc y -w oculto -e. Estos hilos se suelen utilizar para codificar u ofuscar comandos, dificultando su lectura y comprensión.

¿Qué ocurre en Log360?

  1. El comando codificado se detecta porque utiliza el parámetro -EncodedCommand.
  2. La regla comprueba si el comando se salta las directivas de seguridad normales (como RemoteSigned).
  3. Si el comando coincide con los criterios de la regla, se genera una alerta.

¿Cómo detectar comandos de PowerShell codificados

Figura 1: Informe de correlación predefinido en Log360 que muestra incidentes de líneas de comandos de PS codificadas sospechosas que se ejecutaron

¿Qué hacer cuando detecta que se está ejecutando un comando codificado?

  1. Investigar la alerta.
    • Descodifique y revise el comando de PowerShell para comprender su intención.
    • Examine los logs del sistema y de seguridad para rastrear la actividad asociada al comando.
  2. Identificar la fuente.
    • Identifique qué usuario o sistema ejecutó el comando.
    • Revise la actividad del usuario o del sistema para identificar cualquier otro comportamiento sospechoso.
  3. Poner el sistema en cuarentena.
    • Evite más actividades potencialmente maliciosas desconectando el sistema de la red si es necesario.
  4. Mitigar y remediar.
    • Elimine cualquier archivo malicioso o carga útil descargada por el comando de PowerShell.
    • Restablezca las contraseñas de las cuentas que puedan haberse visto comprometidas.
    • Asegúrese de que todos los sistemas están actualizados con los últimos parches de seguridad.
  5. Mejorar sus medidas de seguridad.
    • Refuerce sus directivas para la ejecución de PowerShell, como exigir que todos los scripts estén firmados.
    • Monitoree continuamente las actividades sospechosas utilizando herramientas de SIEM.
  6. Educar y formar.
    • Eduque a los empleados sobre los ataques de phishing y los peligros de abrir archivos adjuntos sospechosos.
    • Realice pruebas regulares para mejorar la concienciación del usuario y sus respuestas a los intentos de phishing.
  7. Reportar el incidente.
    • Notifique el incidente a su equipo de seguridad interno y a las partes interesadas.
    • Si es necesario, reporte el incidente a las autoridades externas o a los equipos de respuesta a incidentes cibernéticos.

Para entender mejor cómo Log360 detecta las ciberamenazas complejas, regístrese para recibir una demostración gratuita.

Para una gestión de activos fácil y efectiva en la que confían las siguientes empresas

Solución integral para la gestión de registros y la auditoría de Active Directory