Microsoft PowerShell y las nuevas fronteras del malware

(Para david mallorca)
16/06/21

La mayoría de los usuarios de Microsoft Windows (en particular, los administradores de sistemas) habrán oído hablar, al menos una vez, de windows PowerShell, un intérprete de comandos (más propiamente definido "shell", muy similar a intérpretes como Bash en Linux) a través del cual es posible "manejar" varias funcionalidades del sistema operativo. Estas características incluyen, por ejemplo, la capacidad de copiar y mover archivos, descargar aplicaciones de forma remota, pero también verificar la lista de servicios que se están ejecutando actualmente. Los comandos PowerShell también se les llama cmdletsy representan una combinación de funciones que normalmente se incluyen en un solo comando. Por ejemplo, el cmdlet Convertir a XML crea una representación XML de un objeto.

Lo que ciertamente es menos conocido por los iniciados es el hecho de que PowerShell a menudo se utiliza para realizar funciones maliciosas. La idea es simple: las funciones proporcionadas por el shell le permiten ejecutar comandos avanzados del sistema, que también pueden ser dañinos para el propio sistema si se usan incorrectamente (por ejemplo, cargar archivos adicionales en la memoria, descargar archivos maliciosos de la red, etc. ). Esta es una gran ventaja para atacar sistemas Windows sobre las técnicas tradicionales de explotación de vulnerabilidades, que implican la ejecución de código malicioso mediante la explotación de vulnerabilidades en programas ya presentes en la máquina de destino (normalmente desactualizados). Mediante PowerShellPor lo tanto, no es necesario explotar las vulnerabilidades específicas de la aplicación o del sistema operativo, pero los ataques se pueden realizar directamente.

PowerShell A menudo se utiliza indirectamente mediante el uso de vectores de infección, a menudo representados por archivos de Word y Excel. De hecho, estos archivos contienen macros, o procedimientos automáticos que normalmente deberían facilitar la escritura de documentos u hojas de cálculo (por ejemplo, llenar automáticamente ciertas celdas o realizar ciertos cálculos en múltiples celdas). También en este caso, estas macros se utilizan a menudo en contextos absolutamente "benignos", pero pueden implementar funciones para generar códigos PowerShell. Por otra parte, PowerShell también se puede usar directamente, creando un shell inverso que puede permitir que un atacante use toda su funcionalidad.

Otra característica del código PowerShell es la capacidad de "esconderse" de los ojos de un analista, de tal manera que no se hagan evidentes las acciones de uno. Esta característica toma el nombre de ofuscación. Por lo tanto, es posible tomar un código muy simple y complicarlo enormemente, sin cambiar su semántica (es decir, el programa funciona exactamente de la misma manera que la versión no ofuscada).

Para contrarrestar y analizar el malware PowerShell nublada, la investigación científica ha hecho grandes avances en los últimos años. En particular, dos estudios de la Universidad de Cagliari [1,2, XNUMX] han desarrollado técnicas eficientes para poder desenmascarar estos ataques. En particular, una herramienta de código abierto llamada PowerDecode, capaz de obtener el código PowerShell original de su variante borrosa. PowerDecode se puede descargar libremente [3].

Software malicioso PowerShell por lo tanto, constituyen un riesgo importante para los sistemas Windows, especialmente cuando se cargan desde documentos de Office. Sin embargo, la investigación es activa para proponer soluciones cada vez más eficientes para poder analizar y detectar esta categoría de ataques.

Referencias

[1] P. Ugarte, D. Mallorca, F. Cara y G. Giacinto. PowerDrive: Des-ofuscación y análisis precisos de PowerShell Malware, 16ª Conferencia sobre Detección de intrusiones y Malware y evaluación de vulnerabilidades (DIMVA) Springer, Gotemburgo, Suecia, págs. 240-259, 2019.

[2] GM Malandrone, G. Virdis, G. Giacinto y D. Maiorca. PowerDecode: un decodificador de scripts de PowerShell dedicado al análisis de malware. En la 5a Conferencia Italiana de Ciberseguridad (ITASEC), 2021.

[3] PowerDecode. https://github.com/Malandrone/PowerDecode