viernes, 22 de diciembre de 2017

¿Cómo funciona el nuevo malwares “sin archivos”?


A diferencia de los ataques que se llevan a cabo utilizando un malware tradicional, los ataques del malware “sin archivos” no hacen que los hackers instalen algún software en la máquina de la víctima. En lugar de eso, los atacantes toman herramientas que están incorporadas a Windows y las usan para llevar a cabo el ataque. Esencialmente, Windows se ataca así mismo.

El hecho de que un malware tradicional no se use es un punto importante. Esto significa que no hay una firma de antivirus para detectar, así decrece la efectividad de estos programas detectando los ataques del malware sin archivos, y mientras la siguiente generación de productos de seguridad afirma detectar actividad de PowerShell maliciosa, la realidad es que descubrir malware sin archivos es un verdadero reto explica Jim Gil, un experto de seguridad informática de International Institute of Cyber Security (IICS).

¿Cómo funciona éste malware?


Éste ataque involucra tomar por default las herramientas de Windows, particularmente PowerShell y Windows Management Instrumentation (WMI), y lo utiliza para actividad maliciosa, como mover información a otras máquinas. PowerShell y WMI son herramientas de la preferencia de los hackers ya que están instaladas en cada máquina de Windows, capaz de llevar a cabo comandos (PowerShell por ejemplo, puede ser utilizada para automatizar tareas en múltiples máquinas) y han sido incorporadas al flujo de trabajo diario de muchos profesionales de IT, haciendo casi imposible que los trabajadores se priven de su uso.

Usando programas legítimos hace que estos ataques sean casi indetectables para la mayoría de programas de seguridad e incluso analistas de seguridad. La razón es muy sencilla: ya que PowerShell y WMI son programas legítimos, cualquier comando que ejecuten se asume como legitimo explica Jim Gil.

POWERSHELL


Es un lenguaje de programación que provee acceso sin precedentes al interior de una máquina, incluyendo acceso irrestricto a las API de Windows.

PowerShell también ofrece el beneficio de ser una parte inherente de Windows que es completamente confiable para que así los comandos que ejecute sean usualmente ignorados por el software de seguridad explica Jim Gil.

La habilidad de PowerShell de correr remotamente a través de WinRM la hace una herramienta aun mas atractiva. Ésta característica permite a los hackers pasar el Firewall de Windows, correr la programación de PowerShell o simplemente iniciar una sesión interactiva de PowerShell, otorgando un control completo de administración sobre un endpoint. Si WinRM se apaga, se puede prender a través de WMI usando una sola línea de código.

Usar PowerShell en el malware sin archivos, borra completamente la linea entre comprometer sólo una máquina y comprometer una empresa. El momento en el que el hacker tiene un nombre de usuario y contraseña para una máquina (que pueden ser fácilmente obtenidas mediante los escenarios de PtH y PtT), el camino para complementar la acción queda abierto.

Acercamientos tradicionales a la seguridad quedan inservibles frente el malware sin archivos que utiliza PowerShell ya que la herramienta es de renombre, tiene una firma confiable, se carga directamente a través de la memoria del sistema (el cual no puede ser escaneado) y tiene acceso libre al sistema operativo porque es una parte integral de Windows.

WINDOWS MANAGEMENT INSTRUMENTATION (WMI)


WMI permite a los administradores realizar varias acciones , como juntar métricas, instalar software y actualizaciones o hacer consultas al sistema operativo. WMI tiene acceso a todos los recursos de una computadora, y se divide en clases para diferentes tareas como ejecutar archivos, borrar y copiar archivos y cambiar los valores de registro. Ésta herramienta está puesta en cada versión moderna de Windows y es la columna de los “agentless”.

Éstas características hacen que WMI sea una bendición pues permite que los administradores realicen tareas muy rápido, pero cuando es usada para operaciones maliciosas se convierte en una maldición. De la misma manera en la que un administrador utiliza WMI para consultar métricas y ejecutar códigos, un hacker lo puede usar para sigilosamente correr un código malicioso a través de una red de computadoras. WMI permite la persistencia para auto-correr programas sigilosamente en el inicio o basado en eventos específicos. WMI no puede ser desinstalado, pero puede ser desabilitado. Sin embargo, esto perjudica y limita lo que el administrador pueda hacer, como actualizaciones de software en varias computadoras.

LA CRECIENTE AMENAZA DEL MALWARE SIN ARCHIVOS


Técnicamente, estos ataques no son nuevos. Muchas de las técnicas utilizadas por este malware han estado presentes desde hace tiempo. Las explotaciones “in-memory” eran prominentes en el virus SQL Slammer de inicios del 2000, pero el desarrollo y distribución a gran escala de los kits de explosión ha hecho que los ataques Sin Archivos sean mucho más común. Por ejemplo, los marcos ofensivos del PowerShell como Metasploit y CobaltStrike son especialmente abusados ya que pueden ser utilizados para crear ataques de payload de PowerShell.

Y, por supuesto, los ataques Sin Archivos llaman la atención de los hackers pues los softwares de antivirus no pueden detectarlos y muchas herramientas avanzadas de seguridad batallan mucho encontrando el uso malicioso del PowerShell.

La dificultad que las organizaciones enfrentan en detectar estos ataques combinado con la disponibilidad de estas técnicas es realmente la razón de porque esta táctica esta siendo adoptada exponencialmente.

DETECCIÓN Y PREVISIÓN DEL MALWARE SIN ARCHIVOS


¿Qué lo hace tan difícil de detectar?

Estos ataques están principalmente en la memoria y usan el sistema legitimo de herramientas para ejecutarse y propagarse, haciendo del uso del PowerShell algo legítimo y la actividad del hacker algo muy difícil de encontrar. PowerShell es utilizado por los administradores de IT para realizar varias actividades en un día, así que el uso excesivo del PowerShell no crea sospecha alguna. Debido a que PowerShell se utiliza muy frecuentemente, los profesionales de seguridad no cuentan con el tiempo de revisar tareas, accesos, notar sospechas e investigar el incidente según expertos de seguridad informática de Webimprints.

Además,  ciertas características en PowerShell hacen que sea difícil averiguar cuando la herramienta está siendo utilizada por hackers. Por ejemplo, PowerShell 2, que es la versión más utilizada de esta herramienta, genera eventos de acceso que informan cuando el motor se enciende y se apaga, pero no da mucha información. Esto significa que estos accesos pueden no ser analizados para determinar si un payload malicioso fue puesto en marcha.

En PowerShell 3, Microsoft añade la opción para un acceso manual, que permite a los analistas y productos de seguridad determinar si los archivos escritos fueron invocados y los parámetros correspondientes que les pasaron. El módulo de acceso tiene sus defectos: analistas y productos de seguridad pueden no estar disponibles para manejar la cantidad de información que produce. PowerShell incluye innovaciones de seguridad pero no están disponibles por default y los hackers pueden evadir estas características regresando a la versión 2.

Un error común es pensar que al desactivar PowerShell se podrán prevenir los ataques Sin Archivos. Desafortunadamente, este acercamiento sólo hará que los trabajos de los profesionales de IT sean más retardados. Microsoft ha hecho del uso de PowerShell algo casi esencial en sus productos. Microsoft diseñó el GUI que sólo permite a los usuarios completar las funciones administrativas comunes. A PowerShell se le pide llevar funciones menos comunes. Todos los productos de Microsoft usan PowerShell.

¿Cómo puede un profesional de seguridad saber si se está usando PowerShell en contra de una empresa? 

La detección por conducta es la mejor manera para responder esa pregunta. Buscar señales asociadas a un mal uso de PowerShell (como una sesión de PowerShell ejecutada usando un comando codificado mediante una linea de comandos), provee al equipo de seguridad evidencia que necesitan para investigar incidentes que pueden ser la instancia del mal uso de PowerShell.