Forense windows registro_sandro_suffert

5,712 views
5,617 views

Published on

Published in: Technology

Forense windows registro_sandro_suffert

  1. 1. Forense em Windows Análise de Registro Sandro Süffert - http://suffert.com CTO, Techbiz Forense Digital Versão:3Criação: 07/03/2009 – Última atualização: 26/09/2010
  2. 2. Forense em Windows• Temas: – A: Aquisição e Análise de Memória (8hs) – B: Análise de Registro (8hs)
  3. 3. Tema B: Material de ReferênciaLivros:I - Windows Forensic Analysis v2, Harlan Carvey Capítulos 3 – Windows Memory Analysis, Capítulo 4 – Registry AnalysisII - EnCE – The Official Encase Certified Examiner Study Guide, 2nd Edition, Steve BuntingCapítulos 3 – First Response e 9 – Windows Operating System Artifacts e 10 – Advanced Windows - RegistryIII - Malware Forensics – Investigating and Analyzing Malicious Code, James Aquilina, - Eoghan Casey, Cameron MalinCapítulos 3 – Memory Forensics: Analyzing Physical and Process Memory Dumps e 9 – Analysis of a Suspect ProgramIV – Microsoft Windows Registry Guide, 2nd EditionV - Windows Registry Forensics – Harlan Carvey
  4. 4. Tema B: Material de ReferênciaPapers / Documentações:“Inside the Registry” Windows NT Magazine – Mark Russinovichhttp://technet.microsoft.com/en-us/library/cc750583.aspxWindows 7 UserAssist Registry Keys - Didier Stevens: Into The Box Magazine.http://intotheboxes.wordpress.com/2010/04/05/into-the-boxes-issue-0x1/Guide To Profiling USB Device Thumbdrives and Drive Enclosure on Win7, Vista, and XP – DVD 3http://blogs.sans.org/computer-forensics/files/2009/09/USBKEY-Guide.pdfhttp://blogs.sans.org/computer-forensics/files/2009/09/USB_Drive_Enclosure-Guide.pdfRegRipper Documentation - http://regripper.net/RR/Documents/Documents.zip - DVD 3 Registry Reference Deleted Apps ACMRU Windows Forensic Analysis - RegRipper version 2.02 Cheat SheetAccessData Registry Viewer Documentation - DVD 3: http://www.accessdata.com/supplemental.html Registry Quick Find Chart Registry Offset UserAssist Registry KeyForensic Analysis of the Windows Registry in Memory - Brendan Dolan-Gavitt: http://www.dfrws.org/2008/proceedings/p26-dolan-gavitt.pdfRecovering Deleted Data From the Windows Registry - Timothy Morgan: http://www.dfrws.org/2008/proceedings/p33-morgan.pdfForensic Analysis of Unnalocated Space in Windows Registry Hive Files – Jolantha Thomasen (University of Liverpool) http://www.sentinelchicken.com/data/JolantaThomassenDISSERTATION.pdf
  5. 5. Tema B: Ferramentas1) Virtual Machines:1.0) VMWare Workstation, Server ou Player: http://www.vmware.com - DVD 21.1) VM SIFT Workstation 2.0: https://computer-forensics2.sans.org/community/siftkit/ - DVD 01.2) VM de Laboratório: “XPDUMMY” – DVD 1 e 22) Ferramentas Free/GPL:2.1 - FTKImager - http://www.accessdata.com/downloads.html#FTKImager – DVD 22.2 - Process Monitor - Sysinternals - http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx - DVD 32.4 – Reg Ripper (+ RegSlack, + RegScan, +RipXp) - http://regripper.net/?page_id=150 - DVD 32.5 – Registry Viewer - AccessData: http://www.accessdata.com/downloads.html#ForensicProducts – DVD 32.6 – Registry Summary Report Files - AccessData: http://www.accessdata.com/downloads/rsrfiles/AllRSRFiles.zip - DVD 32.7 – RegExtract (GUI/CLI) – WoanWare: http://www.woanware.co.uk/downloads/ - DVD 32.8 – RegShot - http://sourceforge.net/projects/regshot/files/ - DVD 32.9 – RegLookup - http://projects.sentinelchicken.org/reglookup/download/ - DVD 32.10 – USBDeview - http://www.nirsoft.net/utils/usb_devices_view.html - DVD 32.11 – USBDeviceForensics - http://www.woanware.co.uk/usbdeviceforensics/ - DVD 32.12 – UserAssist - http://blog.didierstevens.com/programs/userassist/ - DVD 32.12 – FGET – https://www.hbgary.com/community/free-tools/ – DVD 22.13 – TimeLord - http://computerforensics.parsonage.co.uk/timelord/timelord.htm - DVD 32.14 – MiTec Windows Registry Recovery – http://www.mitec.cz/wrr.html DVD 33) Ferramentas Comerciais:3.1 – AccessData FTK 3.1 + Registry Viewer – http://www.accessdata.com3.2 – Encase Forensics 6.17 – http://www.guidancesoftware.com UserAssist Decoder V3.3 Enscript - https://support.guidancesoftware.com/forum/downloads.php?do=file&id=832 – DVD 3 Registry Examiner Enpack - https://support.guidancesoftware.com/forum/downloads.php?do=file&id=752 – DVD 3
  6. 6. Organização e Ordenação de dados• Bases: binária (0,1) /decimal (0-9) / hexadecimal (0-F): “Dezoito” = decimal 18 (10+8), hexadecimal 12 (16 + 2), binário = 00010010 (2^2 + 2^4) = (4+16)• Bit/Byte/Word/Dword/Qword: – 1 bit 1 – 4 bits = 1 nibble 0001 – 8 bits = 2 nibbles = 1byte 0000-0001 – 16 bits = 2 bytes = 1 word 0000-0000 0000-0001 – 32 Bits = 4 bytes = 2 words = 1 Dword 0000-0000 0000-0000 0000-0000 0000-0001 – 64 Bits = 8 bytes = 4 words = 2 Dwords = 1 Qword 0000-0000 0000-0000 0000-0000 0000-0000 0000-0000 0000-0000 0000-0000 0000-0001• Ordenação das Unidades (Bit..Word) – Big Endian: leitura a partir do bit mais significativo – esquerda pra direita (Intel) – Little Endian: leitura a partir do bit menos significativo – direita pra esquerda (Motorola)• ASCII (1 byte): 1=0x31, A=0x41 / Unicode (2 bytes) a=0x0061, β = 0x03B2
  7. 7. Registro - definição“A central hierarchical database used in Microsoft Windows9x,Windows CE, Windows NT, and Windows 2000 * used to storeinformation necessary to configure the system for one or moreusers, applications and hardware devices.” Microsoft Computer Dictionary, 5th edition * todas versões modernas do Windows possuem Registro
  8. 8. Registro - definição– Banco de dados hierárquico que contém informações de configuração • Registro em disco (ex: c:windowssystem32config*) • Registro LIVE (Memória) • Registro presente em espaço não alocado e arq. hibernação– Exemplos de informações armazenadas em registro: – Configurações de inicialização – Configurações de Hardware – Configurações de Drivers – Configurações de Usuários – Configurações de aplicações – Dados do usuário logado (current user)
  9. 9. Registro - história– Informações de configuração no DOS e versões iniciais do Windows (até 3.11) eram controladas por arquivos: • autoexec.bat • config.sys • win.ini • system.ini– Definiam que programas eram executados automaticamente e o ambiente do sistema e interação com os usuários
  10. 10. Registro– Nas versões modernas do Windows, estes arquivos em texto claro foram substituídos por um banco de dados central e hierárquico responsável por manter as configurações de: • Sistema Operacional • Aplicações • Dispositivos de Hardware • Usuários
  11. 11. Registro• Administradores podem modificar o registro: – Registry Editor (c:windowsRegedit.exe, ..system32Regedt32.exe) – C:windowssystem32Reg.exe – Group Policy (MMC - ) – System Policy – Registry (.reg) files – WMIC (Windows Management Instrumentation) – VisualBasic script files (Métodos RegRead, RegDelete, RegWrite) http://support.microsoft.com/kb/256986
  12. 12. Registro• No Windows NT e 2000: – o regedit era usado para procurar por chaves de registro, mas não tinha suporte à certos tipos de dados (REG_EXPAND_SZ e REG_MULTI_SZ) – o regedt32.exe não permitia a importação e exportação de arquivos “.reg” (hive files)• A partir do Windows XP e 2003, o regedit.exe possui todas as funcionalidades, e o regedt32.exe apenas o executa.
  13. 13. Registro• Regedit permite que o administrador navegue pela estrutura do registro, a partir de cinco “root hives”:
  14. 14. Registro
  15. 15. Reg.exeC:WindowsSystem32REG.EXEREG Operation [Parameter List] Operation [ QUERY | ADD | DELETE | COPY | SAVE | LOAD | UNLOAD | RESTORE | COMPARE | EXPORT | IMPORT | FLAGS ]Return Code: (Except for REG COMPARE) 0 - Successful 1 - Failed
  16. 16. Registro - Localizações HKCR: Configurações relacionadas a aplicações responsáveis por abertura de diferentes tipos de aplicação / extensões * HKCU: contém o perfil ativo do usuário logado HKLM: informações de configuração de harware e softwares do sistema HKU: contém todos os profiles de usuários do sistema HKCC: contém o perfil de harware utilizado pelo sistema na inicialização HKLMSystem %WINDIR%system32configSystem HKLMSAM %WINDIR%system32configSAM HKLMSecurity %WINDIR%system32configSecurity HKLMSoftware %WINDIR%system32configSoftware* HKCR = HKCUSoftwareClasses + HKLMSoftwareClasses HKLMHardware hive volátil HKLMSystemClone hive volátil HKUDefault %WINDIR%system32configDefault HKEY_USERS<User SID> NTUSER.DAT em Documents and Settings<User> (2000/XP/2003) Users<User> (Vista/7/2008)
  17. 17. Tipos de Dados (Data Types):• REG_BINARY Dados Binários (raw)• REG_DWORD Inteiro de 4-bytes (32-bit)• REG_SZ String de tamanho fixo• REG_EXPAND_SZ String de tamanho variável• REG_MULTI_SZ Múltiplas Strings separadas por espaço ou vírgula• REG_NONE Sem tipo de dados• REG_QWORD Inteiro de 8 bytes (64-bit)• REG_LINK String Unicode nomeando um link simbólico• REG_RESOURCE_LIST Arrays listando uma lista de recursos• REG_RESOURCE_REQUIREMENTS_LIST Arrays listando recursos de hardware para drivers• REG_FULL_RESOURCE_DESCRIPTOR Arrays listando listas de recursos de um dispositivo de harware
  18. 18. Estruturas dos Hives de Registro• Útil para extração de dados relacionados ao registro do arquivo de paginação, memória e espaço não alocado. – Melhor documentação: Inside the Registry, Mark Russinovich - http://technet.microsoft.com/en-us/library/cc750583.aspx
  19. 19. Registro - Estruturas Célula Descrição Célula que contém uma chave de registro, também chamada de ‘key node’. A chave (key cell) contém Key cell uma assinatura (kn = chave, kl = link simbólico), o timestamp do update mais recente, o índice de sua chave-pai, o índice da chave ‘sub-key-list’ que identifica suas sub-chaves, um índice para a ‘security descriptor’ da chave, um índice para uma chave string que especidica o nome de classe da chave, e o nome da chave (ex: CurrentControlSet). Value cell Célula que contém informações sobre o valor da chave. Contém uma assinatura (kv), o tipo do valor (ex: REG_DWORD, REG_BINARY), e o nome do valor (ex: Boot-Execute). A ‘value cell’ também contém o índice para a célula que contém os dados do valor.Subkey-list cell Célula composta por uma lista de indices para ‘key cells’ que são sub-chaves de um pai comum.Value-list cell Célula composta por uma lista de índices para ‘value cells’ que são valores de um pai comum. Security-descriptor cell Célula que contém um ‘security descriptor’. Contém uma assinatura (ks) e um contador de referência que registra o número de ‘key nodes’ que compartilham este ‘security descriptor’.
  20. 20. Estrutura do Hive de Registrofonte: Forensic Analysis of Unnalocated Space in Windows Registry Hive Files – Jolantha Thomasen (University of Liverpool)
  21. 21. Assinaturas de células de registro• Assinaturas (headers)de células: – key cell "nk" – security descriptor cell "sk" – subkey list cell "lk", "lh", "ri", "li" – value cell "vk“• Sem assinatura: – class name cell – value list cell – value data cell fonte: Forensic Analysis of Unnalocated Space in Windows Registry Hive Files – Jolantha Thomasen (University of Liverpool)
  22. 22. Estrutura do Hive - exemplo “The figure shows one base block and two bins. The first bin is empty, and the second bin contains several cells. Logically, the hive has only two keys: the Root key, and a Subkey of Root. Root has two values, Val 1 and Val 2. A subkey-list cell locates the root keys subkey, and a value-list cell locates the root keys values. The free spaces in the second bin are empty cells.” fonte: http://technet.microsoft.com/en-us/library/cc750583.aspx
  23. 23. Estrutura do Hive semelhança com a página de memória“To deal with noncontiguous memory buffers storing hive data in memory, the Configuration Manager adopts astrategy similar to what NTs Memory Manager uses to map virtual memory addresses to physical memoryaddresses.The Configuration Manager employs a two-level scheme, that takes as input a cell index (i.e., a hive file offset)and returns as output both the address in memory of the block the cell index resides in and the address inmemory of the bin the cell resides in. Remember that a bin can contain one or more blocks and that hives growin bins, so NT always represents a bin with a contiguous memory buffer. Therefore, all blocks within a bin occurwithin the same portion of a paged pool.” fonte: http://technet.microsoft.com/en-us/library/cc750583.aspx
  24. 24. Win7 system32configSYSTEMHeaders de estruturas de registro presentes: • regf arquivo de registro • hbin hive bin • nk key node ou key cell
  25. 25. Registro - Offsets DVD3 - Registry Offsets 9-8-08.pdf (AccessData)
  26. 26. Registro - Offsets DVD3 - Registry Offsets 9-8-08.pdf (AccessData)
  27. 27. Chaves de Registro - referências• Registry Quick Find Chart 7-22-08.pdf (AD) • DVD3AccessData_Registry_ViewerRegistry...pdf• Windows Forensics Analysis 2 - regref.xls • DVD3WFA2_Registry_ChartWFA2_ch4_regref.xls • Categorias:
  28. 28. Análise de RegistroAlgumas chaves de registro contém informaçõesimportantes para várias investigações.Outras chaves contém informações relevantes aalguns tipos de investigações, como fraudes,invasões ou uso indevido de recursoscomputacionais.
  29. 29. Lab 0 – Visualização de ArquivosWindows XP:Control Panel -> Folder Options -> ViewWindows 7:Control Panel -> Appearance and Personalization ->-> Folder Options -> Show hidden files and folders 1 2 3
  30. 30. Lab 0 - Teste do ambiente– Logar na máquina virtual “XPDUMMY” • Usuário: administrator • Senha: password– Configurar rede:“host-only / private network”
  31. 31. Lab 0 – Teste do ambiente– Logar na máquina virtual “SIFT 2.0” • Usuário: sansforensics • Senha: forensics– Configurar rede:“host-only / private network”
  32. 32. Lab 1 – FTK Imager (XPDUMMY) Obtenha os arquivos de registro da máquina XPDUMMY
  33. 33. Lab 1 – FTKImager – Máquina Host Obtenha os arquivos de registro da máquina HOST (notebook)
  34. 34. Lab 1 – Visualizando Arquivos
  35. 35. Lab 2 – Tools -Registry Ripper
  36. 36. Lab 2 – Tools – Registry Ripper• Além da versão GUI, é disponível na versão console (windows e linux):
  37. 37. Lab 2 – Registry Ripper: Plugins (-l)
  38. 38. Lab 2 – Registry Ripper: Plugins (-l)
  39. 39. LAB 2 – Registry Ripper - plugins NTUSER.DAT – TypedURLs: URLs Digitadas no Internet Explorer: SOFTWARE – Current Version: Dados do sistema e registro:
  40. 40. LAB 2 – Registry Ripper - plugins
  41. 41. Lab 2 - MuiCachePresente no arquivo NTUSER.DAT – possui lista de aplicações executadas por um usuárioXP: HKCUSoftwareMicrosoftWindowsShellNoRoamMUICacheVista/7: HKCUSoftwareClassesLocal SettingsSoftwareMicrosoftWindowsShellMuiCacheFerramenta para análise de Windows “Live”: http://www.nirsoft.net/utils/muicache_view.html
  42. 42. Lab 2 – MuiCache - RegeditVista/7: HKCUSoftwareClassesLocal SettingsSoftwareMicrosoftWindowsShellMuiCache
  43. 43. Lab 2 – Muicache: RegRipper rip.exe
  44. 44. Lab 2 – MRU Lists• “Most Recent Used” – lista de arquivos acessados recentemente.SoftwareMicrosoftWindowsCurrentVersionExplorerRecentDocs (1)SoftwareMicrosoftSearch AssistantACMru (2)SoftwareMicrosoftWindowsCurrentVersionExplorerMap Network Drive MRU (3)SoftwareMicrosoftMediaPlayerPlayerRecentFileList (4)SoftwareMicrosoftWindowsCurrentVersionExplorerRunMRU (5)SoftwareMicrosoftOffice11.0ExcelRecent Files (6)SoftwareMicrosoftOffice11.0PowerPointRecent (7)Plugins do RegRipper relacionados a MRUs: (1) RECENTDOCS – RecentDocs MRU (por extensão) (2) ACMRU – Search Assistant MRU (3) MNDMRU – Map Network Drive MRU (4) MPMRU – Media Player MRU (5) RUNMRU – Explorer Run MRU (6,7) OFFICEDOCS – MS Office MRU
  45. 45. Lab 2 – MRU Lists MRUList(Ex): (ordem de acesso – útlimos antes)
  46. 46. Lab 2 – Tools – Registry Viewer
  47. 47. Lab 2 – Tools – Registry Viewer
  48. 48. Lab 2 – Tools - Registry Viewer
  49. 49. Lab 2 – Tools - UserAssistEstatísticas da execução de programas via Windows Explorer (NTUSER.DAT)XP – pode ser desabilidado: Vista/7:HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerUserAssistSettingsNolog(DWORD=1)http://blog.didierstevens.com
  50. 50. Lab 2 – UserAssist: RegRipper rip.exe
  51. 51. Lab 2 – Tools – UserAssist HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerUserAssistWindows XP – UserAssist:Cifra - ROT13 (A->N, B->O, ...)Inicia o contador em 5.Windows 7/2008 beta – UserAssist:Cifra – Vignère (key: BWHQNKTEZYFSLMRGXADUJOPIVC)Windows 7/2008 – UserAssist:Cifra – ROT13 / inicia o contador em 0 / contador de foco em aplicações fonte: Windows 7 UserAssist Registry Keys - Didier Stevens: Into The Box Magazine.
  52. 52. Lab 2 – Tools – UserAssist FTK Registry Viewer (XP) 47h = 71d (-5) = 66 TimeLord
  53. 53. Lab 2 – UserAssist HKEY_CLASSES_ROOT - HKEY_LOCAL_MACHINESOFTWAREClassesCLSID GUID Name 0D6D4F41-2994-4BA0-8FEF-620E43CD2812 Internet Explorer 7 75048700-EF1F-11D0-9888-006097DEACF9 system32shell32.dll ... ...“A GUID (globally unique identifier) is a 128-bit integer (16 bytes) that can beused across all computers and networks wherever a unique identifier is required.Such an identifier has a very low probability of being duplicated.” http://msdn.microsoft.com/en-us/library/system.guid.aspx
  54. 54. Lab 2 – Tools Encase: UserAssist
  55. 55. Lab 2 – Tools – Encase - UserAssist
  56. 56. Lab 2 – Tools – RegExtract
  57. 57. Lab 2 – Tools - RegExtract
  58. 58. Lab 2 – Tools – Windows Registry Recovery
  59. 59. Lab 2 – Tools – Windows Registry Recovery
  60. 60. Lab 2 – Tools – Windows Registry Recovery
  61. 61. Lab 3 – Wireless networklist e ssid• XP: MicrosoftWZCSVCParametersInterfaces{GUID} (SOFTWARE Hive)• Vista/7: MicrosoftWindows NTCurrentVersionNetworkList (SOFTWARE Hive)Ref: IntoTheBoxes 2 - http://intotheboxes.wordpress.com/publication-box/
  62. 62. (parênteses) – GeoLocalização• Google Street + skyhookwireless + .. Ref: IntoTheBoxes 2 - http://intotheboxes.wordpress.com/publication-box/
  63. 63. Lab 3 – Browser Helper ObjectsHKLMSoftwareMicrosoftWindowsCurrentVersionExplorerBrowser Helper Objects
  64. 64. Lab 3 – Browser Helper Objects(parênteses) – recurso muito utilizado parainstalação de malware (ex: trojans bancários) http://www.threatexpert.com/report.aspx?md5=ca48963429e3e8e8c1fb1af74bf70ffc
  65. 65. Lab 4 – USB Device Forensics• Sans Institute (Rob Lee) – Cheat Sheets (Manual) • DVD3/Sans USB Guides/• WoanWare USBDeviceForensics (Automático) • DVD3/WoanWare/USBDeviceForensics.exe
  66. 66. fonte: http://forensics.sans.org
  67. 67. Lab 4 – Tool - USBDeviceForensics http://www.woanware.co.uk/usbdeviceforensics/
  68. 68. Lab 5 – Tools - RegShot
  69. 69. Lab 5 – Tools – RegshotNTFSDisableLastAccessUpdate
  70. 70. Lab 6: Live Registryroot@SIFT-Workstation:/usr/local/src/volatility# perl rip.pl -r /media/usb/fdpro_dump/20100817_fdpro_xpdummy_dump.bin@0xe17c9888 -f samParsed Plugins file.Launching samparse v.20080415User Information-------------------------Username : Administrator [500]Full Name :User Comment : Built-in account for administering the computer/domainLast Login Date : Fri Aug 13 21:47:26 2010 ZPwd Reset Date : Wed Jun 27 22:54:58 2007 ZPwd Fail Date : Fri Aug 13 00:59:01 2010 ZLogin Count : 55 --> Password does not expire(...)
  71. 71. Lab 7 – regslackAnálise de estruturas no espaço não alocado (slack) de registro Jolanta Thomassen (University of Liverpool)
  72. 72. Lab 8 – System Restore Points– O Windows XP possui uma funcionalidade chamada System Restore, que mantém pontos de restauração – inclusive do registro - para que seja possível a restauração de configurações no caso de um problema ou pane • Por default um ponto de restauração é criado diariamente pelo serviço System Restore. • Pontos de restauração também são criados quando aplicações ou drivers não assinados são instalados e durante o AutoUpdate.
  73. 73. Lab 8 – System Restore Points• HKLMSOFTWAREMicrosoftWindows NTCurrent VersionSystemRestore – Chave RPGlobalInterval - Valor em segundos (86400 = 1 dia) periodicidade da execução – http://support.microsoft.com/kb/295659
  74. 74. Lab 8 – System Restore Points <= XPVista/7 =>
  75. 75. Lab 8 – System Restore PointsVista/7 =>
  76. 76. Lab 8 – Usrclass.dat - Virtualização– A partir do Windows Vista, quando um usuário sem privilégios de administrador executa uma aplicação que os requer, e tenta escrever em uma chave e registro • Ex: tentativa de escrita em HKLMSoftwareApp, automaticamente será redirecionada para HKEY_USERS{User SID}_ClassesVirtualStoreMachineSoftware– Estas chaves não estão no hive NTUSER.DAT, mas sim em AppDataLocalMicrosoftWindowsusrclass.dat
  77. 77. Lab 8 – Usrclass.dat – Windows 7
  78. 78. Lab 9 – Tool - Encase
  79. 79. Lab 9 – Tool - Encase
  80. 80. Lab 10 – Tool - FTK 3.x + Registry Viewer
  81. 81. Lab 10 – Tool – Registry Viewer
  82. 82. Lab 10 – Tool – Registry Viewer
  83. 83. Sandro Süffert - http://blog.suffert.com CTO, Techbiz Forense Digital

×