Historial de aplicaciones¶
Qué dejan las herramientas¶
Muchas herramientas de terceros guardan su configuración y su historial en el NTUSER.DAT del usuario. Varias
figuran entre las herramientas que utilizan los atacantes, o que emplean para preparar datos antes de llevárselos: herramientas de Sysinternals, compresores,
clientes de sincronización en la nube y herramientas de acceso remoto. Juntei lee las siguientes:
| Aplicación | Clave bajo HKCU\Software |
Qué muestra |
|---|---|---|
| Sysinternals | Sysinternals\<tool> |
Cada herramienta cuya licencia aceptó el usuario (EulaAccepted): PsExec, ProcDump, Sysmon, … |
| WinRAR | WinRAR\ArcHistory, DialogEditHistory\ArcName, DialogEditHistory\ExtrPath |
Archivos comprimidos abiertos; nombres de archivos comprimidos y carpetas de extracción escritos en sus cuadros de diálogo |
| 7-Zip | 7-Zip\Compression\ArcHistory, Extraction\PathHistory, FM\FolderHistory, FM\CopyHistory, FM\PanelPath0/1 |
Archivos comprimidos creados; carpetas de extracción; carpetas examinadas y de destino de copias en su administrador de archivos |
| WinZip | Nico Mak Computing\WinZip\filemenu, extract, mru\archives |
Archivos comprimidos de su menú Archivo, carpetas de extracción, archivos comprimidos recientes |
| OneDrive | Microsoft\OneDrive\Accounts\<account> |
Dirección de correo electrónico, carpeta local y nombres de cada cuenta; bibliotecas sincronizadas (ScopeIdToMountPointPathCache) y carpetas (Tenants\<tenant>) |
| Adobe Acrobat y Reader | Adobe\{Acrobat Reader,Adobe Acrobat}\<version>\AVGeneral\cRecentFiles, cRecentFolders |
Últimos archivos PDF y carpetas abiertos, con nombres de archivo, tamaños y fechas |
| TeamViewer | TeamViewer (y Version<N> en versiones antiguas) |
Todos los valores: nombres de cuenta y de usuario, carpetas iniciales de transferencia de archivos (<partner ID>?<local>|<remote>), … |
| CCleaner | Piriform\CCleaner |
Todos los valores: qué está configurado para limpiar, UpdateKey, … |
Mejor conclusión: este usuario ejecutó la herramienta (o aceptó su licencia), o la herramienta abrió, creó o extrajo estos archivos comprimidos y carpetas, o esta cuenta en la nube se configuró para el usuario. La mayoría de los historiales no tienen una hora por entrada: solo la entrada más reciente recibe la hora de última escritura de la clave de su lista.
Ubicación¶
C:\Users\<user>\NTUSER.DAT
Software\Sysinternals\<tool> EulaAccepted
Software\WinRAR\ArcHistory 0, 1, … (0 the most recent)
Software\7-Zip\Compression ArcHistory (REG_BINARY UTF-16 list)
Software\Microsoft\OneDrive\Accounts\<account> UserEmail, UserFolder, …
Software\Adobe\Acrobat Reader\<version>\AVGeneral\cRecentFiles\c1, c2, …
Recopile el NTUSER.DAT de cada usuario junto con sus registros de transacciones, y el SOFTWARE del sistema para obtener
los SID de los usuarios.
Precauciones para el analista¶
- Aceptación del EULA de Sysinternals.
FirstUsedUTCes una estimación del primer uso basada en la hora de última escritura de la clave cuando su único valor es unEulaAcceptedlegible establecido en1. Un EULA rechazado o dañado no recibe esta estimación. La configuración del Registro también puede preconfigurarse, copiarse o editarse: corrobore la ejecución y su hora con otros artefactos. Las herramientas que guardan allí su configuración (Process Explorer, Autoruns, …) reescriben la clave más tarde: en ese casoFirstUsedUTCestá vacío yKeyLastWrittenUTCes solo el último cambio de configuración. Una herramienta ejecutada con-accepteula, o como otro usuario (el lado remoto de PsExec se ejecuta como SYSTEM), escribe la clave de ese usuario. - Posiciones, no horas. Las entradas de las listas están ordenadas (
MruPosition0 es la más reciente), pero solo la última escritura de la clave de la lista fecha la más reciente. Las entradas anteriores se usaron antes, en un momento desconocido. - Nombres escritos. El
ArcNamede WinRAR es el nombre del archivo comprimido escrito al crear uno: a menudo, un nombre de archivo sin carpeta. - Las rutas de Adobe se conservan tal como Adobe las escribe (
/C/Users/alice/a.pdfesC:\Users\alice\a.pdf). SusDate(enDetails) es una cadena de fecha PDF, conservada tal como se escribió. - El
UpdateKeyde CCleaner es una hora local sin zona; se conserva tal como se escribió. - TeamViewer. Los registros de conexión son archivos (
Connections_incoming.txt,TeamViewer*_Logfile.log), no valores del Registro: recopílelos también. - Ausencia. Los usuarios y las herramientas pueden borrar estos historiales (el propio CCleaner puede hacerlo).
Análisis con Juntei¶
Usage: juntei parse-registry app-history <INPUT> [OPTIONS]
Input:
-d, --directory <DIR> Recursively find NTUSER.DAT hives
-f, --file <FILE> Parse one NTUSER.DAT hive
--log1/--log2 Supply transaction logs explicitly
--no-logs Do not replay logs
Output:
-o, --output <FILE> Save records
-t, --output-type <TYPE> csv, json, or jsonl
juntei parse-registry app-history -d evidence/ -o app-history.csv
juntei parse-registry app-history -f NTUSER.DAT -t jsonl \
| jq 'select(.App == "Sysinternals" and .FirstUsed != null)'
El resumen enumera las estimaciones de primer uso de Sysinternals más recientes, los archivos comprimidos y carpetas que cada lista usó en último lugar y las cuentas de OneDrive.
Campos de salida¶
| Campo | Interpretación |
|---|---|
Host, SourcePath |
Host y NTUSER.DAT. |
User, UserSID |
Nombre de la carpeta del perfil y su SID según el ProfileList del sistema. |
App |
Sysinternals, WinRAR, 7-Zip, WinZip, OneDrive, Adobe Acrobat Reader, Adobe Acrobat, TeamViewer, CCleaner. |
Item |
La herramienta de Sysinternals, la lista (ArcHistory, ExtrPath, FolderHistory, filemenu, cRecentFiles, …), la cuenta de OneDrive o la clave de sus carpetas sincronizadas, o el nombre del valor. |
MRU-Position |
Posición de la entrada en su lista; 0 es la más reciente. |
Path |
El archivo comprimido, la carpeta o el documento. |
Value |
EulaAccepted, la dirección de correo electrónico de una cuenta de OneDrive o el identificador de una biblioteca sincronizada, un valor de TeamViewer o de CCleaner. |
FirstUsedUTC |
Estimación del primer uso a partir de la aceptación del EULA (consulte las precauciones anteriores). |
Details |
DisplayName, UserCID, ConfiguredTenantId, … de una cuenta de OneDrive; Version, tFileName, uFileSize, uPageCount, sDate de un documento de Adobe. |
KeyPath, KeyLastWrittenUTC, ValueName |
De dónde procede el registro y cuándo cambió esa clave por última vez. |
DataRaw |
Bytes del valor (en hexadecimal) cuando no se pueden decodificar. |
TransactionLogStatus, LogsApplied |
Contexto de la recuperación del Registro. |
Problems |
Datos que no se pudieron decodificar ni leer. |
Estrategia de investigación¶
- Busque herramientas de Sysinternals que un usuario corriente no ejecuta (PsExec, ProcDump, PsLoggedOn, SDelete) y sus marcas de tiempo del EULA.
- Revise los nombres de archivos comprimidos y las carpetas de extracción en torno al incidente: archivos comprimidos creados en
ProgramData,Tempo la carpeta de un usuario antes de que los datos salieran del sistema. - Compruebe las cuentas de OneDrive que no pertenecen a la organización, y los nombres de cuenta y las carpetas de transferencia de archivos de TeamViewer.
- Correlacione con Prefetch, Amcache, BAM y UserAssist (la ejecución de la herramienta), la
$MFTy el Diario USN (el archivo comprimido), los archivos LNK y las Jump Lists (documentos abiertos) y los registros de eventos.