Rastrear, detectar, y detener malware y ataques basados en PowerShell


Por
Anson Joel Pereira 

  

Mientras que el malware y los ataques tradicionales se basan archivos ejecutables específicamente diseñados para poder funcionar, el malware fileless reside en la memoria para evadir los escáners tradicionales y métodos de detección. PowerShell, una herramienta legítima de gestión usada por administradores de sistema, ofrece una cubierta ideal pera los actores maliciosos que desarrollan cargas maliciosas que dependen fuertemente de su integración con Windows. Trend Micro ha publicado múltiples reportes acerca de este fenómeno el cual ha sido validado por datos de telemetría. 

 

¿Qué es Power Shell? 

 

PowerShell es un lenguaje de scripting y una línea de comando shell basado en clases .NET que ayuda a los administradores de sistema automatizar tareas en la gestión de los sistemas operativos. Es una actualización del CLI (Command Line Interpreter) de Microsoft desde los días de MS-DOS, y que se ha integrado a Windows desde el lanzamiento de Windows XP SP2. Aunque su predecesor, COMMAND.COM, tenía numerosas funcionalidades y soportaba un lenguaje de scripting limitado, no podía manejar todas las partes de un sistema operativo (OS) y algunas tareas requerían interacción con la Graphical User Interface (GUI). PowerShell habilita un acceso más rápido y mejorado al sistema operativo subyacente (como el almacenamiento de registros y certificados), permitiendo que los usuarios y administradores gestionen más funciones de un sistema de forma local así como de forma remota. También es de código abierto e incluye un lenguaje de scripting totalmente desarrollado. Más allá de Windows, PowerShell también soporta otras plataformas como Linux y macOS. 

La interacción de PowerShell ocurre a través de cmdlets, los cuales son comandos que permiten acciones sobre los objetos .NET, que a su vez dan acceso directo a los usuarios al sistema completo. Aunque ya existen muchos cdmlets oficiales, cualquier funcionalidad faltante deberá añadirse escribiendo nuevos comandos que hagan interfaz con los objetos .NET deseados. 

[Lea: Entendiendo a las amenazas fileless] 

 

¿Qué hace de PowerShell un vector de ataque efectivo? 

 

Archivos infectados con virus y troyanos maliciosos son algunos tipos de malware establecidos, y los desarrolladores cuentan con varias técnicas de detección y mitigación para defenderse contra ellas. Los navegadores verifican los archivos descargados; las aplicaciones necesitan aprobación de permisos antes de la instalación; el software de seguridad puede escanear los archivos a escribir, leer y/o ejecutar para revisar y encontrar firmas conocidas. Incluso el malware detectado a través de macros de Microsoft Office son obstruidos por configuraciones por defecto que ya no permiten la ejecución automática. 

Los atacantes pueden usar malware fileless para evadir estos controles al inyectar cargas maliciosas en aplicaciones que ya están corriendo o al utilizar scripting. PowerShell es un canal ideal para entregar estos ataques debido a su amplia implementación y acceso a todas las partes de un host a través del framework .NET. Además es fácil desarrollar scripts aplicables para la entrega de cargas y, porque PowerShell es una aplicación confiable, casi siempre se le permitirá ejecutar scripts con impunidad. 

 

Ataques e infecciones prominentes usando PowerShell 

 

Conforme los recursos para usar y abusar del PowerShell se han vuelto cada vez más comunes en línea, han surgido diferentes actores maliciosos con varios grados de sofisticación. Desde los primeros reportes en el 2014, los actores maliciosos han desplegado campañas usando técnicas de ingeniería social para infectar sistemas, combinando PowerShell con otros exploits, o aparentemente replicando otras rutinas como parte de investigaciones y desarrollos cibercriminales. 

Uno de los casos más famosos de compromiso usando PowerShell para intrusión fue vinculado con la brecha de correos electrónicos internos del Comité Nacional Demócrata por el grupo adversario Pawn Storm en el 2016. Aunque se descubrió en ese año, una investigación forense de la red mostró que el compromiso inicial sucedió en el 2015 con un backdoor entregado por medio de un comando PowerShell, mientras que otros despliegues con esa rutina comenzaron incluso en el 2014. La brecha de datos de Equifax en el 2017 demostró la profundidad y la extensión de los daños que pueden causar los actores maliciosos usando PowerShell para explotar una vulnerabilidad no parchada. En el 2018, otro grupo de ciberespionaje, APT33, mandó correos de spear phishing dirigidos hacia las industrias de la aviación y el petróleo; el archivo adjunto ejecutó un comando PowerShell qué descargo malware y que estableció persistencia dentro de la red de la empresa. 

 

Mitigación y mejores prácticas  

 

Con los administradores ocupados protegiendo y manteniendo todos los sistemas corriendo en sitio y de forma remota, la adición de amenazas fileless puede ser abrumadora para las operaciones de seguridad manuales y el personal con poca experiencia. Pero poder tener la capacidad de rastrear sus actividades, encontrar eventos y cargas maliciosas ocultas, monitorear y acostumbrarse a sus comportamientos son habilidades que pueden aprenderse y desarrollarse. 

 

Rastreando las actividades de PowerShell 

 

PowerShell es conocido por permitir una cantidad significativa actividades de registro. Estas funciones también pueden utilizarse para detectar, defender y mitigar contra el abuso de esta herramienta. Los administradores de sistema pueden habilitar estas capacidades de registro a través de Active Directory Group Policy para su implementación a lo largo de toda la empresa.

 

[image url=”https://documents.trendmicro.com/images/TEx/articles/powershell_fig1_copy.jpg” raw=”true” alignment=”center” margin_left=”0″ margin_right=”0″ margin_top=”0″ margin_bottom=”0″]

Figura 1. Configuración de Group Policy 

 

El módulo logging registra la ejecución de los diferentes módulos en un PowerShell, incluyendo las salidas y códigos ocultos. Se pueden configurar módulos específicos haciendo click en “Show”. Es mejor ingresar un valor de “*” para capturar todo para el propósito de registrarlo. 

 

[image url=”https://documents.trendmicro.com/images/TEx/articles/powershell_fig2_copy.jpg” raw=”true” alignment=”center” margin_left=”0″ margin_right=”0″ margin_top=”0″ margin_bottom=”0″]

Figura 2. Habilitando el registro de módulos  

 

El script block logging es una capacidad opcional que genera registros cuando se invocan los bloques de script de PowerShell. Asegúrese de que la característica “Log script block invocation start/stop events” está habilitada para incrementar el número de eventos registrados. Esto es importante al momento de rastrear eventos. 

 

[image url=”https://documents.trendmicro.com/images/TEx/articles/powershell_fig3_copy.jpg” raw=”true” alignment=”center” margin_left=”0″ margin_right=”0″ margin_top=”0″ margin_bottom=”0″]

Figura 3. Habilitando el registro de bloques de script 

 

Una transcripción de PowerShell registra todas las entradas y salidas de una sesión de PowerShell hacia una ubicación específica. Dependiendo de la rutina de ataque, esto puede ser de uso limitado ya que la característica no registra scripts o invocaciones directas de comando. 

 

[image url=”https://documents.trendmicro.com/images/TEx/articles/powershell_fig4_copy.jpg” raw=”true” alignment=”center” margin_left=”0″ margin_right=”0″ margin_top=”0″ margin_bottom=”0″]

Figura 4. Habilitando la transcripción de PowerShell 

 

Al habilitar estas tres características y filtrando eventos, un administrador de seguridad podrá analizar actividad de PowerShell en un sistema para determinar la extensión de una instrusión. 

 

[image url=”https://documents.trendmicro.com/images/TEx/articles/powershell_fig5_copy.jpg” raw=”true” alignment=”center” margin_left=”0″ margin_right=”0″ margin_top=”0″ margin_bottom=”0″]

Figura 5. Muestra de un log de eventos de PowerShell 

 

Durante instrucciones que involucren a PowerShell, el número de eventos requeridos para ofrecer el nivel de detalle necesario para el análisis de incidentes de seguridad es muy grande. En algunos casos, un solo comando de PowerShell (cmdlet) puede generar hasta 30 eventos. un ataque puede involucrar comandos más grandes que involucren bloques de script y ejecuciones que generan eventos que puedan abrumar a cualquier investigador. 

 

[image url=”https://documents.trendmicro.com/images/TEx/articles/powershell_fig6_copy2.jpg” raw=”true” alignment=”center” margin_left=”0″ margin_right=”0″ margin_top=”0″ margin_bottom=”0″]

Figura 6. Eventos registrados de un solo cmdlet de PowerShell 

 

El módulo de Log Inspection en Trend Micro™ Deep Security™ puede recolectar, analizar y enriquecer varios registros de sistemas operativos y aplicaciones a lo largo de los diferentes hosts y aplicaciones en la red, y permite la correlación entre ellos para ayudar a detectar problemas que pudiesen estar sucediendo. Potenciando las capacidades el módulo de inspección de logs, Trend Micro desarrolló la Regla 1010002 – Microsoft PowerShell Command Execution, dedicado a analizar todos los eventos de PowerShell. También es capaz de destacar los eventos importantes que requieren mayor análisis. 

 

[image url=”https://documents.trendmicro.com/images/TEx/articles/powershell_fig7_copy.jpg” raw=”true” alignment=”center” margin_left=”0″ margin_right=”0″ margin_top=”0″ margin_bottom=”0″]

Figura 7. Muestra de eventos en un ataque 

 

Priorizar los eventos de acuerdo con su severidad es uno de los procedimientos que ayuda a un administrador o a un centro de operaciones de seguridad  (SOC) a ver cuáles son los eventos que destacan y son los más inusuales. En esta muestra de un ataque de los logs filtrados, se ejecuta un bloque de script. Esto es considerado como una actividad sospechosa a pesar de la falta de indicadores obvios de alguna ejecución maliciosa. 

 

[image url=”https://documents.trendmicro.com/images/TEx/articles/powershell_fig8_copy.jpg” raw=”true” alignment=”center” margin_left=”0″ margin_right=”0″ margin_top=”0″ margin_bottom=”0″]

Figura 8. Log de eventos filtrados 

 

Valores específicos como SequenceNumber y RunspaceId pueden usarse para rastrear un evento a su origen, lo cual revela que dónde se invocó inicialmente el Script Mimikatz de PowerShell. Al vincular eventos con los datos correctos, un administrador puede crear una línea de tiempo del ataque real en el sistema al mismo tiempo que excluye eventos periféricos que pudieron haber ocurrido al mismo tiempo. 

 

[image url=”https://documents.trendmicro.com/images/TEx/articles/powershell_fig9_copy.jpg” raw=”true” alignment=”center” margin_left=”0″ margin_right=”0″ margin_top=”0″ margin_bottom=”0″]

Figura 9. Un evento con Severidad: Alta 


[image url=”https://documents.trendmicro.com/images/TEx/articles/powershell_fig10_copy.jpg” raw=”true” alignment=”center” margin_left=”0″ margin_right=”0″ margin_top=”0″ margin_bottom=”0″]

Figura 10. Encontrando el script de Mimikatz de PowerShell visto desde eventos específicos. 

 

El monitoreo de comportamientos y evitando la ofuscación 

 

Los actores maliciosos pueden intentar ofuscar los comandos de PowerShell usando el parámetro enc o –EncodedCommand. Este comando puede decodificarse desde el evento generado, y la regla de Log Inspection de PowerShell detectará y caracterizará el evento de acuerdo con sus características. 

 

[image url=”https://documents.trendmicro.com/images/TEx/articles/powershell_fig11_copy.jpg” raw=”true” alignment=”center” margin_left=”0″ margin_right=”0″ margin_top=”0″ margin_bottom=”0″]

Figura 11. Comandos ocultos 

 

MITRE ATT&CK 

 

El framework MITRE ATT&CK ha sido una herramienta invaluable para los investigadores de ciberseguridad en el análisis de clasificación de ciberataques. A través de la extensa cantidad de datos e investigaciones disponibles, el framework funciona como una medida de verificación para evaluar las técnicas empleadas por los grupos adversarios, así como para rastrear los desarrollos documentados de los mismos. Los eventos de PowerShell generados por Deep Security asisten el análisis de un ataque al asignar una clasificación de acuerdo con las técnicas ATT&CK apropiadas identificadas de acuerdo con el framework. La regla de PowerShell se ha evaluado contra la evaluación MITRE 2019 APT 29 y ofrece cobertura para un gran número de criterios. 

 

[image url=”https://documents.trendmicro.com/images/TEx/articles/powershell_fig12_copy.jpg” raw=”true” alignment=”center” margin_left=”0″ margin_right=”0″ margin_top=”0″ margin_bottom=”0″]

Figura 12. Cobertura de Técnicas MITRE ATT&CK 

 

Conclusión 

 

La conveniencia que ofrece el framework de PowerShell ha hecho que las tareas de administración del sistema sean mucho más sencillas, pero también aumenta la superficie de ataque para los cibercriminales y los grupos adversarios. Afortunadamente, aunque las amenazas fileless que usan PowerShell pueden no ser tan visibles como el malware y los ataques tradicionales, no es imposible detenerlas. El abuso de herramientas legítimas como PowerShell no es algo nuevo, pero continuará desarrollándose conforme los cibercriminales combinan sus tácticas con otras técnicas. 

Incluso las mejores prácticas tradicionales” – como actualizar los sistemas con los últimos parches funcionan contra las amenazas fileless, como los ataques PowerShell, cuando son combinadas con otros vectores de amenaza. Sin embargo, las tecnologías de seguridad en constante evolución que emplean defensa intergeneracional e interconectada, así como el desarrollo de una cultura de seguridad y de awareness entre los usuarios, permite que los gerentes de TI, los tomadores de decisión y y los administradores se defienden contra ellas  

 

Soluciones de Trend Micro 

 

Trend Micro™ Deep Security™ Protege sistemas y usuarios contra malware y ataques que abusen de PowerShell. Esta solución ofrece seguridad de red, seguridad del sistema y prevención de malware, y, combinada con Vulnerability Protection, puede proteger los sistemas de usuario frente a una gran variedad de amenazas emergentes dirigidas a vulnerabilidades. Deep Security ofrece una solución de seguridad integral para servidores que detecta amenazas, como vulnerabilidades, malware y cambios no autorizados, y protege los servidores contra ellas. 

Otras soluciones de seguridad de Trend Micro que pueden aplicarse para defender contra las técnicas y ataques que abusan PowerShell. Las Smart Protection Suites entregan varias capacidades como machine learning de alta fidelidad y servicios de reputación web que minimizan el impacto de amenazas persistentes y fileless. la protección de Trend Micro Apex One emplea una variedad de capacidades de detección de amenazas, análisis de comportamiento que protege contra scripts maliciosos, inyección, ransomware y ataques a la memoria y al navegador relacionados con amenazas fileless. Además, Apex One Endpoint Sensor ofrece investigación y respuesta de endpoints (EDR) sensible al contexto que monitorea eventos y examina rápidamente procesos o eventos relacionados con actividades maliciosas. La solución Trend Micro Deep Discoverytiene una capa de inspección de correo electrónico que pueda proteger a las empresas al detectar archivos adjuntos y URLs maliciosos. Deep Discovery puede detectar los scripts remotos incluso si no se están descargando al endpoint físico. 

También es importante monitorear proactivamente los endpoints y las redes. Las amenazas fileless pueden no ser tan visibles como otro malware, pero también dejan señales distintivas que los equipos de TI y de seguridad pueden buscar, como el tráfico de red sospechoso (para comunicación C&C y exfiltración de datos). Por ejemplo el sandbox personalizado de Trend Micro, el cual está integrado en Deep Discovery vía Deep Discovery Analyzer, Deep Security, yOfficeScan, puede interceptar APIs y revisar líneas de código cuya tarea es ejecutar las técnicas o rutinas de evasión del malware. 

Implementar monitoreo de comportamiento también ayuda a supervisar y bloquear comportamientos sospechosos y rutinas relacionadas con el malware. Las soluciones de endpoints de Trend Micro, como Trend MicroSecurity, OfficeScan, yWorry-Free Business Security incluyen monitoreo del comportamiento para detectar amenazas fileless basadas en scripts. Esto ayuda a las organizaciones a buscar comportamientos maliciosos y bloquear el malware antes de que el comportamiento sea ejecutado. OfficeScan también puede incluir una característica de control de dispositivos que previene que dispositivos removibles, como USBs, sean accesibles, evitando así que sean usados como vectores para amenazas fileless. 


Posted

in

,

by

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.