Pagefile.sys Pagefile Secrets: artefactos útiles para el científico forense informático





Ocurrió un incidente desagradable en una gran institución financiera: los atacantes ingresaron a la red y "limpiaron" toda la información crítica; copiaron y luego enviaron los datos a su recurso remoto. Los expertos forenses del Grupo IB pidieron ayuda sólo seis meses después de los hechos descritos…. Para ese momento, algunas de las estaciones de trabajo y servidores ya habían sido puestos fuera de servicio y los rastros de las acciones de los atacantes fueron destruidos debido al uso de software especializado y debido a un registro incorrecto. Sin embargo, se encontró un archivo de intercambio de Windows en uno de los servidores involucrados en el incidente, del cual los expertos obtuvieron información crítica sobre el incidente.



En este artículo, Pavel Zevakhin, Group-IB Forensic Science Lab, analiza qué datos se pueden encontrar en los archivos de intercambio de Windows durante la investigación forense.



Parte 1. Qué oculta pagefile.sys



Entonces pagefile.sys es el archivo de paginación del sistema operativo Windows. Si no hay suficiente RAM, Windows reserva un cierto espacio en el disco duro y lo usa para aumentar sus capacidades. En otras palabras, descarga parte de los datos de la RAM al archivo pagefile.sys. Muy a menudo, la información que necesita el investigador permanece solo en el archivo de paginación.



La carga al archivo de paginación se realiza página por página, en bloques de 4 KB, por lo que los datos pueden ocupar un área contigua en el archivo de paginación o estar en diferentes partes del mismo. Esto significa que, en la mayoría de los casos, la información que se encuentra en este archivo se recuperará con pérdida de integridad.



El tamaño de pagefile.sys en el sistema de archivos lo establece el sistema operativo de forma predeterminada, pero el usuario siempre puede deshabilitar el archivo de paginación o cambiar su tamaño máximo. La ubicación predeterminada para el archivo es la raíz de la partición del sistema, pero se puede ubicar en cualquier otra unidad lógica, dependiendo de dónde lo colocó el usuario. Este hecho debe recordarse.



Antes de sumergirnos en la extracción de pagefile.sys, debemos comprender qué es el archivo desde la perspectiva del sistema de archivos. Para hacer esto, usaremos el software AccessData FTK Imager:



Oculto Cierto Propietario SID S-1-5-32-544
Sistema Cierto Nombre del dueño Administradores
Solo lectura Falso Grupo SID S-1-5-18
Archivo Cierto Nombre del grupo SISTEMA


Puede verse que este es un archivo de sistema oculto que no es fácil de copiar.



¿Cómo obtengo este archivo entonces? Esto se puede hacer de varias maneras:



  • , FTK Imager KAPE



  • — .


No olvide que los archivos pagefile.sys se pueden ubicar en Volume Shadow Copies y en otras unidades lógicas. Es cierto que hay casos en los que el propio usuario establece las reglas de instantáneas y excluye la copia del archivo de paginación (hay una rama HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet001 \ Control \ BackupRestore \ FilesNotToSnapshot en el registro del sistema , donde se especifican los archivos que se excluirán de la instantánea).



En la imagen a continuación, puede ver cómo cambia la cantidad de datos detectados en el archivo de paginación actual (en la imagen, el más a la izquierda) y los archivos de paginación que se recuperaron de la misma unidad a partir de instantáneas creadas en diferentes momentos.





Un punto importante a tener en cuenta: a partir de la compilación 10525, Windows 10 utiliza la compresión de archivos de paginación. Cuando la memoria es baja, el sistema reduce los recursos de memoria no utilizados en cada proceso, lo que permite que más aplicaciones permanezcan activas al mismo tiempo. Para descomprimir un archivo de este tipo, debe utilizar un software especializado.
Por ejemplo, puede utilizar la utilidad winmem_decompress de Maxim Sukhanov para la descompresión :





Esto es útil cuando una búsqueda en el archivo de paginación original no arrojó ningún resultado o se comprimieron los datos requeridos.



Entonces, con el archivo pagefile.sys en nuestras manos, podemos comenzar a examinarlo. Y aquí es necesario señalar dos situaciones: la primera, cuando sabemos qué buscar, y la segunda, cuando no sabemos. En el primer caso, pueden ser fragmentos de archivos, rastros del trabajo de uno u otro software, algún tipo de actividad del usuario. Para tal búsqueda, generalmente se usa el editor hexadecimal X-Ways WinHEX (o cualquier otro). En el segundo caso, tendrá que depender de un software especializado, por ejemplo, MAGNET AXIOM , Belkasoft Evidence Center , utilidad de cadenas (puede considerarse el principal y más utilizado), softwarePhotorec (software de recuperación de firmas), en algunos casos aplique las reglas de yara (suponiendo que haya configurado archivos grandes para escanear), o simplemente vea el archivo manualmente.



¿Qué se puede encontrar en pagefile.sys y por qué nos centramos en el archivo de paginación? Es simple: se trata de datos descargados parcialmente de la RAM, es decir, procesos, archivos y otros artefactos, lo que estaba activo y funcionó en el sistema operativo. Esto puede ser parte del historial de Internet y la dirección IP, información sobre el lanzamiento de algunos archivos o los propios archivos, fragmentos de imágenes y textos, información sobre solicitudes de red de software que funcionaba anteriormente, rastros de malware en forma de registros de pulsaciones de teclas, archivos del sistema, etc. Registros del sistema operativo y mucho más.







Vamos a los campos



Es hora de pasar directamente a la investigación y los casos reales. Entonces, ¿qué es útil en un archivo de intercambio de Windows desde una perspectiva forense digital?



En uno de los casos, se examinó una imagen de una unidad infectada con varios malware, con la ayuda de la cual los ciberdelincuentes robaron dinero de la cuenta de una organización.



Para dar una respuesta completa a lo que sucedió y cómo, el científico forense necesita establecer el punto de partida de la infección, las herramientas utilizadas por los atacantes y la secuencia de acciones. Durante el estudio, no se encontraron todos los rastros del malware. Y aquí es donde se analizó pagefile.sys. Como ya sabemos, allí se pueden encontrar páginas de la memoria del proceso, descargadas de la RAM al archivo de paginación, que en ocasiones se pueden restaurar, por ejemplo, utilizando el software Photorec mediante el método de firma, como se hizo en este caso.

: (), . , , , , - , .


Arriba hay un ejemplo de archivos (nombres de archivo asignados por Photorec en función del desplazamiento desde el inicio del archivo de paginación) cargados durante este estudio. Vemos que estos son archivos ejecutables, gráficos, de texto y otros. Entonces todo es simple: los analizamos en base a los criterios y tareas necesarios.



En este caso particular, los archivos dll que contienen código malicioso se recuperaron del archivo de paginación. A continuación se muestra un ejemplo de sus detecciones en VirusTotal (la búsqueda se realizó mediante la suma de comprobación de los archivos):





Durante el análisis se identificó la dirección del servidor remoto, con el que estos archivos podrían interactuar. Usando el editor hexadecimal X-Ways WinHEX, se encontraron líneas que contenían las direcciones del servidor remoto en el archivo pagefile.sys examinado. Esto sugiere que los archivos detectados estaban funcionando en el sistema operativo e interactuando activamente con su servidor remoto. Y aquí están las detecciones del servicio VirusTotal para diciembre de 2018:







Así, en este caso, gracias a la información encontrada en pagefile.sys, hemos establecido toda la cadena de infección.



¿Qué más?



A veces hay casos únicos en los que, además de otros rastros, se pueden encontrar capturas de pantalla codificadas en base64 en el archivo de intercambio. Por ejemplo, el troyano bancario Buhtrap lo crea cuando se envía.



En este caso particular, el comienzo del archivo era / 9j / 4AAQSkZJRgABAQEAYABgAAD / . Este es el encabezado codificado en base64 del archivo jpeg (se muestra parte de la imagen):





El fragmento anterior se copió, decodificó y se le agregó la extensión jpg. Tuvimos suerte y la captura de pantalla detectada contenía una instantánea completa del escritorio activo de la computadora de contabilidad con el software abierto "1C: Contabilidad", que mostraba el saldo financiero de la empresa y otros datos importantes. Otras imágenes codificadas detectadas estaban incompletas (rotas) debido a la forma en que se almacenó la información en el archivo de paginación.



Otro ejemplo. Durante uno de los incidentes, se encontraron rastros del marco Cobalt Strike (líneas típicas en el archivo de intercambio: modo SMB, status_448, ReflectiveLoader):







Y luego puedes intentar descargar los módulos. En la imagen de arriba, estos son keylogger.dll y screenshot.dll, pero puede haber otros.



Siga adelante. El módulo mimikatz, que forma parte de Cobalt Strike y es utilizado a menudo por los ciberdelincuentes, es una herramienta que implementa la funcionalidad del Editor de credenciales de Windows y le permite extraer los datos de autenticación de un usuario registrado en texto sin cifrar. Fue en el archivo de intercambio donde se encontraron rastros de su funcionamiento, a saber, las siguientes cadenas de caracteres:



  • sekurlsa :: logonPasswords: extrae los inicios de sesión y las contraseñas de una cuenta
  • token :: elevate - eleva los derechos de acceso al SISTEMA o busca un token de administrador de dominio
  • lsadump :: sam - Obtiene SysKey para descifrar las entradas del archivo de registro SAM
  • log Result.txt: el archivo donde se registran los resultados del software (no olvide buscar este archivo en el sistema de archivos):





El siguiente ejemplo son los rastros del funcionamiento del troyano bancario Ranbyus, que consta de muchos módulos. En un estudio, un archivo de paginación que estaba en una instantánea (VSS) encontró cadenas generadas por un complemento que extendió la funcionalidad del software Ranbyus. Las líneas contenían, entre otras cosas, los datos de autenticación de usuario ingresados ​​(nombre de usuario y contraseña) en el sistema "banco cliente". Y como ejemplo, una parte de una solicitud de red, que incluye información sobre el servidor de administración, que se encontró en el archivo pagefile.sys:





De hecho, es bastante común ver ejemplos de solicitudes POST de malware a sus servidores de C&C, así como las respuestas de estos servidores a las solicitudes. A continuación se muestran tales casos en el ejemplo de interacción entre el software Buhtrap y su servidor de control:





Ahora recordemos el caso con el que comenzamos este post. Ocurrió un incidente en una organización grande con muchos servidores y estaciones de trabajo, durante el cual los atacantes ingresaron a la red, tomaron las credenciales de uno de los administradores del controlador de dominio y luego se trasladaron a través de la red utilizando software legítimo. Copiaron información crítica y luego enviaron esos datos a una ubicación remota. En el momento de la respuesta, había pasado más de medio año, algunas estaciones de trabajo y servidores ya estaban fuera de servicio y los rastros de las acciones de los atacantes fueron destruidos "gracias" al uso de software especializado y debido a un registro incorrecto.



Durante el proceso de respuesta, fuimos al servidor que ejecuta Windows Server 2012 que estaba involucrado en el incidente. Los archivos de registro del sistema se han sobrescrito más de una vez y el espacio libre en disco se ha sobrescrito. ¡Pero había un archivo de intercambio! Debido al largo funcionamiento del servidor sin reiniciar y al gran tamaño del archivo de paginación, conserva rastros del lanzamiento del software y scripts de los ciberdelincuentes, que en el momento del estudio ya no estaban en el sistema de archivos sin posibilidad de recuperación. También se ha conservado información sobre directorios y archivos (rutas y nombres) que fueron creados, copiados y posteriormente eliminados por intrusos, las direcciones IP de las estaciones de trabajo de la organización desde las que se copiaron los datos y otra información importante.



Curiosamente, el análisis automatizado utilizando varios software forenses no arrojó resultados completos, no hubo criterios de búsqueda específicos, por lo que los expertos recurrieron al análisis manual del archivo de paginación utilizando el editor hexadecimal X-Ways WinHEX.



A continuación, se muestran algunos ejemplos de lo que encontraron los expertos:









Información sobre el uso de las utilidades pcsp.exe y ADExplorer.exe (tanto las fechas como las rutas están presentes).



Más información sobre el uso del script vbs (en la imagen, el principio y el final).

Cabe destacar que se indican las credenciales (nombre de usuario y contraseña) de uno de los administradores del controlador de dominio que previamente se vieron comprometidos:







Como resultado, casi toda la información crítica sobre el incidente se encontró en el archivo de paginación de uno de los servidores. Se han instalado las herramientas de los atacantes y algunas de sus acciones en la red corporativa.



Finalmente, por supuesto, vale la pena mencionar otros artefactos, como datos sobre visitas a sitios de Internet (a veces se puede encontrar información sobre el uso de buzones de correo electrónico), información sobre archivos y directorios:







También puede encontrar información como el nombre de la computadora y el número de serie del volumen donde se encontraba el archivo de paginación:





Además de la información de los archivos de Prefetch y, por supuesto, los registros del sistema de Windows.



Entonces, pagefile.sys en realidad puede contener una gran cantidad de artefactos diferentes que pueden ayudar en el análisis. Es por eso que nunca debe ignorar la exploración de archivos de paginación. Incluso si tiene todos los datos que necesita, examine pagefile.sys de todos modos. La práctica muestra que puede faltar algo e importante.



All Articles