FeatureUsage, RecentApps e itens fixados na barra de tarefas¶
O que são¶
O Explorer mantém vários registros de como um usuário utiliza aplicativos no NTUSER.DAT desse usuário:
- FeatureUsage (Windows 10 e posteriores): contadores por aplicativo, por tipo de uso.
AppSwitched: quantas vezes o usuário alternou para a janela do aplicativo (clique na barra de tarefas, Alt+Tab).AppLaunch: quantas vezes ele foi iniciado a partir da barra de tarefas (um item fixado).ShowJumpView: quantas vezes sua jump list foi aberta (clique com o botão direito na barra de tarefas).AppBadgeUpdated: quantas vezes seu selo na barra de tarefas (uma contagem de não lidos) mudou.TrayButtonClicked: quantas vezes cada botão da barra de tarefas (StartButton,SearchButton,TaskViewButton,ClockButton, …) foi clicado.
Um aplicativo é um ID de modelo de usuário de aplicativo (Microsoft.Windows.Explorer,
Microsoft.WindowsCalculator_8wekyb3d8bbwe!App), um caminho cuja primeira parte pode ser o GUID de uma
pasta conhecida ({1AC14E77-…}\cmd.exe é %windir%\system32\cmd.exe) ou um ID de processo
(*PID00001d74) para janelas que o Explorer não conseguiu associar a um aplicativo.
- RecentApps (Windows 10 até a versão 1709): os aplicativos que um usuário executou recentemente, com uma contagem
de inicializações e o último horário; sob cada um, os arquivos que ele abriu (RecentItems).
- Itens fixados na barra de tarefas (Taskband): os programas fixados na barra de tarefas, como itens do shell
(Favorites) e como o link de cada atalho fixado (FavoritesResolve). No Windows 10 e
posteriores, cada item fixado indica se foi o Windows que o fixou (SystemPinned) ou o usuário (UserPinned).
- ProgramsCache (StartPage, StartPage2; do Windows XP ao 7): os programas em cache do Menu Iniciar
(ProgramsCache) e, no Windows 7, os itens fixados no Menu Iniciar e na barra de tarefas
(ProgramsCacheSMP, ProgramsCacheTBP).
Melhor conclusão: este usuário usou este aplicativo este número de vezes desta forma (FeatureUsage), executou-o neste horário (RecentApps) ou o fixou. Os contadores não têm horário próprio; somente a última gravação da chave e os horários do RecentApps datam algo.
Localização¶
C:\Users\<user>\NTUSER.DAT
Software\Microsoft\Windows\CurrentVersion\Explorer\FeatureUsage\<kind> value: application, data: count
Software\Microsoft\Windows\CurrentVersion\Search\RecentApps\{GUID} AppId, AppPath, LaunchCount, LastAccessedTime
Software\Microsoft\Windows\CurrentVersion\Search\RecentApps\{GUID}\RecentItems\{GUID} DisplayName, Path, LastAccessedTime
Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband Favorites, FavoritesResolve
Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage2 ProgramsCache, ProgramsCacheSMP, ProgramsCacheTBP
Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage ProgramsCache (Windows XP, Vista)
O KeyCreationTime de FeatureUsage é o momento em que a contagem começou; o resumo o exibe. Colete o
NTUSER.DAT com seus logs de transação de cada perfil, além dos hives SYSTEM e
SOFTWARE do sistema, para o host e o SID do usuário.
Cuidados para o analista¶
- Contagens sem horários. Uma contagem do FeatureUsage diz com que frequência, não quando. O horário de última gravação
da chave do tipo (
KeyLastWrittenUTC) é a alteração mais recente em qualquer uma de suas contagens. - Nem toda execução.
AppSwitchedconta alternâncias de janela, não inicializações; um aplicativo executado sem janela, ou para o qual o usuário nunca alternou, não é contado.AppLaunchconta apenas inicializações a partir da barra de tarefas. - Aplicativos empacotados e caminhos. Um aplicativo é nomeado da forma como o Windows agrupou suas janelas: o ID de um
aplicativo empacotado, um ID que um programa definiu para si mesmo (
Chrome,VMware.Workstation.vmui) ou um caminho.AppPathfornece o caminho com o GUID de uma pasta conhecida substituído pelo caminho padrão da pasta. - Itens fixados padrão. Perfis novos recebem itens fixados padrão (Explorador de Arquivos, Edge, a Store); no Windows 10
e posteriores, eles indicam
SystemPinned. Um itemUserPinnedé escolha do usuário. - Itens fixados em duas listas.
FavoriteseFavoritesResolvedescrevem os mesmos itens fixados na mesma ordem (Index), mas são apresentados como registros separados. - Os caminhos do ProgramsCache são relativos: uma pasta (
Programs\Accessories) é seguida pelos atalhos que contém (Notepad.lnk). - Valores danificados. Uma contagem que não é
REG_DWORD, um horário que não éREG_QWORD, um item fixado que não é compreendido ou um link que não é um link mantém seus bytes (DataRaw) e é relatado emProblems.
Analisar com o Juntei¶
Usage: juntei parse-registry feature-usage <INPUT> [OPTIONS]
Input:
-d, --directory <DIR> Recursively find NTUSER.DAT hives
-f, --file <FILE> Parse one NTUSER.DAT
--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 feature-usage -d evidence/ -o featureusage.csv
juntei parse-registry feature-usage -f NTUSER.DAT -t jsonl \
| jq 'select(.Source == "AppSwitched") | [.Count, .AppPath // .App]'
O resumo lista os registros por fonte, quando o FeatureUsage de cada hive começou a contar, os aplicativos para os quais o usuário mais alternou, os aplicativos e itens recentes (do mais novo ao mais antigo) e os itens fixados na barra de tarefas.
Campos de saída¶
| Campo | Interpretação |
|---|---|
Host, User, UserSID, SourcePath |
Host, nome da pasta de perfil, SID do usuário obtido do ProfileList do sistema e o hive. |
Source |
AppSwitched, AppLaunch, ShowJumpView, AppBadgeUpdated, TrayButtonClicked (FeatureUsage), RecentApps, RecentItems, Taskband ou ProgramsCache. |
App |
O nome de um valor do FeatureUsage, o AppId de um aplicativo recente ou o ID de modelo de usuário de aplicativo de um item fixado. |
AppPath |
App como caminho, com o GUID de uma pasta conhecida substituído pelo seu caminho padrão; vazio para IDs. |
Count |
Uma contagem do FeatureUsage ou o LaunchCount de um aplicativo recente. |
LastAccessedUTC |
O LastAccessedTime de um aplicativo ou item recente. |
ItemPath |
O Path de um item recente (ou o AppPath de um aplicativo recente); o caminho do item do shell de um item fixado ou programa em cache (User Pinned\TaskBar\File Explorer.lnk, Applications\<app ID>); o caminho de um link de FavoritesResolve. |
DisplayName |
O DisplayName de um item recente. |
PinType |
SystemPinned ou UserPinned, para um item fixado de Favorites. |
Index |
A posição de um item fixado ou programa em cache em sua lista. |
ValueName, KeyPath, KeyLastWrittenUTC |
O valor e a chave de origem, e a última gravação da chave. |
DataRaw |
Bytes (hex) que não puderam ser decodificados. |
TransactionLogStatus, LogsApplied |
Contexto de recuperação do Registro. |
Problems |
Valores do tipo errado, itens fixados ou listas não compreendidos, links que não são links. |
Estratégia de investigação¶
- Ordene
AppSwitchedporCountpara ver os aplicativos em que o usuário mais trabalhou e procure ferramentas de administração, acesso remoto, compactação e transferência, além de caminhos em locais graváveis pelo usuário (\Users\,Downloads,Temp). - Verifique os itens fixados: uma ferramenta
UserPinnedou um item fixado cujo atalho está em um local incomum. - Use os horários do RecentApps, com UserAssist, Prefetch, BAM e Jump Lists, para datar o uso.
- Compare
KeyCreationTimecom a criação do perfil: as contagens começam a partir desse momento. - Use
parse-registry read --recover-deletedpara contadores e itens fixados excluídos.