AltFS busca evadir detección antivirus
Investigadores de SafeBreach han desarrollado una librería open source que crea un “filesystem” sin archivos en la unidad de almacenamiento, residente en recursos del sistema operativo como lo son el registro de Windows, WMI (Windows Management Instrumentation) o el sistema “user defaults” de macOS. Este sistema fue creado para demostrar cómo un marco de aplicación filesystem sin archivos puede ser creado para ayudar al software antivirus a detectarlo.
Para evadir la detección en los sistemas de sus víctimas, los atacantes recientemente han dejado el almacenar su malware en disco y mantienen su malware almacenado solamente en memoria volátil (RAM) directamente. para lograr la permanencia en el sistema infectado, los atacantes requieren que su malware escriba archivos al disco o almacenen comandos Powershell para descargar y reinstalar el malware. Sin embargo, ésto aumenta el riesgo de ser detectado.
En su esfuerzo por crear un sistema de archivos persistente y difícilmente detectable, el investigador Dor Azouri de SafeBreach ha publicado una librería python llamada AltFS en GitHub. Dicha librería permite crear un filesystem que reside únicamente en recursos del sistema como el registro de Windows, WMI o “user defaults” de macOS.
Al almacenar datos en recursos del sistema, AltFS crea una estructura de árbol que consiste en un superbloque que representa el sistema de archivos y las diferentes cadenas de datos usadas para cada archivo. Cada bloque de datos contiene el ID del siguiente bloque, lo que permite a AltFS reconstruir los datos almacenados. Un ejemplo de un superbloque y dos cadenas de archivo se ve a continuación:
Para crear un filesystem AltFS, puedes cargar la librería y crear una nueva instancia AltFS especificando el proveedor de almacenamiento que deseas usar. Como se ha mencionado, los proveedores disponibles actualmente son RegistryStorageProvider (registro de Windows, UserDefaultsStorageProvider (User defaults de macOS) y WMIStorageProvider (sistema WMI en Windows).
En el siguiente ejemplo se usó RegistryStorageProvider. Cuando un archivo se guarda en AltFS, será partido en múltiples bloques de datos almacenados como valores REG_BINARY.
Aquí podemos ver cómo se muestran los datos binarios en el registro.
Al ser cuestionados sobre la posible detección de archivos almacenados con AltFS por parte de software antivirus, SafeBreach mencionó sus planes para probar esto en un futuro; su enfoque actual es demostrar el marco de aplicación fileless para su uso por parte de investigadores para su mejora. Asímismo, extendieron una invitación a la comunidad para usar una plantilla puesta a disposición, con la cual es posible crear otros proveedores de almacenamiento en otros sistemas operativos. Con esto buscan lograr mejorar la detección de este recurso por parte de software antivirus y así reforzar la seguridad en sistemas computacionales.