Un código malicioso se aloja en uno de los equipos de nuestra empresa. Mientras el equipo permanece encendido, el código comienza a recolectar información de los usuarios de otros empleados y permisos de administración a través de la red. Acto seguido, encuentra las unidades más valiosas de la compañía y se dirige a ellas. Es entonces cuando comienza a recabar información sensible. Lo peor es que la solución de ciberseguridad de la empresa no ha detectado que se haya instalado ningún archivo que pueda ser una amenaza. Es decir, el código ha causado un enorme daño pero ha pasado como un fantasma: no ha dejado ningún rastro.

Esta situación de pesadilla es real. Hace más de un año ya describimos el peligro de este tipo de Advanced Volatile Threat (AVT), más conocido como el malware sin fichero. Entonces explicamos que está diseñado para no escribirse en el disco duro y trabajar desde la memoria, como por ejemplo la RAM. Al no necesitar archivos en el disco duro, los sistemas de protección tradicionales no son capaces de detectarlo y eso plantea varios desafíos de ciberseguridad. Pero, ¿cómo pueden hacer eso? En muchos casos, uno de sus principales vectores de ataque es PowerShell.

Imagen de Powershell. Fuente: Microsoft

El vector perfecto

Para el malware sin fichero, PowerShell -la consola de sistema (CLI) de Windows-  supone un vector de ataque perfecto. Hay que tener en cuenta que PowerShell permite a los administradores de sistemas automatizar tareas de manera total sobre servidores y equipos, por lo cual, si los ciberatacantes se hacen con su control, pueden llegar a adquirir muchos permisos en los sistemas de la empresa, incluyendo la posibilidad de introducir más malware impunemente. Además, PowerShell va más allá de Windows y también permite controlar determinadas aplicaciones como Microsoft Exchange, SQL Server o IIS.

Con esas capacidades, el malware sin fichero suele utilizar PowerShell para introducir en la consola su código malicioso alojándose en la memoria RAM. Una vez ejecutado el código dentro de PowerShell, se convierte en un vector de ataque “lateral” dentro de las redes corporativas, es decir, no hace una entrada externa con una propagación desde el servidor central.

Además, al no existir ningún rastro del código en el disco duro del primer equipo infectado, ni Windows Defender ni muchos de las soluciones de seguridad tradicionales detectan el ataque, salvo bajo sistemas de monitorización heurística que se lleven a cabo frecuentemente.

Cómo contrarrestar el malware sin fichero

La primera medida contra el malware sin fichero es muy sencilla, aunque puede no ser válida para todas las organizaciones y redes corporativas: se trata de deshabilitar PowerShell en caso de que no sea necesario para administrar los sistemas. Para ello, los administradores deben estar usando otro tipo de herramientas para automatizar las tareas. En esos casos, no tener PowerShell habilitado será la mejor medida de prevención.

Si PowerShell no puede ser deshabilitado por su uso habitual por parte de los administradores, la segunda medida consiste en asegurarse que los equipos y la red corporativa de la organización cuenta con la versión más actualizada de PowerShell. En este caso, PowerShell 5 cuenta con medidas de seguridad adicionales para Windows.

Otra medida consiste en dejar habilitadas solo determinadas características de PowerShell, como hace el modo de Constrained Language (lenguaje limitado). Esto puede evitar acciones potencialmente peligrosas, como las llamadas arbitrarias a APIs de Windows o la desactivación de ciertos macros, pero no evitará todos los tipos de ataques.

Por otro lado, Microsoft ha implementado características cada vez más avanzadas de logueo en Powershell, esto es, de grabación automática de los comandos, especialmente en acciones que resultaron ser un síntoma de ciberataques. Tener activado esta característica de grabación puede ayudar a las empresas en sus tareas forenses una vez se sospecha que se ha producido un ciberataque de malware sin fichero.

Por último, es importante que las organizaciones cuenten con soluciones de ciberseguridad avanzadas. En este sentido, Panda Adaptive Defense utiliza tecnologías preventivas como servicios de antimalware permanente gracias al empleo de big data y machine learning para detectar ataques basados en comportamientos anómalos. En este sentido, nuestra tecnología de análisis por comportamiento y detección de IoAs (scripts, macros, etc.) permite a las organizaciones anticiparse y denegar la ejecución de procesos desconocidos como los que puede generar el malware sin ficheros.