Hace unos días, compartimos con ustedes parte del informe realizado por investigadores de ESET acerca del crecimiento y la evolución de los bootkit durante el 2011. Hoy vamos a hablar acerca de algunas de las técnicas utilizadas por estos códigos maliciosos para ocultar información dentro del sistema. Repasaremos cómo hacen amenazas como TDL4, Olmasco y ZeroAccess para ocultar su actividad en un sistema infectado mediante la implementación de un sistema de archivos propio, evitando utilizar los servicios del sistema operativo y dificultar su detección.

Sistema de archivos de TDL4

Detectado por ESET NOD32 Antivirus como Win32/Olmarik, el sucesor de TDL3 y TDL3+ esta familia de códigos maliciosos utiliza técnicas de sus predecesores en cuanto al almacenamiento de su información. Mediante la protección con un cifrado RC4 y la utilización de hooks de bajo nivel,  reserva espacio al final del disco duro en dónde crea su propio sistema de archivos. Un análisis detallado de este código malicioso se puede encontrar en el trabajo de investigación realizado por Eugene Rodionov y Aleksandr Matrosov: "The Evolution of TDL: Conquering x64".

Sistema de archivos de Win32/Olmasco

Los desarrollares de esta amenaza fueron más lejos en el diseño y los detalles de implementación del sistema de archivos oculto. El sistema de archivos de Olmasco, se asemeja al esquema utilizado por TDL4 pero cuenta además con otras funcionalidades:

  • Un esquema de soporte para la organización de archivos y carpetas.
  • Verificación de integridad de archivos para corroborar si los componentes están dañados.
  • Mejor gestión de las estructuras internas del sistema de archivos.

A diferencia de la implementación de TDL4, que solo puede almacenar archivos, las capacidades de Win32/Olmasco le permiten organizar la información en carpetas y directorios. El directorio raíz se denota con una contra barra (backslash ""), igual que en los sistemas de Microsoft.

Por ejemplo, si se observa a la VBR (Volume Boot Record) de la partición oculta creada por Win32/Olmasco, el código de esta amenaza carga un archivo con el nombre boot desde el directorio raíz.

Además, al leer un archivo este código malicioso realiza algunas comprobaciones con el fin de detectar la corrupción de su contenido, en parte esto se debe a la existencia de un campo que contiene el CRC32 del contenido del archivo. Si Win32/Olmasco detecta que un archivo está dañado, elimina la entrada correspondiente del sistema de archivos y libera a los sectores ocupados. En la siguiente imagen se puede observar esta acción:

La implementación del sistema de archivos en este código malicioso es más compleja que la de TDL4, por lo tanto requiere un manejo más eficiente en lo que respecta a la administración del espacio libre, su utilización y el manejo de las estructuras de datos. Con el objetivo de soportar estas funcionalidades, se han introducido determinados elementos para mantener su integridad. Parte de la estructura de este sistema de archivos se asemeja a NTFS (New Technology File System).

Sistema de archivos de ZeroAccess

Otra de las familias de malware que implementa un sistema de archivos ocultos es el rootkit ZeroAccess, detectado por ESET NOD32 Antivirus como Win32/Sirefef. Al igual que TDL4 y Win32/Olmasco, almacena parte de su código y sus datos de configuración en en un sistema de archivos personalizado que oculta del sistema operativo. En este caso, el contenido de los archivos se almacenan dentro de un archivo en el sistema operativo en lugar de en particiones de disco separadas. Por este motivo, ZeroAccess crea el directorio “WindowsDir$NtUninstallKB_BotId$BotId” en dónde almacena su información.

Como hemos observado, estas tres amenazas implementan técnicas complejas para ocultar su comportamiento y evitar así su detección. Con el objetivo de evitar que un sistema sea infectado con este tipo de códigos maliciosos es necesaria la utilización de una solución de seguridad con capacidad de detección proactiva que detecte y elimine del sistema cualquier amenaza que pueda perjudicar la privacidad e integridad de la información del usuario.

Pablo Ramos
Especialista en Awareness & Research