
Los archivos de trazado, o archivos Prefetch, existen en Windows desde la época de XP. Desde entonces, han ayudado a los especialistas en criminología digital y respuesta a incidentes informáticos a encontrar rastros del inicio de programas, incluidos los maliciosos. El especialista líder en criminología digital de Group-IB, Oleg Skulkin , explica lo que se puede encontrar a través de los archivos Prefetch y cómo hacerlo.
Los archivos Prefetch se almacenan en el directorio %SystemRoot%Prefetch y sirven para acelerar el proceso de inicio de programas. Si miramos cualquiera de estos archivos, veremos que su nombre consta de dos partes: el nombre del archivo ejecutable y un hash del camino a él, que consiste en ocho caracteres.
Los archivos Prefetch contienen una gran cantidad de información útil desde el punto de vista forense: el nombre del archivo ejecutable, el número de inicios, listas de archivos y directorios con los que ha interactuado el archivo ejecutable y, por supuesto, las marcas de tiempo. Por lo general, los forenses utilizan la fecha de creación de un archivo Prefetch específico para determinar la fecha del primer inicio del programa. Además, estos archivos almacenan la fecha de su último inicio y, a partir de la versión 26 (Windows 8.1), las marcas de tiempo de los siete últimos inicios.
Tomemos uno de los archivos Prefetch, extraigamos los datos utilizando PECmd de Eric Zimmerman y observemos cada parte. Para la demostración, extraeré los datos del archivo CCLEANER64.EXE-DE05DBE1.pf.
Así que, comencemos desde arriba. Por supuesto, tenemos las marcas de tiempo de creación, modificación y acceso al archivo:

Seguidas del nombre del archivo ejecutable, el hash de su ruta, el tamaño del archivo ejecutable y la versión del archivo Prefetch:

Dado que estamos tratando con Windows 10, a continuación veremos el número de inicios, la fecha y hora del último inicio y otras siete marcas de tiempo que indican fechas de inicios anteriores:

Seguido de información sobre la unidad, incluyendo su número de serie y la fecha de creación:
![]()
Y por último, pero no menos importante, la lista de directorios y archivos con los que ha interactuado el archivo ejecutable:

Así que los directorios y archivos con los que interactuó el archivo ejecutable son precisamente en lo que quiero centrarme hoy. Estos datos permiten a los especialistas en criminalística digital, respuesta a incidentes informáticos o búsqueda proactiva de amenazas establecer no solo la ejecución de un determinado archivo, sino también, en algunos casos, reconstruir tácticas y técnicas específicas de los atacantes. Hoy en día, los cibercriminales utilizan con bastante frecuencia herramientas para la eliminación irreversible de datos, como SDelete, por lo que la capacidad de recuperar al menos rastros del uso de ciertas tácticas y técnicas es absolutamente necesaria para cualquier defensor moderno: un criminalista informático, un especialista en respuesta a incidentes o un experto en ThreatHunter.
Comencemos con la táctica de Acceso Inicial (TA0001) y la técnica más popular: Spearphishing Attachment (T1193). Algunos grupos de ciberdelincuentes abordan la selección de estos archivos adjuntos de manera bastante creativa. Por ejemplo, el grupo Silence utilizó archivos en formato CHM (Microsoft Compiled HTML Help) para esto. Así que aquí tenemos otra técnica: Compiled HTML File (T1223). Estos archivos se inician con hh.exe, por lo que si extraemos datos de su archivo Prefetch, sabremos qué archivo abrió la víctima:

Sigamos trabajando con ejemplos de casos reales y pasemos a la siguiente táctica de Ejecución (TA0002) y a la técnica CSMTP (T1191). Microsoft Connection Manager Profile Installer (CMSTP.exe) puede ser utilizado por los atacantes para ejecutar scripts maliciosos. Un buen ejemplo es el grupo Cobalt. Si extraemos datos del archivo Prefetch cmstp.exe, nuevamente podremos saber qué se ejecutó:

Otra técnica popular es Regsvr32 (T1117). Regsvr32.exe también es utilizado frecuentemente por los atacantes para ejecutar. Aquí hay otro ejemplo del grupo Cobalt: si extraemos datos del archivo Prefetch regsvr32.exe, de nuevo veremos qué se ejecutó:

Las siguientes tácticas son Persistencia (TA0003) y Escalamiento de Privilegios (TA0004), así como Application Shimming (T1138) como técnica. Esta técnica fue utilizada por Carbanak/FIN7 para consolidarse en el sistema. Normalmente, se utiliza sdbinst.exepara trabajar con bases de datos que contienen información sobre la compatibilidad de programas (.sdb), por lo que el archivo Prefetch de este ejecutable puede ayudarnos a conocer los nombres de estas bases de datos y su ubicación:

Como se muestra en la ilustración, no solo tenemos el nombre del archivo utilizado para la instalación, sino también el nombre de la base de datos instalada.
Veamos uno de los ejemplos más típicos de promoción en la red (TA0008) — PsExec, que utiliza recursos compartidos administrativos (T1077). Un servicio llamado PSEXECSVC (por supuesto, se puede utilizar cualquier otro nombre si los atacantes usan el parámetro -r) se creará en el sistema objetivo, por lo tanto, si extraemos datos del archivo Prefetch, veremos que se ejecutó:

Terminaré, probablemente, con lo que comencé — la eliminación de archivos (T1107). Como ya he mencionado, muchos atacantes utilizan SDelete para eliminar archivos de forma irreversible en diferentes etapas del ciclo de vida del ataque. Si examinamos los datos del archivo Prefetch sdelete.exe, veremos exactamente lo que se eliminó:

Por supuesto, esta no es una lista exhaustiva de técnicas que se pueden detectar al analizar archivos Prefetch, pero debería ser suficiente para entender que tales archivos pueden ayudar no solo a encontrar rastros de ejecución, sino también a reconstruir tácticas y técnicas específicas de los atacantes.
Fuente: habr.com
