domingo, agosto 18, 2024

Evil Signature Injection: Borrado remoto de bases de datos, buzones de correos y ficheros de log con Evil Signatures y tu EDR

Después del incidente con Crowdstrike, uno de los EDR más famosos del mundo, los ojos de los investigadores de seguridad se han puesto en ellos. Tener en el sistema objetivo de un ataque un software que se ejecuta con tantos privilegios se ha convertido en oportunidad de usarlo como herramienta del atacante en lugar de temerlo como una herramienta defensiva.
Ayer sábado, tranquilo por la tarde, comencé a repasar las charlas de BlackHat y DefCON, y me topé con el trabajo de EDR Reloaded: Erase Data Remotely de los investigadores Tomer Bar y Shmuel Cohen. Desde el principio me encantó la idea por lo simple y hacker que es, y sobre todo, porque es algo que hacíamos nosotros hace muchos años.

Back in 2012 with Eicar

En el año 2012, durante un tiempo, estuve jugando mucho con los Terminal Services y la Apps en Citrix. Escribí muchos posts sobre ellos, y acabé dando una charla junto al gran Juan Garrido en DefCON sobre Terminal Hackpplications llamada "Bosses love Excel, hackers Too", donde llevábamos, además de muchos de estos trucos que quedaron en el blog, una idea del gran Silverhack de meter la shell en EXCEL y desde una sesión de Terminal Services o Citrix controlar la máquina. 


Figura 2: Bosses love Excel, hackers too

Entre los trucos, estaba el de forzar que cantara el antivirus del servidor incluyendo la firma de EICAR para testar si estaba siendo investigada por un Antimalware (aún no se utilizaba el concepto de EDR), y cuál era en concreto. Lo dejé en el artículo: "Eicar para hacer jailbreak en Terminal Services o Citrix".
La gracia era qué, si saltaba la consola del antivirus, o una alerta, podríamos llamar a la ayuda, sacar un explorador de ficheros y abrir el sistema completo. Es decir, hacer Jailbreak a una sesión de Terminal Services o Citrix mediante un firma de una muestra de malware "ficticia", como era EICAR.

Erase Data Remotely with Evil Signatures

Ese concepto de "Firma Maliciosa" o "Evil Signature" es lo que han utilizado los investigadores para hacer que se borren ficheros, aprovechándose de Windows Defender en los sistemas Microsoft, y de otros EDR en sistemas GNU/Linux, generando una Evil Signature que ingresan en el sistema de diferentes maneras, ya sea incluyéndola en un fichero binario, en un doc, en una llamada HTTP, en una consulta SQL, o en un alta de un usuario de una plataforma SaaS.
La idea es tan sencilla como, buscar las firmas que usa Windows Defender, y probar para tener tener el mínimo de caracteres necesarios para que el EDR de Microsoft lo detecte como si fuera un malware de severidad HIGH, para lograr que la acción que se lance sea la más drástica, es decir, eliminar el fichero. 
El resto es conseguir que el fichero ese sea el que quiere borrar el atacante. Así que, a partir de ese momento, es objetivo es ver cómo meter la firma más pequeña en el sitio adecuado para saber qué fichero quieres que borre el EDR que está protegiendo esta máquina.
En el ejemplo anterior, la Evil Signature se introduce simplemente en un parámetro por POST desde una llamada HTTP, para conseguir que Windows Defender elimine los logs del servidor de Web de la máquina.
Lo mismo se puede hacer con una sesión Windows FTP, en este caso inyectando la Evil Signature como si fuera el nombre del usuario, pero al inscribirse este username en el fichero de log, salta el EDR y se carga el archivo completamente porque es severidad High.
Esto, en determinados sistemas puede ser más crítico. En este caso, se carga el mailbox de un Mozilla  ThunderBird, que no le hará ninguna gracia al usuario que, sin hacer ninguna acción se acaba de quedar sin ninguno de sus correos almacenados.
También, se puede lograr que Windows Defender elimine su propio log, lo que es una maravilla para borrar los rastros que un atacante deja en un sistema.
Además, se puede lograr que la víctima expanda el ataque, ya que si el fichero de log pasa al servidor de logs, se llevará la Evil Signature consigo, así que si tenemos un Splunk, éste acabará siendo afectado también.

Pero lo peor de este ataque es que si lo consigues meter en el Datafile de una base de datos y que el EDR lo tome como un malware de severidad High, entonces podrías conseguir eliminar la base de datos de un objetivo, lo que no debe ser gracioso para nadie.
En este caso, los investigadores han sido capaces de que el EDR se cargue bases de datos de MariaDB ( MySQL), PostgreSQL, MomgoDB (adiós a tu BigData) y SQLLite, lo que podría dejar sin funcionar la gran mayoría de servicios y aplicaciones que corren sobre ellos.
Y por supuesto, también se pueden hacer los ataques desde servidor a cliente. En este caso sería un Client-Side Attack que se puede hacer por culpa de visitar un servidor vulnerado, o por un ataque a través de él.
Y el cliente ve cómo se le borran los ficheros del sistema a través del EDR que tenga configurado para "protegerlo" de los atacantes. Paradojas de la vida.
La gracia es que podría hacerse un CSRF, un XSS, un SSRF, o cualquier otro Client-Side Attack para que un atacante haga un Evil Signature Injection en tu equipo y tengas un problema de seguridad serio. Por suerte, los reportes han sido tomados en serio y - tras varias iteraciones - se han corregido, pero esta técnica hay que tenerla en cuenta porque cualquier software privilegiado que corra en tu máquina podría ser víctima de Evil Signature Injection y tener un problema serio en tu plataforma.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


No hay comentarios:

Publicar un comentario