Análise Digital Forense Avançada - Past Paper PDF
Document Details
Uploaded by Deleted User
ESTG - Escola Superior de Tecnologia e Gestão
2024
Patrício Domingues
Tags
Summary
This document is a past paper on advanced digital forensic analysis. It covers topics like Windows services and artifacts, presented by Patrício Domingues from ESTG/IPLeiria, 2024. The paper likely includes theoretical concepts and possibly practical exercises.
Full Transcript
Análise Digital Forense Avançada Windows Serviços & Artefactos Forenses Patrício Domingues ESTG/IPLeiria, 2024 Patricio Domingues – Docente afeto ao Departamento de Engenharia Informática (DEI) - ESTG/...
Análise Digital Forense Avançada Windows Serviços & Artefactos Forenses Patrício Domingues ESTG/IPLeiria, 2024 Patricio Domingues – Docente afeto ao Departamento de Engenharia Informática (DEI) - ESTG/Politécnico de Leiria – UC de Prog. Avançada (EI), Sistemas Operativos (EI), Administração Segura de Sistemas Informáticos (MCIF) – Efetua investigação na área da informática forense ▪ https://bit.ly/patricioScholar ▪ Alguns dos trabalhos mais recentes – Post-mortem digital forensic analysis of the Garmin Connect application for Android, F Nunes, P Domingues, M Frade, Forensic Science International: Digital Investigation 47, 301624 – Domingues, P., Francisco, J., & Frade, M. (2023). Post-mortem digital forensics analysis of the Zepp Life android application. Forensic Science International: Digital Investigation, 45, 301555. – Domingues, P., Andrade, L., & Frade, M. (2022). A Digital Forensic View of Windows 10 Notifications. Forensic Sciences, 2(1), 88-106. – Domingues, P., Nogueira, R., Francisco, J. C., & Frade, M. (2021). Analyzing TikTok from a digital forensics' perspective. Journal of Wireless Mobile Networks, Ubiquitous Computing, and Dependable Applications (JoWUA), 12(3), 87-115. – Negrão, M., & Domingues, P. (2021). SpeechToText: An open-source software for automatic detection and transcription of voice recordings in digital forensics. Forensic Science International: Digital Investigation, 38, 301223. – (…) (c) Patricio Domingues 2 ARRANQUE DO WINDOWS E… PKFAIL (c) Patricio Domingues 3 Arranque do Windows Arranque do Sistema Windows com UEFI – Os vários módulos são validados por assinatura digital https://tinyurl.com/4dat77ky (c) Patricio Domingues 4 PKfail– UEFI #1 Secure Boot/UEFI está dependente de assinatura digital de código Assinatura de código requer certificado digital – Certificado digital contém chave pública que deriva de chave privada – Chave privada é empregue para assinar o código – Chave pública possibilita validar a assinatura Mas…muitas das empresas envolvidas na criação do firmware/código do secure boot usaram como master key uma chave privada empregue no código exemplo da Amercian Megatrends (AMI) – “Platform Key” do UEFI – Falha foi designada como PKfail – Afeta cerca de 850 modelos de computadores com UEFI (c) Patricio Domingues 5 Validação de Código – UEFI #2 Secure Boot/UEFI assenta em A mais importante é a Platform Key quatro chaves privadas – Permite alterar as restantes chaves – Platform Key (PK): Hardware / Firmware O certificado PK da AMI menciona – Key Exchance Key (KEK): Firmware / Sistema claramente que não deve ser empregue Operativo para produção – Signature Database (db): Base de dados com assinaturas e certificados para componentes – Issuer: “DO NOT TRUST – AMI TEST KEY” UEFI e do Sistema de arranque – Subject: “DO NOT TRUST” – Forbidden Signature Database (dbx): Base de dados com assinaturas e certificados empregues por software malicioso conhecido. Serve para negar a execução. (c) Patricio Domingues 6 Validação de Código – UEFI #3 Pkfail anteriormente identificado como CVE-2016-5247 – 2016! Com o conhecimento da Platform Mais informação: Key é possível substituir o software – https://www.binarly.io/blog/pkfail- de boot por software malicioso untrusted-platform-keys-undermine- secure-boot-on-uefi-ecosystem https://www.binarly.io/blog/pkfail-untrusted-platform-keys-undermine-secure-boot-on-uefi-ecosystem (c) Patricio Domingues 7 Software IsBootSecure? Software para Windows que analisa o certificado digital da master key / Platform Key – Deteta se SecureBoot está ativo – Deteta caso esteja a ser empregue uma platform key de teste https://www.grc.com/isbootsecure.htm (c) Patricio Domingues 8 Exercício Descarregar o software “IsBootSecure” – https://www.grc.com/isbootsecure.htm Analisar o EXE com o sigcheck.exe – sigcheck é comando nativo do Windows – sigcheck isBootSecure.exe Validar a eventual assinatura digital do EXE – sigcheck /vt isBootSecure.exe Obter a pontuação do EXE junto do VirusTotal (/vt=VirusTotal) para aferir da possibilidade de software malicioso (c) Patricio Domingues 9 LINHA DE COMANDOS E PROCESSOS (c) Patricio Domingues 11 Janela “DOS” Linha de comando Abrir “Janela DOS” – Mecanismo poderoso de Tecla Windows + R interação com o computador – Permite automatização através de scripts BAT (Windows), Python, Abrir “Janela DOS” em PERL, etc. modo administrador (c) Patricio Domingues 12 Importante Quando se faz uso da Fundamentação linha de comandos, é – Um nome de pasta ou recomendado que : ficheiro com espaço obriga – As pastas sejam criadas ao uso de “…” (aspas) em com nomes sem espaços redor do ficheiro (usar “_” em lugar de Exemplo: Pasta 1 espaços) dir Pasta 1 – O nome de ficheiros seja – Comando dir interpreta o igualmente criado sem Pasta 1 como sendo dois espaços parâmetros Pasta e 1 – dir "Pasta 1" (c) Patricio Domingues 13 Listar processos no Windows (#1) Utilitarios para listar os processos correntes – tasklist (nativo) – task manager (nativo) – Process Explorer (Windows Sysinternals) – pslist (Windows Sysinternals) pskill, psexec, psservices (c) Patricio Domingues 14 Listar processos no Windows (#2) ▪ Utilitário tasklist ▪ Exemplos: tasklist /? | more Listagem dos tasklist – Lista processos (/V verboso) processos existentes tasklist /SVC no sistema – Lista serviços empregues pelos processos Utilitário muito tasklist /M poderoso que conjuga – Lista processos e DLL várias valências... tasklist /APPS – Lista processos ligados a Filiosofia windows APPS Windows UWP “One program to tasklist /FI "MEMUSAGE ge 45000" address all problems...” – Processos com uso de Torna uso mais difícil… memória (MEMUSAGE) está acima de 45000 KB (~45 MB) tasklist /APPS /FI "MEMUSAGE ge 45000" – APPS >= ~45 MB tasklist /FI "IMAGENAME eq notepad.exe" 15 – Processos notepad.exe Ferramentas para listagens de processos ▪ sysinternals.com Empresa comprada (e integrada) pela Microsoft ▪ Produz ferramentas (gratuitas) orientadas para análise a sistemas Windows Ferramentas orientadas para o administrador de sistemas psexec, pslist, pskill, psservice, … http://www.sysinternals.com Nota: psexec é frequentemente empregue para executar processos remotamente em redes Windows por hackers. 16 Sysinternals - listagem de processos Usage: pslist [-d][-m][-x][-t][-s [n] [-r n] [\\computer [-u username][-p password][name|pid] – -d Show thread detail. – -m Show memory detail. – -x Show processes, memory information and threads. – -t Show process tree. – -s [n] Run in task-manager mode, for optional seconds specified. – Press Escape to abort. – -r n Task-manager mode refresh rate in seconds (default is 1). – \\computer Specifies remote computer. – -u Optional user name for remote login. – -p Optional password for remote login. –name Show information about processes that begin with the name – specified. – -e Exact match the process name. – pid Show information about specified process. Processos no Windows - ferramentas gráficas ▪ Gestor de tarefas ▪ Process Explorer (CTRL+Shift+ESC) (sysinternals.com) Localizador de processos Shortcuts “Windows” Tecla Tecla Windows + V – Clipboard multinível Windows Tecla Windows +. – Emojis Tecla Windows + E – Explorador de ficheiros Tecla Windows + Q – Pesquisa Windows Tecla Windows + Shift + S – Snapit (captura de ecrã, gravação de video, OCR, etc.) Tecla Windows + N – Notifications … (c) Patricio Domingues 19 COMANDO FORFILES (c) Patricio Domingues 20 Comando forfiles (#1) Comando “forfiles” – Seleciona um ficheiro (ou conjunto de ficheiros) e executa um comando nesse ficheiro – Comando nativo do Windows Exemplos forfiles /P C:\Windows /S /M *.exe – /P: path – diretório a partir do qual é efetuado a pesquisa – /S: subdirectories – percorre as pastas – /M: máscara de pesquisa (“*.exe”) forfiles.exe /P C:\Users\ /M *. txt /D -30 /C "cmd /c echo @file" – /P: path c:\users – /M: máscara *.txt – /D -30: modificados a mais de 30 dias – /C "cmd /c COMANDO" Executa COMANDO (c) Patricio Domingues Mais exemplos >>21 Comando forfiles (#2) Comando “forfiles” forfiles /D 01/01/2024 /C "cmd /c if @isdir==FALSE echo '@path' - +recente 2024.01.01" /D apenas ficheiros/diretórios posteriores à data indicada /C comando a ser executado. “cmd /c STRING” – executa comando STRING @isdir – verdadeiro se elemento “corrente” é um diretório @path – caminho complete do ficheiro corrente (e.g., "c:\TEMP\a.txt") forfiles /p "C:\Temp" /d -7 /c "cmd /c dir @file“ – /d: -7 – ficheiros que tenham mais do que 7 dias – /M: máscara de pesquisa (“*.exe”) (c) Patricio Domingues 22 SERVIÇOS (c) Patricio Domingues 23 Conceito de serviço (Windows) ▪ Serviços Executam de forma não interativa (sem input dos utilizadores) Podem ser iniciados no arranque do sistema operativo Equivalente ao conceito de daemon do mundo Unix Vasto número de serviços psservice | findstr /i "SERVICE_NAME" 240 serviços registados no W10 / v1703 294 serviços “running” no W11 / v23H2 psservice | findstr /i "Running" 101 serviços registados no W10 / v1703 158 serviços “running” no W11 / v23H2 Nota:24psservice é um utilitário do Windows Sysinternals Exemplos de serviços ▪ Exemplos AdobeARMservice: Adobe Acrobat Update Service Audiosrv: Windows Audio BDESVC: BitLocker Drive Encryption Service BFE: Base Filtering Engine manages firewall and IPsec policies BITS: Background Intelligent Transfer Service (usa largura de banda livre para descarregar ficheiros – e.g., windows update) CertPropSvc: copia certificados do utilizador e de raíz de cartões smart (e.g., CC) para o repositório do utilizador ClickToRunSvc: Microsoft Office Click-to-Run Service (updates) Dbupdate: Dropbox Update Service Dhcp: cliente DHCP DiagTrack: Connected User Experiences and Telemetry Dnscache: DNS client (…) wuauserv: Windows Update 25 Serviços (#1) – W11 Gestor de tarefas Nova interface W11 Ativar “Gestor de serviços” “Gestor de serviços” 26 Serviços (#2) – W11 ▪ Os serviços estão também acessíveis através do Microsoft Management Console (MMC) ▪ Janela RUN ▪ services.msc ▪ NOTA ▪ O Microsoft Management Console pode ser executado escrevendo “mmc” na janela “Run” ou na linha de comandos 27 Serviços na linha de comandos (“cmd”) - #1 Obter listagem de serviços net start Em modo administrador net stop nome_servico net start nome_servico net pause nome_servico net continue nome_servico 28 Serviços na linha de comandos (“cmd”) - #3 ▪ Exemplo ▪ Manipulação do serviço “stisvc” ▪ Microsoft Still Image Service ▪ Serviço “stisvc” Serviço para dispositivos e de aquisição digital de fotografia (máquinas, scanners, etc.) net stop stisvc net start stisvc net pause stisvc net continue stisvc 29 Serviços na linha de comandos (“cmd”) ▪ utilitário sc ▪ Mais exemplos Interage com o gestor de sc create nome_servico controlo de serviços sc start nome_servico (scm.exe) sc stop nome_servico ▪ Exemplos sc pause nome_servico sc query sc delete nome_servico sc query stisvc sc queryexe stisvc ▪ Mais informação sc qc stisvc sc /? 30 Ficheiro executável de um serviço ▪ Como determinar qual o ▪ svchost.exe é um contentor ficheiro executável associado para muitos serviços a um determinado serviço? ▪ Tasklist e serviços sc qc nome_servico ▪ tasklist /svc ▪ Entrada “Binary_path_name” ▪ Exibe os serviços hospedados sc qc stisvc em cada processo 31 Caso de estudo O “SERVIÇO DOS SERVIÇOS” SVCHOST.EXE (c) Patricio Domingues 32 svchost.exe (#1) svchost.exe Os serviços que usam o – Abreviatura de “service host” svchost estão listados no – Atua como hospedeiro de registry vários serviços Windows – Computer\HKEY_LOCAL_MACHINE\S – O Windows agrupa vários OFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost serviços sob o svchost.exe Otimização do uso de recursos – Executável %SystemRoot%\system32\s vchost.exe Contar nº de svchost.exe – tasklist | find /c "svchost.exe" (c) Patricio Domingues 33 svchost.exe (#2) - Registry (c) Patricio Domingues 34 Caso de estudo SERVIÇO WINDOWS SEARCH SERVICE (c) Patricio Domingues 35 Windows search service - “indexação” (#1) Windows 10 ▪ Indexa ficheiros para ▪ Pode conter informação tornar pesquisas mais relevante para análise rápidas forense ▪ Índice é guardado em ▪ Nome de ficheiros, diretórios, etc. guardados base de dados ESE na base de dados (Extended Storage Windows.edb Engine) Comum em vários produtos MSFT (AD, Edge, SRUM,...) Base de dados em: %AllUsersProfile%\Microsoft\Sear ch\Data\Applications\Windows\ Bibliografia: Chivers, Howard, and Christopher Hargreaves. "Forensic 36 data recovery from the windows search database." digital investigation 7.3 (2011): 114-126. “indexing options” Windows 11 – Tecla Windows + Q – Escrever indexing (c) Patricio Domingues 37 Windows search service - “indexação” (#2) Windows 10 C:\ProgramData\Microsoft\Search\Data\Applications\Windows ▪ Por vezes, o índice fica gigantesco (anomalia) https://tinyurl.com/y2hp2f74 ▪ Desativação do índice Executar control srchadmin.dll Bibliografia: Chivers, Howard, and Christopher Hargreaves. "Forensic 38 data recovery from the windows search database." digital investigation 7.3 (2011): 114-126. Windows search service - “indexação” (#3) ▪ Serviço WSearch – sc query wsearch ▪ Serviço pode ser desativado ✓ CMD (modo administrador) SC Config WSearch Start=Disabled SC Stop Wsearch ▪ Serviço pode ser configurado para restringir ▪ Diretórios indexados ▪ Tipos de ficheiros indexados Vazio (c) Patricio Domingues 39 Ferramenta WinSearchDBAnalyzer Windows 10 ✓WinSearchDBAnalyzer – Ferramenta para pesquisa em bases de dados EDB – Atendendo a documentação, WinSearchDBAnalyzer ▪ Pode recuperar registos apagados ▪ Pode extrair e analisar a bases de dados Windows.edb de sistemas ativos – Fonte ▪ https://moaistory.blogspot.com/2018/10/wi nsearchdbanalyzer.html (c) Patricio Domingues 41 “SEARCH” – WINDOWS 11 (c) Patricio Domingues 42 Windows Search no W11 No Windows 11, as bases de dados associadas ao “Windows Search” são do tipo SQLite3 – Mesma localização do que no W10 %AllUsersProfile%\Microsoft\Searc h\Data\Applications\Windows\ SQLite3 é uma base de dados usualmente empregue em aplicações móveis – Android, iOS Ficheiros W11 search –.db: base de dados SQLite3 – Windows.db –.db-shm e.db-wal: – Windows-gather.db ficheiros de “logging” – Windows-usn.db (c) Patricio Domingues 43 SQLite3 – como confirmar? Ficheiro SQLite3 inicia-se Uso da ferramenta sempre pela seguinte – DB Browser for SQLite sequência de octetos 53 51 4C 69 74 65 20 66 6F 72 6D 61 74 20 33 – Corresponde, em código ASCII à string “SQLite format 3” “magic number” Como verificar? – Uso de editor hexadecimal Exemplo: HxD Hex Editor (c) Patricio Domingues 44 Windows Search W10/W11 Tabelas (W10) No W11, existem três – SystemIndex_Gthr bases de dados SQLite Regista nome da – Windows-gather.db pasta/ficheiro – Windows.db Gthr = gather – SystemIndex_GthrPth – Windows-usn.db NTFS update Regista nome das pastas indexadas e guardadas na tabela “SystemIndex_Gthr” – SystemIndex_PropertyStore Metadados referentes aos ficheiros indexados Dados relevantes do ponto de vista forense Fonte: AON.COM (c) Patricio Domingues 45 Windows Search W10/W11 Mapeamento entre EDB/W10 e SQLite3/W11 – Um registo do W10 está num Filter 13: propriedade conjunto de registos no W11 “System_IsFolder” W11: 1 campo por registo. Filter 17: propriedade “System_FilePlaceHolderStatus” (c) Patricio Domingues 46 Ferramenta sidr (#1) Ferramenta de código Exemplo aberto sidr – sidr.exe -f json DIR – Search Index DB Reporter – sidr.exe -f csv DIR -o Out -f csv ou json (formato) https://github.com/strozfri -o pasta (pasta para escrita do edberg/sidr relatório) Permite extrair dados em DIR:caminho para o diretório onde estão os ficheiros WSearch JSON e CSV – Suporta W10 e W11 (c) Patricio Domingues 47 Ferramenta sidr (#2) Exemplo de execução – sidr.exe -f csv DIR -o Saida_DIR DIR corresponde à pasta onde estão os ficheiros de bases de dados WSearch (exemplo: %AllUsersProfile%\Microsoft\Search\Data “activity” \Applications\Windows\) – -f csv: saída em formato CSV – -o Saida_DIR: escreve os ficheiros CSV para a pasta Saida_DIR (criado, caso não Internet history exista) (pesquisas efetudas na barra de endereços do EDGE) (c) Patricio Domingues 48 Ferramentas & Windows Search LABORATORIO 1 49 APLICAÇÕES UWP (UNIVERSAL WINDOWS PLATFORM) (c) Patricio Domingues 50 Plataforma UWP Windows UWP (Universal Principais propriedades Windows Platform) – Compatibilidade – plataforma de multiplataforma desenvolvimento criada pela – Design adaptado ao Microsoft Windows – Permite a criação de aplicações que (supostamente) podem ser – Acesso (controlado) aos executados em vários recursos do dispositivo dispositivos Windows, como hóspede PCs, tablets, smartphones e – Integração com serviços Xbox Daí a designação “Universal” Windows Exemplos – Distribuição através da – Windows Terminal; WhatsApp Microsoft Store para Windows; Messenger… (c) Patricio Domingues 51 Aplicações UWP (#1) Aplicações UWP – Correm numa “sandbox” para proteção da app e do Sistema – Metro Apps (W8), Modern Apps e agora, Universal Sem acesso direto ao Windows Platform registry (apenas via “Brokered Windows Runtime Component (BWC)”) – Aplicações que (supostamente) Sem acesso ao sistema de podem ser executadas em ficheiros exceto à pasta da qualquer Plataforma Windows aplicação PC, Windows tablet, Xbox – Forçadas a usar a API Windows – Disponíveis através da Windows Store no formato APPX Runtime (winRT) tasklist /APPS – Aplicações devem explicitar os recursos que usam (microfone, camera, etc.) – Aplicações podem usar o sistema de notificações, “live tiles” (W10), Windows Timeline (c) Patricio Domingues 52 Aplicações UWP (#2) Lista aplicações UWP (live box) Pastas – Powershell – Sistema: Get-AppxPackage C:\Windows\SystemApps – Exemplos – Instaladas: “C:\Program Get-AppxPackage | Select Name, Files\WindowsApps” PackageFullName |Format-Table Sem acesso mesmo para -AutoSize administrador Get-AppxPackage |select Name, Dono da pasta é a conta (interna) Version, Status, ProviderName, “TrustedInstaller” Source, FromTrustedSource, O “TrustedInstaller” está FastPackageReference| Export- associado ao serviço “Windows Csv -Encoding utf8 -delimiter ";“ - Module Installer” Path a.csv Get-AppxPackage -AllUsers | Export-Csv –Path Contar nº de APPX – Tasklist /apps | find /c "." (c) Patricio Domingues 53 Aplicações UWP (#3) Artefactos por utilizador – C:\Users\%username%\AppData\Local\Packages Exemplo (c) Patricio Domingues 54 Aplicações UWP (#4) APPX instaladas +info: GitHub - ydkhatri/Appx- Duas bases de dados SQLite3 Analysis: Scripts and tools created – C:\ProgramData\Microsoft\Windows for appx analysis talk (Magnet \AppRepository\Packages summit 2019) StateRepository-Machine.srd StateRepository-Deployment.srd – Possibilitam a listagem das aplicações instaladas – Cada aplicação tem ainda um ficheiro de registry “settings.dat” %LocalAppData%\Packages\\Settings – As APPs usam o ficheiro “swapfile.sys” para memória virtual (c) Patricio Domingues 55 SERVIÇO BITS (BITSADMIN.EXE) (c) Patricio Domingues 56 Serviço BITS (#1) BITS Suporte para ficheiros de – Background Intelligent Transfer elevadas dimensões Service Empregue pelo Windows – Serviço do Windows para Update transferência de ficheiros em Empregue por outras segundo plano (background) aplicações Possibilita o agendamento – Firefox, Adobe, Google Chrome, Microsoft Edge, de downloads/uploads, por OneDrive, exemplo, quando a ligação à internet estiver com pouco uso Tem capacidade para retomar operações (e.g., download interrompido) (c) Patricio Domingues 57 Serviço BITS (#2) BITS – sintaxe na linha de comando – Descarregar ficheiro bitsadmin /transfer NomeDaTarefa /download /priority normal URL PATH_ficheiro_local Caminho completo Exemplo bitsadmin /transfer RadaresLRA /download /priority normal "https://radaresavista.pt/wp- content/uploads/2020/11/Distrito-Leiria.pdf" c:\temp\radares_LRA.pdf (c) Patricio Domingues 58 Serviço BITS (#3) Serviço BITS – Determinar estado corrente do serviço BITS – sc query bits Exemplo – sc query bits (c) Patricio Domingues 59 Serviço BITS (#4) Serviço pode ser empregue por software malicioso para “exfiltrar” dados – LOL: Living Of the Land – Usar as ferramentas existentes no próprio sistema atacado Como aceder ao registo de transferências efetuadas? – Windows Event Log (c) Patricio Domingues 60 Serviço BITS (#5) Como aceder ao registo de transferências efetuadas? – Base de dados em: C:\ProgramData\Microsoft\Network\Downloader – Ficheiros “qmgr.db” e “edb.log” Ambos são ficheiros do tipo ESE (Extended Storage Engine) (c) Patricio Domingues 61 Serviço BITS (#6) Extrair dados da base de dados qmgr.db – https://github.com/fireeye/BitsParser/tree/master Uso – python BitsParser.py -i qmgr.db Ativar o modo de “carving” (recuperar entradas apagadas ainda existentes na base de dados) Ativar “carving” Resultados em formato JSON – python BitsParser.py --carvedb -i qmgr.db (c) Patricio Domingues 62 REGISTRY DO WINDOWS (c) Patricio Domingues 63 Registry do Windows (#0) ▪ Registry ▪ Base de dados hierárquica introduzida no Windows 95 Substituir config.sys, autoexec.bat e ficheiros.ini ▪ Foi sendo alterado nas sucessivas versões do Windows ▪ Contém informação sobre hardware, sistema operativo, configurações (programas, utilizadores), serviços em execução, atividade dos utilizadores,… Exemplos: lista de ficheiros recentemente empregues, etc. lista de dispositivos USB recentemente ligados ao computador … ▪ Fonte importante de informação para administração de sistemas/investigação forense ▪ Pode ser manipulado por software malicioso para i) ocultar presença e ii) garantir persistência 64 Registry do Windows (#1) ✓Registry – Interage com o sistema operativo – Interage com muitas das aplicações ▪ Guardar e gerir os dados de configuração das aplicações, de modo a persistirem ✓Registry guarda um elevado volume de dados – É importante saber onde pesquisar para evitar ficar perdido com tantos dados… ✓A nível do sistema operativo, a gestão do registry está a cargo do configuration manager (c) Patricio Domingues 65 Registry do Windows (#2) ▪ Estrutura do registry ▪ Organizado em “hives” (colmeias) ▪ Os “hives” contém chaves ▪ As chaves contém valores – pares chave/valor ▪ Cada valor tem três elementos: nome, tipo e dado Registry – tipos de valores https://posts.specterops.io/the-defenders-guide-to-the-windows-registry-febe241abc75 (c) Patricio Domingues 67 Registry do Windows (#3) ▪ Organização em cinco hives principais -- HKEY_ hive → colmeia HKEY_CURRENT_CONFIG HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS Registry do Windows (#4) ✓Organização em cinco hives principais -- HKEY_ #1 - HKEY_CLASSES_ROOT (HKCR) Determina como o Windows reage quando o utilizador lhe solicita uma operação Processos ativos, atalhos, etc. Exemplo: HKEY_CLASSES_ROOT\.docx Associação ficheiros.docx Tipo de ficheiros e programas associados >> Ainda sobre associação de ficheiros (Windows) ▪ Utilitário assoc Lista associação de determinada extensão assoc.txt ➔.txt=txtfilelegacy assoc.zip ➔.zip=CompressedFolder assoc ➔ lista todos os tipos de extensões registadas ▪ Utilitário ftype Sem parâmetros apresenta, para cada tipo de extensão, a linha de comando a ser executada ftype | findstr /i "mp3" VLC.mp3="C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" --started-from-file "%1" WMP11.AssocFile.MP3="%ProgramFiles(x86)%\Windows Media Player\wmplayer.exe" /prefetch:6 /Open "%L" Registry do Windows (#5) #2 - HKEY_CURRENT_USER (HKCU) ▪ Informação associada ao utilizador corrente Diretórios, cores, fundo, configurações, etc. ▪ Vista virtual: não é visível numa captura offline do Registry ▪ HKCU é um alias para HKEY_USERS\{SID} Registry do Windows (#6) #3 - HKEY_LOCAL_MACHINE (HKLM) Configuração para software instalado e para o SO Dados referentes ao hardware detetado e aos drivers carregados pelo SO Hardware instalado, drives ativas, etc. Registry do Windows (#7) #4 - HKEY_USERS (HKU) ▪ Regista configurações (aplicações, sistema, etc.) para todos os utilizadores ativos (incluindo “switched user”) no sistema Impressoras, variáveis do ambiente, imagem de fundo do ecrã, etc. Configurações carregadas quando o utilizador faz log in na máquina ▪ Cada chave está associada a um utilizador identificado com o respetivo SID (SecurityID) ▪ HKU\{SID} mapeia para o ficheiro NTUSER.DAT do utilizador/SID ▪ HKU\{SID}_Class mapeia para o ficheiro USRCLASS.DAT do utilizador/SID Registry do Windows (#8) #5 - HKEY_CURRENT_CONFIG (HKCC) Registos sobre a configuração atual do sistema Alias para HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current\ Registry do Windows (#9) ▪ Ao contrário do que aparenta o regedit, o registry é mantido em vários ficheiros do sistema HKEY_LOCAL_MACHINE\SYSTEM : \system32\config\system HKEY_LOCAL_MACHINE\SAM: \system32\config\sam HKEY_LOCAL_MACHINE\SECURITY: \system32\config\security HKEY_LOCAL_MACHINE\SOFTWARE: \system32\config\software HKEY_USERS\UserProfile: \winnt\profiles\username HKEY_USERS.DEFAULT: \system32\config\default ▪ Resumindo: SYSTEM, SECURITY, SOFTWARE, SAM, DEFAULT ▪ Hives associados ao utilizador ▪ \Users\username\NTUSER.DAT ▪ \Users\username\AppData\Local\Microsoft\Windows\USRCLASS.DAT ▪ Existem HIVE voláteis (mantidos na memória pelo SO) HKEY_LOCAL_MACHINE\HARDWARE: hive em memória HKEY_LOCAL_MACHINE\SYSTEM\Clone: hive em memória Chave que regista a localização dos hives do registry >> Registry do Windows (#10) HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist Chave que contém a lista dos ficheiros onde estão localizados os ficheiros do Registry Registry – hives - resumo ✓Resumo – HKEY_CLASSES_ROOT: Informações sobre software e interface do utilizador – HKEY_CURRENT_USER: Dados de configuração do utilizador com sessão ativa – HKEY_LOCAL_MACHINE: Informações específicas do hardware da máquina – HKEY_USERS: Dados de configuração para todos os utilizadores – HKEY_CURRENT_CONFIG: Configuração corrente do sistema (c) Patricio Domingues 77 INTERAÇÃO COM O REGISTRY (c) Patricio Domingues 78 Leitura do registry - reg query ▪ Utilitário reg [linha de comandos] Permite leitura e alterações no registry Leitura: reg query Exemplo reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist \REGISTRY\MACHINE\HARDWARE REG_SZ \REGISTRY\MACHINE\BCD00000000 REG_SZ \Device\HarddiskVolume2\Boot\BCD \REGISTRY\MACHINE\SOFTWARE REG_SZ \Device\HarddiskVolume3\Windows\System32\config\SOFTWARE (…) ▪ Documentação ▪ https://technet.microsoft.com/en-us/library/cc742028.aspx Exportar chave do registry: reg export ▪ reg export nomeChave ficheiro Exporta, em formato de texto, o contéudo da chave para o ficheiro espeficado Exemplo reg export HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist out.txt Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist] "\\REGISTRY\\MACHINE\\HARDWARE"="" "\\REGISTRY\\MACHINE\\SYSTEM"="\\Device\\HarddiskVolume3\\Windows\\System32\\config\\SYSTEM" "\\REGISTRY\\MACHINE\\SOFTWARE"="\\Device\\HarddiskVolume3\\Windows\\System32\\config\\SOFTWARE" "\\REGISTRY\\USER\\.DEFAULT"="\\Device\\HarddiskVolume3\\Windows\\System32\\config\\DEFAULT" "\\REGISTRY\\MACHINE\\SECURITY"="\\Device\\HarddiskVolume3\\Windows\\System32\\config\\SECURITY" "\\REGISTRY\\MACHINE\\SAM"="\\Device\\HarddiskVolume3\\Windows\\System32\\config\\SAM" (…) ▪ Documentação https://technet.microsoft.com/en-us/library/cc742017.aspx Registry Editor - regedit ✓Aplicação para navegar/pesquisar/alterar o Registry (c) Patricio Domingues 81 RegScanner - NirSoft ▪ Ferramenta do sistema regedit tem função de pesquisa Funcionalidade limitada ▪ RegScanner (nirsoft) http://www.nirsoft.net/utils/regscanner.html Análise interativa ao Registry RegistryExplorer – Utilitário desenvolvido pelo Eric Zimmerman – Numerosas funcionalidades – Permite Análise Live system (administrador) Análise offline, carregando- se os ficheiros do Registry … https://ericzimmerman.github.io/# !index.md (c) Patricio Domingues 83 RegRipper ▪ Porque é importante conhecer a localização dos ficheiros do registry? Ferramentas forense permitem a análise desses ficheiros Exemplo: regripper ▪ Ferramenta PERL para extração de conteúdo do Registry – Plugins escritos em PERL ▪ Interface gráfica sofrível ▪ Empregue internamente pelo Autopsy ▪ Linha de comando –./rip.exe -r NTUSER.DAT -p userassist –./rip.exe -l # listagem de módulos REGISTRY 32 E 64-BIT “WOW6432NODE” (c) Patricio Domingues 86 Registry – Windows 32 vs. 64 bits (#1) ✓ Aplicações de 32 bits não estão obviamente preparadas para ambientes de 64 bits – O ambiente precisa de ser adaptado ✓ Na versão 64 bits do Windows, o registry está dividido em duas partes: – Chaves 32 bits – Chaves 64 bits ✓ Muitas das chaves 32 bits têm o mesmo nome do que as chaves de 64 bits ✓ O W64 disponibiliza chaves distintas para aplicações de 32 bits vs 64 bits (c) Patricio Domingues 87 Registry – Windows 32 vs. 64 bits (#2) ▪ No Windows 64 bits, as chaves disponibilizadas às aplicações de 32 bits estão em: KEY_LOCAL_MACHINE\Software\WOW6432Node ▪ Limitação importante – Software (forense) de 32 bits não tem acesso ao espaço registry de 64 bits – Software 64 bits acede sem limitações ao WOW6432Node (c) Patricio Domingues 88 EXE DE 32 OU 64 BITS? (c) Patricio Domingues 89 EXE: 32 ou 64 bits (#1) ✓Análise do EXE com editor hexadecimal Marcador de 32 bits Marcador de 64 bits (c) Patricio Domingues 90 EXE: 32bits ou 64bits? (#2) ✓Ferramenta exiftool (https://exiftool.org/) – Lista os metadados de um ficheiro – Reconhece um elevado número de formatos ✓Exemplo Nome do EXE Exe de 32 bits Marcador de 32 bits (c) Patricio Domingues 91 EXE: 32bits ou 64bits? (#3) ✓Ferramenta trid (https://mark0.net/soft-trid-e.html) – Analisa ficheiros para determinar o tipo. – Reconhece um elevado número de formatos (>18000) ✓Exemplo (c) Patricio Domingues 92 Registry e afins MARCADORES TEMPORAIS (c) Patricio Domingues 93 Marcadores temporais (#1) ▪ Marcadores temporais Exemplos de formatos ▪ Data/hora – UNIX EPOCH (SECONDS) ▪ Existem múltiplos formatos para Inteiro com sinal de 32 bits EPOCH: 1 janeiro 1970 00h00 GMT representação de marcadores Unidade de contagem: segundo temporais através de um número Existe UNIX MILLISECONDS (JavaTime, Int64) e UNIX MICROSECONDS (Int64) ▪ Representação através de string é pouco eficiente – Microsoft FILETIME64 ▪ "2020-11-02 13:21:38“ EPOCH: 1 janeiro 1601 00h00 GMT ▪ UNIX seconds (int32): 1604323298 Unidade de contagem: 100 ns ▪ Filetime (int64): 132487968980000000 – WebKit (Safari)/Chrome EPOCH: 1 janeiro 1601 00h00 GMT ▪ Dois elementos básicos Unidade de contagem: microsegundos ▪ Origem (tempo zero), usualmente – Struct System Time (128 bits) designado por EPOCH WORD wYear; WORD wMonth; WORD ▪ Unidade de contagem wDayOfWeek; WORD wDay; WORD wHour; ▪ Segundo, 1/10 de segundo, intervalos de WORD wMinute; WORD Second; WORD 100 ns, etc. wMilliseconds; 12 (hora) – EX: e407080001001f000b0015001c00ff00 21 (min.) 07E4=2020 8 (mês) 1 (2ª feira) 31 (dia mês) Marcadores temporais (#2) ▪ Existem vários formatos de Como descodificar valores? marcadores temporais no Registry – Ferramenta DCODE https://www.digital-detective.net/dcode/ ▪ Exemplo ▪ HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profil es\ ▪ Date created: ▪ E407080001001F000B0015001C00FF00 ▪ System Time 128: 2020-08-31 11:21:28.2550000 Z cyberchef.io – Conversor para Unix timestamp e Microsoft – Silisoftware (todos os formatos) Filetime https://www.silisoftware.com/tools/date. php – Utilitário w32tm (Filetime64) w32tm /ntte FILETIME64 Marcadores temporais (#3) ✓Exemplo – HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\TelemetryController 132817350018518822 (c) Patricio Domingues 96 Salvaguarda automática do registry Desativado a partir do Windows 18.03 ▪ Windows 7/Windows 10 ▪ Processo RegIdleBackup que efetua salvaguarda do registry todos os 10 dias (valor por omissão) ▪ Útil para fins de perícia forense ▪ Diretório ▪ C:\Windows\System32\config\Reg Back ▪ Tarefa agendada ▪ schtasks.exe /query /v /FO CSV MONITORIZAR ATIVIDADE NO REGISTRY (c) Patricio Domingues 98 Monitorizar atividade no Registry (#1) ✓ O utilitário procmon (SysInternals) permite monitorizar a interação de uma aplicação com o SO – Interação com o Registry, sistema de ficheiros, rede, etc. – Exemplo ▪ Permite monitorizar os acessos ao registry por parte dos processos (c) Patricio Domingues 99 Monitorizar atividade no Registry (#2) ✓ Uso do utilitário sysmon (sysinternals.com) – Pode ser empregue para monitorizar eventos ▪ Instalação como serviço Windows ▪ Requer ficheiro XML de configuração ✓ Ativação sysmon.exe -c ▪ Mostra a configuração por omissão sysmon.exe -accepteula -i sysmonconfig- export.xml ▪ sysmonconfig-export.xml é o ficheiro de configuração XML ▪ O sysmon escreve a informação para o Windows Event log – Applications and Services\Microsoft\Windows\Sysmon (c) Patricio Domingues 100 Monitorizar atividade no Registry (#3) ✓ Desativação do sysmon – sysmon.exe -u ✓ Ficheiro de configuração XML tem um sintaxe “densa” ✓ Exemplo de ficheiro de configuração recomendado – Swift On Security – https://github.com/SwiftOnSecurity/sysmon- config/blob/master/sysmonconfig-export.xml (c) Patricio Domingues 101 REGISTRY – ARTEFACTOS FORENSES (c) Patricio Domingues 102 Utilizador corrente e o registry ▪ Ficheiro NTUSER.DAT guarda todos os valores do registry de um determinado utilizador ▪ Quando o utilizador efetua login, é criado HKEY_CURRENT_USER ▪ Útil para investigação forense pois permite determinar as ações do utilizador Exemplo listas MRU MRU: Most Recently Used ▪ Exemplo de análise via Regripper 103 rip.exe -r NTUSER.DAT -p userassist Execução automática de aplicações (#1) ✓ Várias chaves do registry registam as aplicações que são lançadas automaticamente. ✓ Exemplo: – HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run (c) Patricio Domingues 104 Execução automática de aplicações (#2) ✓ Lista de chaves do registry associadas ao arranque automático de aplicações – 1. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run: ▪ Aplicações lançadas automaticamente para todos os utilizadores – 2. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce: ▪ Similar à chave “RUN”, mas apenas é efetuada uma execução após o arranque do sistema operativo. Útil para configuração de aplicações – 3. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run: ▪ Chave com entradas para aplicações que devem ser executados automaticamente para o utilizador atual quando inicia a sessão – 4. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce: ▪ Semelhante à chave 'RunOnce' na secção da máquina local, esta chave contém entradas para programas que devem ser executados uma vez para o utilizador atual após iniciar sessão – Escalonador de tarefas (task scheduler) ▪ Embora não seja estritamente uma chave do registry, o escalonador de tarefas pode ser usado para agendar tarefas e programas para serem executados automaticamente em momentos específicos ou durante eventos específicos Chaves do registry e escalonador de tarefas podem ser empregue por algum software malicioso para ganhar persistência no sistema (c) Patricio Domingues 105 Execução de aplicações no arranque do sistema (#3) ▪ Utilitário autoruns (sysinternals.com) ▪ Listagem exaustiva dos programas lançados no arranque ▪ Lista o conteúdo das chaves do registry empregues no arranque ▪ Elevada utilidade LISTA MRU (MOST RECENTLY USED) Listas MRU MRU – Most Recently Exemplos Used – Menus de ficheiros: algumas aplicações têm uma opção "Abrir – Lista que regista os itens mais Recentes" que exibe uma lista de recentemente ficheiros recentemente abertos. Esta acedidos/utilizados lista é uma lista MRU. Ficheiros, aplicações, – Barras de Tarefas e Menus Iniciar: o documentos,… Windows tem uma lista de ficheiros e aplicações recentes na barra de – Listas MRU existem em tarefas ou no menu Iniciar aplicações (e.g., Word, Excel, – Editores de Texto: Alguns editores de etc.) e no sistema operativo texto têm uma lista MRU que exibe – Permitir aos utilizadores acesso ficheiros recentemente abertos para navegação rápida rápido aos ficheiros ou ações – (…) recentes (c) Patricio Domingues 109 Listas MRU #1 - (exemplo) ▪ MRU - Entradas associadas a determinadas ações do utilizador ▪ Exemplo – chave HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU Regista lista de comandos que o utilizador digitou na interface “start / run” reg export HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU a.txt Listas MRU #2 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU ▪ Regista lista de comandos que o utilizador digitou na interface “start / run” Artefactos MRU (#1) MRU - Most Recently Used – Registam interação do Utilizador com pastas, ficheiros e aplicações executadas com o Windows “RUN” – Podem ser relevantes no âmbito de uma análise forense – Muitos dos elementos são guardados no registry (c) Patricio Domingues 112 Artefactos MRU (#2) Exemplos – Exemplo #1 – Windows Explorer Computer\HKEY_CURRENT_USER \Software\Microsoft\Windows\C urrentVersion\Explorer\RecentD ocs – Exemplo #2 – ComDlg32 Acesso a ficheiros (abrir/gravar) através da janela de diálogo Software\Microsoft\Windows\CurrentVersion \Explorer\ComDlg32 – Exemplo #3 – RunMRU Execução de aplicações via Janela “RUN” (c) Patricio Domingues 113 Organização MRU no registry Exemplo “.mp3” Ficheiro “beepbeep.mp3” – HKCU\Software\Microsoft\Windows\ CurrentVersion\Explorer\RecentDocs \.mp3 – A entrada “MRUListEx” indica a ordem das entradas (do mais recente para o mais antigo) – Neste exemplo, a entrada mais recente é a 2 (hexadecimal). 02: entrada mais recente (c) Patricio Domingues 114 Análise MRU Uso do RegRipper – Analisar NTUSER.DAT Existe no diretório do Utilizador (c:\USERS\...\N TUSER.DAT) Mandar executar o RegRipper (c) Patricio Domingues 115 Utilitário “RecentFilesView” / NirSoft ▪ RecentFilesView / Nirsoft Interface gráfica que mostra lista com Windows Explorer / janela “Open/Save”: Nome dos últimos ficheiros abertos (pelo Word, Excel, etc.) Nome dos últimos diretórios visitados Toda essa informação existe no registry ▪ Sítio: http://www.nirsoft.net/utils/recent_files_view.html Caso de estudo “TypedPath” ÚLTIMOS CAMINHOS/COMANDOS INSERIDOS NO FILE EXPLORER (c) Patricio Domingues 117 Chave TypedPaths Os caminhos explicitamente escritos no Windows Explorer são guardados na chave HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths\ Extração reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths\ /s HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths url1 REG_SZ cmd url2 REG_SZ C:\Users\User\OneDrive - IPLeiria\ url3 REG_SZ C:\Windows\System32\cmd.exe url4 REG_SZ powershell Lista “Most Recently Used” (MRU) (c) Patricio Domingues 118 USERASSIST 119 Chave “UserAssist” (#1) ▪ Registo de programas gráficos (GUI) lançados através do Windows Explorer ▪ Existe desde Windows NT 4 ▪ Formato é frequentemente consoante a versão do Windows… ▪ Dados guardados na chave UserAssist do registry ▪ Uma chave por cada utilizador (ntuser.dat) ▪ Caminho completo – HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist CEBFF5CD-ACE2-4F4F-9178-9926F41749EA (c) Patricio Domingues 120 Chave “UserAssist” (#2) ▪ Subchaves do UserAssist são GUID ▪ Exemplo: ▪ {CEBFF5CD-…}: execução de ficheiro EXE ▪ {F4E57C4B-…} : execução a partir de atalho – “Name” codificado em ROT13 ▪ Cifra de César:+13 ▪.exe=.RKR;.lnk=.YAX – Exemplo ▪ {0139Q44R-6NSR-49S2-8690-3QNSPNR6SSO8}\Fxlcr cnen Rzcerfnf.yax ▪ {0139D44E-6AFE-49F2-8690-3DAFCAE6FFB8}\Skype para Empresas.lnk ✓ E {0139D44E-6AFE-49F2-8690-3DAFCAE6FFB8}? – %ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs ▪ FOLDERID_CommonPrograms ▪ Fonte: https://docs.microsoft.com/en-us/windows/desktop/shell/knownfolderid 121 Chave “UserAssist” (#3) ▪ E o conteúdo da chave count? – Várias métricas (formato binário) ▪ 72 bytes no W7/W10/W11 ▪ Número de execuções ▪ Date/hora do início da execução (format filetime 64 bits = 100-nanosegundos desde 1 jan. 1601) 20.8A.27.EE.37.A5.D4.01 (Little Endian) ➔ 01.D4.A5.37.EE.27.8A.20 (Big Endian) 01.D4.A5.37.EE.27.8A.20 (hex) = 131911948737940000 (decimal) Formato filetime: (c) Patricio Domingues 122 F0.88.4A.8B.C7.DC.D8.01 – little Endian 01.D8.DC.C7.8B.4A.88.F0 – big Endian Microsoft Filetime: 133098938600950000 Mon 10 October 2022 16:44:20 UTC (c) Patricio Domingues 123 Tradução de GUID ▪ https://www.aldeid.com/wiki/Windows-userassist-keys (c) Patricio Domingues 124 Configuração UserAssist ▪ UserAssist pode ser desativado – regwrite, REG_DWORD, HKCU, Software\Microsoft\Windows\CurrentVersion\Explorer\Us erAssist\Settings, NoLog, 1 ▪ A codificação ROT13 pode ser desativada – regwrite, REG_DWORD, HKCU, Software\Microsoft\Windows\CurrentVersion\Explorer\Us erAssist\Settings, NoEncrypt, 1 (c) Patricio Domingues 125 Limitações “UserAssist” ✓“UserAssist — with a pinch of Salt — As an “Evidence of Execution” – O autor identifica uma situação em que abrir a pasta que contém o atalho para a aplicação desencadeia registo no “UserAssist” (incremento do contador count em uma unidade) ▪ A aplicação não é executada! – O autor identifica ainda um número anormal de entradas no UserAssist com “count” a zero, sendo que correspondem a aplicações frequentemente empregues ▪ E.g., notepad (c) Patricio Domingues 126 Registry Explorer ✓Registry Explorer – Ferramenta gráfica de acesso ao Registry – Descodifica o ROT13 do UserAssist de forma transparente (c) Patricio Domingues 127 Ferramentas UserAssist (#1) ▪ Ferramenta UserAssistView (Nirsoft) – http://www.nirsoft.net/utils/userassist_view.html (c) Patricio Domingues 128 Ferramentas UserAssist (#2) ▪ UserAssist (Didier Stevens) – https://blog.didierstevens.com/programs/userassist/ – Ferramenta poderosa ▪ Descodifica os campos binários ▪ Permite trabalho sobre registo offline – Ficheiro NTUser.dat (c) Patricio Domingues 129 CHAVES SHELLBAGS (c) Patricio Domingues 130 Chaves ShellBags NTUSER.DAT (WinXP) Utilizador interage com o HKCU\Software\Microsoft\Windows\Shel Windows Explorer lNoRoam\BagMRU – Alguns dados registados USRCLASS.DAT (>= Win 7) referents às pastas a que o – %LOCALAPPDATA%\Microsoft\Windows\Usr Class.dat utilizador acede e a – C:\Users\USERNAME\AppData\Local\ parâmetros de Microsoft\Windows\UsrClass.dat configuração HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\S Tamanho e posição da hell\BagMRU Janela, data/hora de HKCU\Software\Classes\Local acesso, … Settings\Software\Microsoft\Windows\S hell\Bags – Esses dados são guardados no registry em chaves Dados guardados em formato designadas por ShellBags hexadecimal (c) Patricio Domingues Formato dos dados >> 131 Shellbags - exemplo (#1) HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU drives do PC MRUListExt: entrada “índice” que referencia as restantes entradas NOTA: 0x36 (hexadecimal) = 54 (decimal) (c) Patricio Domingues NODE 0x36 (54 decimal) >> 132 Shellbags - exemplo (#2) HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU\ (c) Patricio Domingues 133 Ferramentas ShellBags (#1) Utilitário SBECmd.exe sbecmd -d dir_com_USRDAT --csv SBEDIR_CSV – -d : Processa ficheiro USRDAT existente na DIR – --csv : pasta para onde devem ser escritos os ficheiros CSV (c) Patricio Domingues 134 Ferramentas ShellBags (#2) ShellBags Explorer (c) Patricio Domingues 135 ShellBags e arquivos ZIP O Windows Explorer tem “Navegar” um arquivo ZIP suporte nativo para acesso a no Windows Explorer arquivo ZIP (desde o Windows Me) – Arquivo ZIP podem ser “navegados” como se se tratassem de pastas normais – As interações com arquivos Interação fica registada ZIPs ficam registadas no no ShellBags ShellBags 136 ShellBags e arquivos compactados (c) Patricio Domingues Alterações no W11, Teste versão 22H2 (setembro – Abertura de um arquivo 7Z no 2023) Windows Explorer – Uso do ShellBags Explorer – Foi adicionado suporte nativo (Zimmerman) no Windows Explorer para a leitura de formatos de arquivos – Assinalado a Vermelho: compactados ShellBags do acesso ao 7Z.tar,.tar.gz,.tar.bz2.tar.zst, tar.xz,.tgz.tbz2,.tzst,.txz.rar,.7z ZST: algoritmo de compactação ZStandard desenvolvido pela Meta (Facebook) https://www.bleepingcomputer.com/news/microsoft/windows-11-adds-support-for-11-file-archives-including-7-zip-and-rar/ 137 FEATURE USAGE (c) Patricio Domingues 138 FeatureUsage (#1) Artefacto associado à Contém várias subchaves barra de tarefas – AppBadgeUpdated Artefacto existente no Nº de atualizações ao badge (info da taskbar) da ficheiro registry respetiva aplicação NTUSER.dat – 266 badges Permite ter conhecimento que a – Chave registry associado à APP existe e tem atividade conta do utilizador – HKEY_USERS\S- …\Software\Microsoft\Windows – AppLaunch \CurrentVersion\Explorer\Fea Registe nº de vezes em que tureUsage uma aplicação fixa na taskbar (“pinned”) foi aberta (c) Patricio Domingues 139 FeatureUsage (#2) AppSwitched TrayButtonClicked – Nº de vezes que o – Contabiliza os cliques utilizador clicou botão botão esquerdo do rato esquerdo no retângulo da nos seguintes elementos: aplicação aberta na taskbar ShowJumpView – Nº de vezes que o utilizador clicou no botão direito para ver a JumpList (c) Patricio Domingues 140 FeatureUsage (#3) FeatureUsage – Dados recolhidos para efeitos de Windows Telemetry Referência – “Reconstructing User Activity for Forensics with FeatureUsage”, Oleg Skulkin, Senior Digital Forensics Analyst at Group-IB (https://www.group-ib.com/blog/featureusage) (c) Patricio Domingues 141 MUI - Multilingual User Interface CACHE MUI PG – ISCF Patricio Domingues 142 Sistema MUI ▪ MUI = Multilingual User Interface ▪ Componente do Windows associado ao suporte a múltiplos idiomas (EN, PT, etc.) ▪ Internacionalização (i18n) de software " Cache MUI (#1) ▪ MUICache ▪ Chaves do registry ▪ Existe desde Windows 2000 ▪ W2000, Windows XP, Server 2003 ▪ Sempre que se inicia uma aplicação gráfica, HKEY_CURRENT_USER\Software\Microsoft\ o SO regista no registry: Windows\ShellNoRoam\MUICache ▪ Caminho do executável ▪ Windows Vista e seguintes ▪ Nome da aplicação HKEY_CURRENT_USER\Software\Classes\Local ▪ Empresa produtora do software Settings\Software\Microsoft\Windows\Shell\Mui Cache ▪ SO extrai metadados do ficheiro executável ▪ FriendlyAppName e CompanyName ▪ Artefacto associado ao utilizador ▪ Ficheiro UsrClass.DAT ▪ Exemplo "C:\\Program Files\\Mozilla Firefox\\firefox.exe.FriendlyAppName"="Firefox" "C:\\Program Files\\Mozilla Firefox\\firefox.exe.ApplicationCompany"="Mozilla Corporation" Cache MUI (#2) ▪ Ferramenta ▪ MUICacheView ▪ Nirsoft RECENTAPPS (WINDOWS 10) (NÃO EXISTE NO WINDOWS 11) (c) Patricio Domingues 146 Registry: RecentApps (#1) ✓ Chave do registry no hive HKCU – HKCU\Software\Microsoft\Windows\CurrentVersion\Search\RecentApps ✓ Regista aplicações e alguns dos ficheiros acedidos por cada aplicação – Aplicação: LaunchCount; AppPath; LastAccessedTime (nem sempre) ▪ AppPath: caminho completo para EXE da aplicação ▪ LastAcessedTime: 64-bit filetime UTC/little endian – Apenas aparenta estar preenchido no Windows 10 Pro – Aparentemente não existe no Windows 11 (21H2/22H2/23H2) (c) Patricio Domingues 147 Registry: RecentApps (#2) ✓ Algumas aplicações tem a sub-chave “RecentItems” – Ficheiros “recentemente” acedidos pela aplicação, até ao máximo de 10 ▪ A partir do 10º ficheiro, existe eliminação de entradas ▪ As entradas que ficam aparentam ser as resultantes de ordenação alfabética (não FIFO!) – Não pode ser usado para inferir quais foram os 10 últimos ficheiros acedidos pela aplicação (c) Patricio Domingues 148 Ferramenta NirSoft & Registry LABORATORIO 2 149 nirsoft.net ▪ Sítio com software (freeware) para análise a sistemas Windows http://nirsoft.net/ CASO DE ESTUDO: PEN USB E REGISTRY (c) Patricio Domingues 151 Importância dispositivos USB Na análise digital forense, As PEN não apreendidas é importante que se (numa primeira fase) correm verifique o quanto antes o risco de serem destruídas pelo suspeito se : – Aplica-se a 1. Existem PEN USB que cartões SD e similares estiveram ligados ao ESD dogs: Electronic dispositivos? Storage Detection dogs 2. Se sim, essas PENs foram apreendidas? (c) Patricio Domingues 152 Dispositivos USB para armazenamento dados (1) ▪ Cada dispositivo de armazenamento USB fica registado na seguinte chave do Registry ▪ HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\USBSTOR Dispositivos USB para armazenamento dados (1) ▪ Chaves existentes em: HKEY_LOCAL_MACHINE\System\ControlSet00x\Enum\USBSTOR Substituir x por um número (e.g., 1) ▪ Registo de todos os dispositivos USB com armazenamento que foram ligados à máquina Exemplo: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\... Dispositivos USB para armazenamento dados (2) ▪ O ID do dispositivo pode ser o número de série (único) ▪ Nem todos os dispositivos USB de armazenamento têm nº de série ▪ Forma de consulta do nº de série num sistema ativo ▪ Parte que ocorre após a ultima barra “\” ▪ “AA…” no exemplo SerialNumber vs USBStor (#1) ✓ Será que o valor guardado no registry corresponde ao serial number? – Listagem dos dispositivos USB com recurso ao PowerShell – [lista drives do Sistema] gwmi win32_diskdrive – [lista drives USB] gwmi win32_diskdrive | ? {$_.interfacetype -eq 'USB’} – [lista drives USB, indicando o serialnumber vs pnpdeviceID] gwmi win32_diskdrive | ? {$_.interfacetype -eq 'USB'} | select- object model,pnpdeviceID,serialnumber Nome no Registry NÃO corresponde ao nº de série (c) Patricio Domingues 156 SerialNumber vs USBStor (#2) ✓ Será que o valor guardado no registry corresponde ao serial number? – Não corresponde ao número de série do dispositivo USB – É dito que o valor é criado pelo Windows na 1ª inserção do dispositivo ▪ Windows Assigned Device ID – O número não se mantém quando o mesmo dispositivo é empregue num outro computador(es) ✓ Mais informação – https://www.computerpi.com/the-truth-about-usb-device-serial- numbers-and-the-lies-your-tools-tell/ – https://www.linkedin.com/pulse/forensic-analysts-can-wrong-usb- drives-attached/ (c) Patricio Domingues 157 Ferramenta USBDeview (nirsoft.net) ▪ Visualiza todos os Suporta parâmetros da dispositivos USB que linha de comandos estão/já estiveram ligados – usbview /shtml list.html ao computador Cria lista dos dispositivos ▪ Mostra Windows Number do USB em formato HTML dispositivo – usbview /sxml list.xml ▪ Permite ligação a outras Cria lista em formato XML computadores que não a máquina local ▪ Freeware ▪ Não requer instalação http://www.nirsoft.net/utils/usb _devices_view.html Ferramenta USBOblivion (anti-forense) ▪ Apaga os registos da presença de dispositivos USB na máquina local https://sourceforge.net/projects/usboblivion/ Ainda sobre PEN USB… ✓Ficheiro “C:\Windows\INF\setupapi.dev.log” contém registos referentes a drivers ativados/inibidos pelo Windows ✓ A inserção de uma PEN USB fica registada no ficheiro – exemplo: 2 pens USB no W11-22h2 ✓ A pasta C:\Windows\Inf\ contém outros ficheiros de registo mais antigos (c) Patricio Domingues 160 WLEAPP (#1) ✓ Windows Logs, Events, and Properties Parser - WLEAPP ✓ Ferramenta Python 3 com interface GUI para processamento de alguns artefactos Windows – Tem suporte para processamento do ficheiro setupapi.dev.log – Não processa os restantes ficheiros setupapi.dev.log* – https://github.com/abrignoni/WLEAPP (c) Patricio Domingues 161 WLEAPP (#2) ✓ WLEAPP produz relatório em HTML e ficheiros TSV (c) Patricio Domingues 162 FIM DO CAPÍTULO (c) Patricio Domingues 163